///////////////////////////////////////////////////////////////////////////////
-// Name: ole/uuid.cpp
+// Name: src/msw/ole/uuid.cpp
// Purpose: implements Uuid class, see uuid.h for details
// Author: Vadim Zeitlin
-// Modified by:
+// Modified by:
// Created: 12.09.96
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Declarations
// ============================================================================
-#ifdef __GNUG__
-#pragma implementation "uuid.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#pragma hdrstop
#endif
-#include "wx/setup.h"
-
-#if wxUSE_OLE && wxUSE_DRAG_AND_DROP
+#if wxUSE_OLE && (wxUSE_DRAG_AND_DROP || wxUSE_DATAOBJ)
-// standard headers
-#if wxCHECK_W32API_VERSION( 1, 0 )
- #include <windows.h>
+#ifndef WX_PRECOMP
+ #include "wx/msw/wrapwin.h"
#endif
+
#include <rpc.h> // UUID related functions
#include "wx/msw/ole/uuid.h"
// copy ctor
Uuid::Uuid(const Uuid& uuid)
{
- // bitwise copy Ok for UUIDs
- m_uuid = uuid.m_uuid;
+ // bitwise copy Ok for UUIDs
+ m_uuid = uuid.m_uuid;
// force the string to be allocated by RPC
// (we free it later with RpcStringFree)
return *this;
}
+bool Uuid::operator==(const Uuid& uuid) const
+{
+ // IsEqualGUID() returns BOOL and not bool so use an explicit comparison to
+ // avoid MSVC warnings about int->bool conversion
+ return IsEqualGUID(m_uuid, uuid.m_uuid) != 0;
+}
+
// dtor
-Uuid::~Uuid()
-{
+Uuid::~Uuid()
+{
// this string must be allocated by RPC!
// (otherwise you get a debug breakpoint deep inside RPC DLL)
- if ( m_pszUuid )
+ if ( m_pszUuid )
#ifdef _UNICODE
RpcStringFree((unsigned short **)&m_pszUuid);
#else
// can't fail
UuidCreate(&uuid);
-
+
Set(uuid);
}
if ( UuidFromString((wxUChar *)pc, &m_uuid) != RPC_S_OK)
#endif
// failed: probably invalid string
- return FALSE;
+ return false;
// transform it back to string to normalize it
#ifdef _UNICODE
// update m_pszCForm
UuidToCForm();
- return TRUE;
+ return true;
}
// stores m_uuid in m_pszCForm in a format required by