X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bddd7a8d8953cf4c09e56c13e1bfcc594ba0267e..3ef37e7f4ec5f0688a4fb47e530ca2d30a6bb3ed:/include/wx/log.h diff --git a/include/wx/log.h b/include/wx/log.h index f57a0ddb55..3df5e2cd60 100644 --- a/include/wx/log.h +++ b/include/wx/log.h @@ -12,14 +12,17 @@ #ifndef _WX_LOG_H_ #define _WX_LOG_H_ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "log.h" #endif -#include "wx/string.h" +#include "wx/defs.h" #if wxUSE_LOG +#include "wx/string.h" +#include "wx/arrstr.h" + // ---------------------------------------------------------------------------- // forward declarations // ---------------------------------------------------------------------------- @@ -185,7 +188,8 @@ public: // trace mask (see wxTraceXXX constants for details) static void SetTraceMask(wxTraceMask ulMask) { ms_ulTraceMask = ulMask; } // add string trace mask - static void AddTraceMask(const wxString& str) { ms_aTraceMasks.Add(str); } + static void AddTraceMask(const wxString& str) + { ms_aTraceMasks.push_back(str); } // add string trace mask static void RemoveTraceMask(const wxString& str); // remove all string trace masks @@ -205,8 +209,7 @@ public: // get trace mask static wxTraceMask GetTraceMask() { return ms_ulTraceMask; } // is this trace mask in the list? - static bool IsAllowedTraceMask(const wxChar *mask) - { return ms_aTraceMasks.Index(mask) != wxNOT_FOUND; } + static bool IsAllowedTraceMask(const wxChar *mask); // return the current loglevel limit static wxLogLevel GetLogLevel() { return ms_logLevel; } @@ -378,6 +381,9 @@ class WXDLLIMPEXP_BASE wxLogPassThrough : public wxLogChain { public: wxLogPassThrough(); + +private: + DECLARE_NO_COPY_CLASS(wxLogPassThrough) }; #if wxUSE_GUI @@ -445,7 +451,7 @@ public: #define wxSysErrorMsg( X ) (const wxChar*)NULL // Fake symbolic trace masks... for those that are used frequently -#define wxTRACE_OleCalls wxT("") // OLE interface calls +#define wxTRACE_OleCalls wxEmptyString // OLE interface calls #endif // wxUSE_LOG/!wxUSE_LOG @@ -482,23 +488,22 @@ DECLARE_LOG_FUNCTION2(SysError, long lErrCode); #if wxUSE_LOG_DEBUG DECLARE_LOG_FUNCTION(Debug); - // first kind of LogTrace is unconditional: it doesn't check the level, - DECLARE_LOG_FUNCTION(Trace); + // there is no more unconditional LogTrace: it is not different from + // LogDebug and it creates overload ambiguities + //DECLARE_LOG_FUNCTION(Trace); - // this second version will only log the message if the mask had been - // added to the list of masks with AddTraceMask() + // this version only logs the message if the mask had been added to the + // list of masks with AddTraceMask() DECLARE_LOG_FUNCTION2(Trace, const wxChar *mask); - // the last one does nothing if all of level bits are not set - // in wxLog::GetActive()->GetTraceMask() - it's deprecated in favour of + // and this one does nothing if all of level bits are not set in + // wxLog::GetActive()->GetTraceMask() -- it's deprecated in favour of // string identifiers DECLARE_LOG_FUNCTION2(Trace, wxTraceMask mask); #else //!debug // these functions do nothing in release builds inline void wxVLogDebug(const wxChar *, va_list) { } inline void wxLogDebug(const wxChar *, ...) { } - inline void wxVLogTrace(const wxChar *, va_list) { } - inline void wxLogTrace(const wxChar *, ...) { } inline void wxVLogTrace(wxTraceMask, const wxChar *, va_list) { } inline void wxLogTrace(wxTraceMask, const wxChar *, ...) { } inline void wxVLogTrace(const wxChar *, const wxChar *, va_list) { } @@ -524,8 +529,8 @@ wxSafeShowMessage(const wxString& title, const wxString& text); (long)rc, wxSysErrorMsg(rc)) #else // !VC++ #define wxLogApiError(api, rc) \ - wxLogDebug(wxT("In file %s at line %d: '%s' failed with " \ - "error 0x%08lx (%s)."), \ + wxLogDebug(wxT("In file %s at line %d: '%s' failed with ") \ + wxT("error 0x%08lx (%s)."), \ __TFILE__, __LINE__, api, \ (long)rc, wxSysErrorMsg(rc)) #endif // VC++/!VC++