X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/730b772b41ad9df76e5226290bb9eb917ea161f0..d2bb4c8653ae01c57ecd9a8ad899da06f865f5da:/src/common/protocol.cpp diff --git a/src/common/protocol.cpp b/src/common/protocol.cpp index 4a06cf857b..5a62be3444 100644 --- a/src/common/protocol.cpp +++ b/src/common/protocol.cpp @@ -19,12 +19,14 @@ #if wxUSE_PROTOCOL #include "wx/protocol/protocol.h" +#include "wx/protocol/log.h" #ifndef WX_PRECOMP #include "wx/module.h" #endif #include "wx/url.h" +#include "wx/log.h" #include @@ -32,6 +34,8 @@ // wxProtoInfo // ---------------------------------------------------------------------------- +IMPLEMENT_CLASS(wxProtoInfo, wxObject) + wxProtoInfo::wxProtoInfo(const wxChar *name, const wxChar *serv, const bool need_host1, wxClassInfo *info) : m_protoname(name), @@ -64,9 +68,23 @@ wxProtocol::wxProtocol() #endif { m_lastError = wxPROTO_NOERR; + m_log = NULL; SetDefaultTimeout(60); // default timeout is 60 seconds } +void wxProtocol::SetDefaultTimeout(wxUint32 Value) +{ + m_uiDefaultTimeout = Value; +#if wxUSE_SOCKETS + wxSocketBase::SetTimeout(Value); // sets it for this socket +#endif +} + +wxProtocol::~wxProtocol() +{ + delete m_log; +} + #if wxUSE_SOCKETS bool wxProtocol::Reconnect() { @@ -87,15 +105,6 @@ bool wxProtocol::Reconnect() return true; } -void wxProtocol::SetDefaultTimeout(wxUint32 Value) -{ - m_uiDefaultTimeout = Value; -#if wxUSE_SOCKETS - wxSocketBase::SetTimeout(Value); // sets it for this socket -#endif -} - - // ---------------------------------------------------------------------------- // Read a line from socket // ---------------------------------------------------------------------------- @@ -130,7 +139,7 @@ wxProtocolError wxProtocol::ReadLine(wxSocketBase *sock, wxString& result) if ( eol == pBuf ) { // check for case of "\r\n" being split - if ( result.empty() || result.Last() != _T('\r') ) + if ( result.empty() || result.Last() != wxT('\r') ) { // ignore the stray '\n' eol = NULL; @@ -179,4 +188,32 @@ wxProtocolError wxProtocol::ReadLine(wxString& result) #endif // wxUSE_SOCKETS +// ---------------------------------------------------------------------------- +// logging +// ---------------------------------------------------------------------------- + +void wxProtocol::SetLog(wxProtocolLog *log) +{ + delete m_log; + m_log = log; +} + +void wxProtocol::LogRequest(const wxString& str) +{ + if ( m_log ) + m_log->LogRequest(str); +} + +void wxProtocol::LogResponse(const wxString& str) +{ + if ( m_log ) + m_log->LogResponse(str); +} + +void wxProtocolLog::DoLogString(const wxString& str) +{ + wxUnusedVar(str); // unused if wxLogTrace() is disabled + wxLogTrace(m_traceMask, "%s", str); +} + #endif // wxUSE_PROTOCOL