]> git.saurik.com Git - wxWidgets.git/blob - include/wx/protocol/log.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / protocol / log.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/protocol/log.h
3 // Purpose: wxProtocolLog class for logging network exchanges
4 // Author: Troelsk, Vadim Zeitlin
5 // Created: 2009-03-06
6 // Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
7 // Licence: wxWindows licence
8 ///////////////////////////////////////////////////////////////////////////////
9
10 #ifndef _WX_PROTOCOL_LOG_H_
11 #define _WX_PROTOCOL_LOG_H_
12
13 #include "wx/string.h"
14
15 // ----------------------------------------------------------------------------
16 // wxProtocolLog: simple class for logging network requests and responses
17 // ----------------------------------------------------------------------------
18
19 class WXDLLIMPEXP_NET wxProtocolLog
20 {
21 public:
22 // Create object doing the logging using wxLogTrace() with the specified
23 // trace mask.
24 wxProtocolLog(const wxString& traceMask)
25 : m_traceMask(traceMask)
26 {
27 }
28
29 // Virtual dtor for the base class
30 virtual ~wxProtocolLog() { }
31
32 // Called by wxProtocol-derived classes to actually log something
33 virtual void LogRequest(const wxString& str)
34 {
35 DoLogString("==> " + str);
36 }
37
38 virtual void LogResponse(const wxString& str)
39 {
40 DoLogString("<== " + str);
41 }
42
43 protected:
44 // Can be overridden by the derived classes.
45 virtual void DoLogString(const wxString& str);
46
47 private:
48 const wxString m_traceMask;
49
50 wxDECLARE_NO_COPY_CLASS(wxProtocolLog);
51 };
52
53 #endif // _WX_PROTOCOL_LOG_H_
54