X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e907a13eae0ef1cd0eb4a318c824ba095a64684..f5a1953b341d16396763bee067ccdd96108f3aad:/include/wx/protocol/protocol.h diff --git a/include/wx/protocol/protocol.h b/include/wx/protocol/protocol.h index 1ac98294c8..8d76485032 100644 --- a/include/wx/protocol/protocol.h +++ b/include/wx/protocol/protocol.h @@ -6,18 +6,20 @@ // Created: 10/07/1997 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_PROTOCOL_PROTOCOL_H #define _WX_PROTOCOL_PROTOCOL_H -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface #endif #include "wx/defs.h" +#if wxUSE_PROTOCOL + #include "wx/object.h" #include "wx/string.h" #include "wx/stream.h" @@ -48,7 +50,7 @@ typedef enum // wxProtocol: abstract base class for all protocols // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxProtocol +class WXDLLIMPEXP_NET wxProtocol #if wxUSE_SOCKETS : public wxSocketClient #else @@ -80,11 +82,11 @@ public: virtual void SetPassword(const wxString& WXUNUSED(passwd) ) {} private: - DECLARE_ABSTRACT_CLASS(wxProtocol) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxProtocol) }; #if wxUSE_SOCKETS -wxProtocolError WXDLLEXPORT GetLine(wxSocketBase *sock, wxString& result); +wxProtocolError WXDLLIMPEXP_NET GetLine(wxSocketBase *sock, wxString& result); #endif // ---------------------------------------------------------------------------- @@ -96,9 +98,17 @@ public: \ static wxProtoInfo g_proto_##class; #define IMPLEMENT_PROTOCOL(class, name, serv, host) \ -wxProtoInfo class::g_proto_##class(name, serv, host, CLASSINFO(class)); +wxProtoInfo class::g_proto_##class(name, serv, host, CLASSINFO(class)); \ +bool wxProtocolUse##class = TRUE; + +#define USE_PROTOCOL(class) \ + extern bool wxProtocolUse##class ; \ + static struct wxProtocolUserFor##class \ + { \ + wxProtocolUserFor##class() { wxProtocolUse##class = TRUE; } \ + } wxProtocolDoUse##class; -class WXDLLEXPORT wxProtoInfo : public wxObject +class WXDLLIMPEXP_NET wxProtoInfo : public wxObject { public: wxProtoInfo(const wxChar *name, @@ -117,6 +127,9 @@ protected: friend class wxURL; DECLARE_DYNAMIC_CLASS(wxProtoInfo) + DECLARE_NO_COPY_CLASS(wxProtoInfo) }; +#endif // wxUSE_PROTOCOL + #endif // _WX_PROTOCOL_PROTOCOL_H