X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/163f315474dbed303b55fa7bf1d98651741164ec..f96b10c283479129b2adfb1b925bf8b39e443bdd:/include/wx/socket.h diff --git a/include/wx/socket.h b/include/wx/socket.h index aa1452743f..184414bb25 100644 --- a/include/wx/socket.h +++ b/include/wx/socket.h @@ -12,7 +12,7 @@ #ifndef _WX_NETWORK_SOCKET_H #define _WX_NETWORK_SOCKET_H -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "socket.h" #endif @@ -33,6 +33,7 @@ #include "wx/sckaddr.h" #include "wx/gsocket.h" +#include "wx/list.h" // ------------------------------------------------------------------------ // Types and constants @@ -104,7 +105,7 @@ typedef int wxSocketFlags; // wxSocketBase // -------------------------------------------------------------------------- -class WXDLLEXPORT wxSocketBase : public wxObject +class WXDLLIMPEXP_NET wxSocketBase : public wxObject { DECLARE_CLASS(wxSocketBase) @@ -185,6 +186,11 @@ public: void SetNotify(wxSocketEventFlags flags); void Notify(bool notify); + // initialize/shutdown the sockets (usually called automatically) + static bool IsInitialized(); + static bool Initialize(); + static void Shutdown(); + // callbacks are deprecated, use events instead #if WXWIN_COMPATIBILITY wxSockCbk Callback(wxSockCbk cbk_); @@ -247,11 +253,16 @@ private: bool m_notify; // notify events to users? wxSocketEventFlags m_eventmask; // which events to notify? + // the initialization count, GSocket is initialized if > 0 + static size_t m_countInit; + // callbacks are deprecated, use events instead #if WXWIN_COMPATIBILITY wxSockCbk m_cbk; // callback char *m_cdata; // callback data #endif // WXWIN_COMPATIBILITY + + DECLARE_NO_COPY_CLASS(wxSocketBase) }; @@ -259,7 +270,7 @@ private: // wxSocketServer // -------------------------------------------------------------------------- -class WXDLLEXPORT wxSocketServer : public wxSocketBase +class WXDLLIMPEXP_NET wxSocketServer : public wxSocketBase { DECLARE_CLASS(wxSocketServer) @@ -270,6 +281,8 @@ public: bool AcceptWith(wxSocketBase& socket, bool wait = TRUE); bool WaitForAccept(long seconds = -1, long milliseconds = 0); + + DECLARE_NO_COPY_CLASS(wxSocketServer) }; @@ -277,7 +290,7 @@ public: // wxSocketClient // -------------------------------------------------------------------------- -class WXDLLEXPORT wxSocketClient : public wxSocketBase +class WXDLLIMPEXP_NET wxSocketClient : public wxSocketBase { DECLARE_CLASS(wxSocketClient) @@ -288,6 +301,8 @@ public: virtual bool Connect(wxSockAddress& addr, bool wait = TRUE); bool WaitOnConnect(long seconds = -1, long milliseconds = 0); + + DECLARE_NO_COPY_CLASS(wxSocketClient) }; @@ -297,7 +312,7 @@ public: // WARNING: still in alpha stage -class wxDatagramSocket : public wxSocketBase +class WXDLLIMPEXP_NET wxDatagramSocket : public wxSocketBase { DECLARE_CLASS(wxDatagramSocket) @@ -314,6 +329,7 @@ public: /* TODO: bool Connect(wxSockAddress& addr); */ + DECLARE_NO_COPY_CLASS(wxDatagramSocket) }; @@ -321,7 +337,7 @@ public: // wxSocketEvent // -------------------------------------------------------------------------- -class WXDLLEXPORT wxSocketEvent : public wxEvent +class WXDLLIMPEXP_NET wxSocketEvent : public wxEvent { public: wxSocketEvent(int id = 0) @@ -345,7 +361,7 @@ public: wxSocketNotify m_event; void *m_clientData; - DECLARE_DYNAMIC_CLASS(wxSocketEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxSocketEvent) };