X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bbf1f0e5cffb8c01696eb26e254857a61f017d70..83f96286bb4ef34147d7f467a0f0a4a4fc27af2d:/include/wx/msw/ole/oleutils.h?ds=sidebyside diff --git a/include/wx/msw/ole/oleutils.h b/include/wx/msw/ole/oleutils.h index 1430abbbe2..da8a992d1f 100644 --- a/include/wx/msw/ole/oleutils.h +++ b/include/wx/msw/ole/oleutils.h @@ -2,20 +2,24 @@ // Name: oleutils.h // Purpose: OLE helper routines, OLE debugging support &c // Author: Vadim Zeitlin -// Modified by: +// Modified by: // Created: 19.02.1998 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#ifndef _OLEUTILS_H -#define _OLEUTILS_H +#ifndef _WX_OLEUTILS_H +#define _WX_OLEUTILS_H #ifdef __GNUG__ #pragma interface "oleutils.h" #endif +#include "wx/defs.h" +#if wxUSE_NORLANDER_HEADERS +#include +#endif // ============================================================================ // General purpose functions and macros // ============================================================================ @@ -42,7 +46,7 @@ bool IsIidFromList(REFIID riid, const IID *aIids[], size_t nCount); // ============================================================================ /* - The most dumb implementation of IUnknown methods. We don't support + The most dumb implementation of IUnknown methods. We don't support aggregation nor containment, but for 99% of cases this simple implementation is quite enough. @@ -81,9 +85,9 @@ bool IsIidFromList(REFIID riid, const IID *aIids[], size_t nCount); #define IMPLEMENT_IUNKNOWN_METHODS(classname) \ STDMETHODIMP classname::QueryInterface(REFIID riid, void **ppv) \ { \ - wxLogQueryInterface(#classname, riid); \ + wxLogQueryInterface(_T(#classname), riid); \ \ - if ( IsIidFromList(riid, ms_aIids, WXSIZEOF(ms_aIids)) ) { \ + if ( IsIidFromList(riid, ms_aIids, WXSIZEOF(ms_aIids)) ) { \ *ppv = this; \ AddRef(); \ \ @@ -92,20 +96,20 @@ bool IsIidFromList(REFIID riid, const IID *aIids[], size_t nCount); else { \ *ppv = NULL; \ \ - return (HRESULT) E_NOINTERFACE; \ + return (HRESULT) E_NOINTERFACE; \ } \ } \ \ STDMETHODIMP_(ULONG) classname::AddRef() \ { \ - wxLogAddRef(#classname, m_cRef); \ + wxLogAddRef(_T(#classname), m_cRef); \ \ return ++m_cRef; \ } \ \ STDMETHODIMP_(ULONG) classname::Release() \ { \ - wxLogRelease(#classname, m_cRef); \ + wxLogRelease(_T(#classname), m_cRef); \ \ if ( --m_cRef == 0 ) { \ delete this; \ @@ -119,27 +123,26 @@ bool IsIidFromList(REFIID riid, const IID *aIids[], size_t nCount); // Debugging support // ============================================================================ -#ifdef __DEBUG__ - -// ---------------------------------------------------------------------------- -// -// ---------------------------------------------------------------------------- - +// VZ: I don't know it's not done for compilers other than VC++ but I leave it +// as is. Please note, though, that tracing OLE interface calls may be +// incredibly useful when debugging OLE programs. +#if defined(__WXDEBUG__) && defined(__VISUALC__) && (__VISUALC__ >= 1000) // ---------------------------------------------------------------------------- // All OLE specific log functions have DebugTrace level (as LogTrace) // ---------------------------------------------------------------------------- // tries to translate riid into a symbolic name, if possible -void wxLogQueryInterface(const char *szInterface, REFIID riid); +void wxLogQueryInterface(const wxChar *szInterface, REFIID riid); // these functions print out the new value of reference counter -void wxLogAddRef (const char *szInterface, ULONG cRef); -void wxLogRelease(const char *szInterface, ULONG cRef); +void wxLogAddRef (const wxChar *szInterface, ULONG cRef); +void wxLogRelease(const wxChar *szInterface, ULONG cRef); -#else //!DEBUG +#else //!WXDEBUG #define wxLogQueryInterface(szInterface, riid) #define wxLogAddRef(szInterface, cRef) #define wxLogRelease(szInterface, cRef) -#endif //DEBUG +#endif //WXDEBUG + +#endif //_WX_OLEUTILS_H -#endif //_OLEUTILS_H \ No newline at end of file