#define DECLARE_LOG_FUNCTION(level) \
extern void WXDLLIMPEXP_BASE \
- wxDoLog##level(const wxString& format, ...); \
+ wxDoLog##level##Wchar(const wxChar *format, ...); \
+ extern void WXDLLIMPEXP_BASE \
+ wxDoLog##level##Utf8(const char *format, ...); \
WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 1, (const wxString&), wxDoLog##level) \
+ 1, (const wxFormatString&), \
+ wxDoLog##level##Wchar, wxDoLog##level##Utf8) \
DECLARE_LOG_FUNCTION_WATCOM(level) \
extern void WXDLLIMPEXP_BASE wxVLog##level(const wxString& format, \
va_list argptr)
// can't use WX_WATCOM_ONLY_CODE here because the macro would expand to
// something too big for Borland C++ to handle
#define DECLARE_LOG_FUNCTION_WATCOM(level) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 1, (const char*), wxDoLog##level) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 1, (const wchar_t*), wxDoLog##level) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 1, (const wxCStrData&), wxDoLog##level)
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 1, (const wxString&), \
+ (wxFormatString(f1))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 1, (const wxCStrData&), \
+ (wxFormatString(f1))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 1, (const char*), \
+ (wxFormatString(f1))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 1, (const wchar_t*), \
+ (wxFormatString(f1)))
#else
#define DECLARE_LOG_FUNCTION_WATCOM(level)
#endif
#define DECLARE_LOG_FUNCTION2_EXP(level, argclass, arg, expdecl) \
- extern void expdecl wxDoLog##level(argclass arg, \
- const wxString& format, ...); \
+ extern void expdecl wxDoLog##level##Wchar(argclass arg, \
+ const wxChar *format, ...); \
+ extern void expdecl wxDoLog##level##Utf8(argclass arg, \
+ const char *format, ...); \
WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 2, (argclass, const wxString&), \
- wxDoLog##level) \
+ 2, (argclass, const wxFormatString&), \
+ wxDoLog##level##Wchar, wxDoLog##level##Utf8) \
DECLARE_LOG_FUNCTION2_EXP_WATCOM(level, argclass, arg, expdecl) \
extern void expdecl wxVLog##level(argclass arg, \
const wxString& format, \
// can't use WX_WATCOM_ONLY_CODE here because the macro would expand to
// something too big for Borland C++ to handle
#define DECLARE_LOG_FUNCTION2_EXP_WATCOM(level, argclass, arg, expdecl) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 2, (argclass, const wxString&), \
+ (f1, wxFormatString(f2))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
+ 2, (argclass, const wxCStrData&), \
+ (f1, wxFormatString(f2))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
2, (argclass, const char*), \
- wxDoLog##level) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
+ (f1, wxFormatString(f2))) \
+ WX_VARARG_WATCOM_WORKAROUND(void, wxLog##level, \
2, (argclass, const wchar_t*), \
- wxDoLog##level) \
- WX_DEFINE_VARARG_FUNC_VOID(wxLog##level, \
- 2, (argclass, const wxCStrData&), \
- wxDoLog##level)
+ (f1, wxFormatString(f2)))
#else
#define DECLARE_LOG_FUNCTION2_EXP_WATCOM(level, argclass, arg, expdecl)
#endif
WX_DEFINE_VARARG_FUNC_NOP(wxLog##level, 1, (const wxCStrData&)) \
) \
inline void wxVLog##level(const wxString& WXUNUSED(format), \
- va_list WXUNUSED(argptr)) { } \
+ va_list WXUNUSED(argptr)) { } \
#define DECLARE_LOG_FUNCTION2_EXP(level, argclass, arg, expdecl) \
WX_DEFINE_VARARG_FUNC_NOP(wxLog##level, 2, (argclass, const wxString&)) \
WX_DEFINE_VARARG_FUNC_NOP(wxLog##level, 2, (argclass, const wxCStrData&)) \
) \
inline void wxVLog##level(argclass WXUNUSED(arg), \
- const wxString& WXUNUSED(format), \
- va_list WXUNUSED(argptr)) {}
+ const wxString& WXUNUSED(format), \
+ va_list WXUNUSED(argptr)) {}
// Empty Class to fake wxLogNull
class WXDLLIMPEXP_BASE wxLogNull