]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/socket.h
Derive wxButton from wxButtonBase.
[wxWidgets.git] / include / wx / socket.h
index aa1452743fd92d9add753b49db3e44390420d655..df328666653d39842e4b142fc1935c50b79e8797 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_NETWORK_SOCKET_H
 #define _WX_NETWORK_SOCKET_H
 
 #ifndef _WX_NETWORK_SOCKET_H
 #define _WX_NETWORK_SOCKET_H
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
   #pragma interface "socket.h"
 #endif
 
   #pragma interface "socket.h"
 #endif
 
@@ -33,6 +33,7 @@
 
 #include "wx/sckaddr.h"
 #include "wx/gsocket.h"
 
 #include "wx/sckaddr.h"
 #include "wx/gsocket.h"
+#include "wx/list.h"
 
 // ------------------------------------------------------------------------
 // Types and constants
 
 // ------------------------------------------------------------------------
 // Types and constants
@@ -185,6 +186,11 @@ public:
   void SetNotify(wxSocketEventFlags flags);
   void Notify(bool notify);
 
   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_);
   // 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?
 
   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
   // 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)
 };
 
 
 };
 
 
@@ -270,6 +281,8 @@ public:
   bool AcceptWith(wxSocketBase& socket, bool wait = TRUE);
 
   bool WaitForAccept(long seconds = -1, long milliseconds = 0);
   bool AcceptWith(wxSocketBase& socket, bool wait = TRUE);
 
   bool WaitForAccept(long seconds = -1, long milliseconds = 0);
+
+  DECLARE_NO_COPY_CLASS(wxSocketServer)
 };
 
 
 };
 
 
@@ -288,6 +301,8 @@ public:
   virtual bool Connect(wxSockAddress& addr, bool wait = TRUE);
 
   bool WaitOnConnect(long seconds = -1, long milliseconds = 0);
   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
 
 
 // WARNING: still in alpha stage
 
-class wxDatagramSocket : public wxSocketBase
+class WXDLLEXPORT wxDatagramSocket : public wxSocketBase
 {
   DECLARE_CLASS(wxDatagramSocket)
 
 {
   DECLARE_CLASS(wxDatagramSocket)
 
@@ -314,6 +329,7 @@ public:
 /* TODO:
   bool Connect(wxSockAddress& addr);
 */
 /* TODO:
   bool Connect(wxSockAddress& addr);
 */
+  DECLARE_NO_COPY_CLASS(wxDatagramSocket)
 };
 
 
 };