]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/socket.h
Fixed compilation error on OS/2 (strnlen declaration was not visible).
[wxWidgets.git] / include / wx / socket.h
index 6895d8987c33dace8e3e7ebdc42c0bbfa3cd1629..628605f606453aa52a913350f09ddcfc64a9c6b4 100644 (file)
@@ -93,6 +93,9 @@ enum wxSocketType
 };
 
 
+// event
+class WXDLLIMPEXP_FWD_NET wxSocketEvent;
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_NET, wxEVT_SOCKET, wxSocketEvent)
 
 // --------------------------------------------------------------------------
 // wxSocketBase
@@ -162,7 +165,7 @@ public:
 
     wxSocketFlags GetFlags() const { return m_flags; }
     void SetFlags(wxSocketFlags flags);
-    void SetTimeout(long seconds);
+    virtual void SetTimeout(long seconds);
     long GetTimeout() const { return m_timeout; }
 
     bool GetOption(int level, int optname, void *optval, int *optlen);
@@ -204,21 +207,19 @@ private:
     // wait until the given flags are set for this socket or the given timeout
     // (or m_timeout) expires
     //
-    // notice that wxSOCKET_LOST_FLAG is always taken into account but the
-    // return value depends on whether it is included in flags or not: if it
-    // is, and the connection is indeed lost, true is returned, but if it isn't
-    // then the function returns false in this case
-    //
-    // false is always returned if we returned because of the timeout expiration
-    bool DoWait(long timeout, wxSocketEventFlags flags);
+    // notice that wxSOCKET_LOST_FLAG is always taken into account and the
+    // function returns -1 if the connection was lost; otherwise it returns
+    // true if any of the events specified by flags argument happened or false
+    // if the timeout expired
+    int DoWait(long timeout, wxSocketEventFlags flags);
 
     // a helper calling DoWait() using the same convention as the public
     // WaitForXXX() functions use, i.e. use our timeout if seconds == -1 or the
     // specified timeout otherwise
-    bool DoWait(long seconds, long milliseconds, wxSocketEventFlags flags);
+    int DoWait(long seconds, long milliseconds, wxSocketEventFlags flags);
 
     // another helper calling DoWait() using our m_timeout
-    bool DoWaitWithTimeout(wxSocketEventFlags flags)
+    int DoWaitWithTimeout(wxSocketEventFlags flags)
     {
         return DoWait(m_timeout*1000, flags);
     }
@@ -393,7 +394,7 @@ public:
 typedef void (wxEvtHandler::*wxSocketEventFunction)(wxSocketEvent&);
 
 #define wxSocketEventHandler(func) \
-    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxSocketEventFunction, &func)
+    wxEVENT_HANDLER_CAST(wxSocketEventFunction, func)
 
 #define EVT_SOCKET(id, func) \
     wx__DECLARE_EVT1(wxEVT_SOCKET, id, wxSocketEventHandler(func))