]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/socket.h
no message
[wxWidgets.git] / include / wx / socket.h
index a65b4683cd1102db7664abed20a9459f9dfef217..99422550b4fea59c94176b7c8e4b7defb7650399 100644 (file)
@@ -8,11 +8,12 @@
 // Copyright:   (c) Guilhem Lavaux
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
+
 #ifndef _WX_NETWORK_SOCKET_H
 #define _WX_NETWORK_SOCKET_H
 
 #ifdef __GNUG__
-#pragma interface
+#pragma interface "socket.h"
 #endif
 
 // ---------------------------------------------------------------------------
@@ -79,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 };
@@ -258,7 +262,7 @@ public:
 
   virtual bool Connect(wxSockAddress& addr_man, bool wait = TRUE);
 
-  bool WaitOnConnect(long seconds = -1);
+  bool WaitOnConnect(long seconds = -1, long microseconds = 0);
 
   virtual void OnRequest(wxRequestEvent flags);
 };
@@ -269,7 +273,6 @@ class WXDLLEXPORT wxSocketHandler : public wxObject
 {
   DECLARE_CLASS(wxSocketHandler)
 protected:
-  static wxSocketHandler *master;
 #if defined(__WINDOWS__)
   wxList *smsg_list;
   struct wxSockHandlerInternal *internal;
@@ -279,6 +282,7 @@ protected:
 public:
   enum SockStatus { SOCK_NONE, SOCK_DATA, SOCK_CONNECT, SOCK_DISCONNECT,
                    SOCK_ERROR };
+  static wxSocketHandler *master;
 
   wxSocketHandler();
   virtual ~wxSocketHandler();
@@ -302,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__)
 
@@ -331,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