]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/socket.h
wxCriticalSection implemented using mutexes for !MSW (sample compiles again)
[wxWidgets.git] / include / wx / socket.h
index 7837b73813c4938d3f07dbdcfee27334750fea7b..99422550b4fea59c94176b7c8e4b7defb7650399 100644 (file)
@@ -80,6 +80,9 @@ class WXDLLEXPORT wxSocketHandler;
 class WXDLLEXPORT wxSocketBase : public wxEvtHandler
 {
   DECLARE_CLASS(wxSocketBase)
+#ifdef __WXMAC__
+friend void wxMacSocketOnRequestProc(void *refcon , short event) ;
+#endif
 public:
 
   enum wxSockFlags { NONE=0, NOWAIT=1, WAITALL=2, SPEED=4 };
@@ -270,7 +273,6 @@ class WXDLLEXPORT wxSocketHandler : public wxObject
 {
   DECLARE_CLASS(wxSocketHandler)
 protected:
-  static wxSocketHandler *master;
 #if defined(__WINDOWS__)
   wxList *smsg_list;
   struct wxSockHandlerInternal *internal;
@@ -280,6 +282,7 @@ protected:
 public:
   enum SockStatus { SOCK_NONE, SOCK_DATA, SOCK_CONNECT, SOCK_DISCONNECT,
                    SOCK_ERROR };
+  static wxSocketHandler *master;
 
   wxSocketHandler();
   virtual ~wxSocketHandler();
@@ -303,8 +306,7 @@ public:
                        (wxSocketBase::wxSockFlags flags = wxSocketBase::NONE);
 
   // Create or reuse a socket handler
-  static wxSocketHandler& Master()
-  { return *((master) ? (master) : (master = new wxSocketHandler())); }
+  static wxSocketHandler& Master() { return *master; }
 
 #if defined(WXSOCK_INTERNAL) && defined(__WINDOWS__)
 
@@ -332,6 +334,8 @@ typedef void (wxEvtHandler::*wxSocketEventFunction)(wxSocketEvent&);
 
 #define wxEVT_SOCKET wxEVT_FIRST+301
 
-#define EVT_SOCKET(id, func) { wxEVT_SOCKET, id, 0, (wxObjectEventFunction) (wxEventFunction) (wxSocketEventFunction) & func },
+#define EVT_SOCKET(id, func) { wxEVT_SOCKET, id, 0, \
+  (wxObjectEventFunction) (wxEventFunction) (wxSocketEventFunction) & func, \
+  (wxObject *) NULL  },
 
 #endif