]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/sckint.h
Changed GetSize to DoGetSize so virtual GetSize works right.
[wxWidgets.git] / include / wx / sckint.h
index e90dfb939c8f09dca44cf391f7d95b16dd23ff06..3fec426a7a1efe1c5e57dde1174da75128f461d5 100644 (file)
@@ -61,6 +61,8 @@ class SockRequest
 };
 
 class wxSocketInternal;
+
+#if wxUSE_THREADS
 class SocketWaiter: public wxThread {
  public:
   SocketWaiter(wxSocketBase *socket, wxSocketInternal *internal);
@@ -80,7 +82,11 @@ class SocketWaiter: public wxThread {
   int m_fd;
 };
 
-class SocketRequester: public wxThread {
+class SocketRequester
+#if wxUSE_THREADS
+  : public wxThread 
+#endif
+         {
  public:
   SocketRequester(wxSocketBase *socket, wxSocketInternal *internal);
   ~SocketRequester();
@@ -100,6 +106,8 @@ class SocketRequester: public wxThread {
   wxSocketInternal *m_internal;
   int m_fd;
 };
+#endif
+  // wxUSE_THREADS
 
 class wxSocketInternal {
  public:
@@ -114,13 +122,12 @@ class wxSocketInternal {
   void ReleaseFD();
 
   int GetFD() { return m_fd; }
+  void SetFD(int fd) { m_fd = fd; }
   
-  void InitializeSocket();
-  void FinalizeSocket();
-  void PauseSocket();
-  void ResumeSocket();
-  void EnableWaiter();
-  void DisableWaiter();
+  void ResumeWaiter();
+  void StopWaiter();
+  void ResumeRequester();
+  void StopRequester();
 
   void QueueRequest(SockRequest *request, bool async);
   void WaitForEnd(SockRequest *request);
@@ -128,13 +135,16 @@ class wxSocketInternal {
   SockRequest *WaitForReq();
   void EndRequest(SockRequest *req);
  public:
-  wxMutex m_socket_locker, m_fd_locker, m_request_locker;
-  wxCondition m_socket_cond;
   wxSocketBase *m_socket;
+#if wxUSE_THREADS
+  wxMutex m_socket_locker, m_fd_locker, m_request_locker, m_end_requester;
+  wxCondition m_socket_cond;
   SocketWaiter *m_thread_waiter;
+#endif
   SocketRequester *m_thread_requester;
   wxList m_requests;
   int m_fd;
+  bool m_invalid_requester;
 };
 
 #endif