]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/uuid.cpp
Fix compilation with MinGW -std=c++11 option.
[wxWidgets.git] / src / msw / ole / uuid.cpp
index c23c4ca414bc3a95770f747af4555025fa564b62..2153a25391f5135fba51b19a1fa2a807134afcd7 100644 (file)
@@ -1,22 +1,18 @@
 ///////////////////////////////////////////////////////////////////////////////
-// 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>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // 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_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"
@@ -48,8 +42,8 @@
 // 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)
@@ -88,12 +82,19 @@ Uuid& Uuid::operator=(const Uuid& uuid)
   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
@@ -129,7 +130,7 @@ void Uuid::Create()
 
   // can't fail
   UuidCreate(&uuid);
-  
+
   Set(uuid);
 }
 
@@ -143,7 +144,7 @@ bool Uuid::Set(const wxChar *pc)
   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
@@ -155,7 +156,7 @@ bool Uuid::Set(const wxChar *pc)
   // update m_pszCForm
   UuidToCForm();
 
-  return TRUE;
+  return true;
 }
 
 // stores m_uuid in m_pszCForm in a format required by
@@ -170,8 +171,8 @@ void Uuid::UuidToCForm()
 
   wsprintf(m_pszCForm, wxT("0x%8.8X,0x%4.4X,0x%4.4X,0x%2.2X,0x2.2%X,0x2.2%X,0x2.2%X,0x2.2%X,0x2.2%X,0x2.2%X,0x2.2%X"),
            m_uuid.Data1, m_uuid.Data2, m_uuid.Data3,
-           m_uuid.Data4[1], m_uuid.Data4[2], m_uuid.Data4[3], m_uuid.Data4[4],
-           m_uuid.Data4[5], m_uuid.Data4[6], m_uuid.Data4[7], m_uuid.Data4[8]);
+           m_uuid.Data4[0], m_uuid.Data4[1], m_uuid.Data4[2], m_uuid.Data4[3],
+           m_uuid.Data4[4], m_uuid.Data4[5], m_uuid.Data4[6], m_uuid.Data4[7]);
 }
 
 #endif