]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/socket.cpp
added #if wxUSE_CLIPBOARD
[wxWidgets.git] / src / common / socket.cpp
index dba14f4829e2d776cb1679f527bcd02c47e8dec9..608ccd38d415cf20adbbf3d29603c059c06f1865 100644 (file)
@@ -33,6 +33,7 @@
 #include "wx/utils.h"
 #include "wx/module.h"
 #include "wx/log.h"
+#include "wx/intl.h"
 
 #include <stdlib.h>
 #include <string.h>
 #include "wx/sckaddr.h"
 #include "wx/socket.h"
 
-// GRG: Why is this needed?
 
-#ifdef __WXGTK__
-#include <gtk/gtk.h>
-#define wxYield() gtk_main_iteration()
-#endif  
+#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXMOTIF__) || defined(__WXMAC__)
+    #define PROCESS_EVENTS() wxYield()
+#elif defined(__WXGTK__)
+    #include <gtk/gtk.h>
+    #define PROCESS_EVENTS() gtk_main_iteration()
+#endif
+
 
 // --------------------------------------------------------------
 // ClassInfos
@@ -66,7 +69,7 @@ class wxSocketState : public wxObject
 public:
   bool notify_state;
   GSocketEventFlags evt_notify_state;
-  wxSocketBase::wxSockFlags socket_flags;
+  wxSockFlags socket_flags;
   wxSocketBase::wxSockCbk c_callback;
   char *c_callback_data;
 
@@ -78,8 +81,7 @@ public:
 // wxSocketBase ctor and dtor
 // --------------------------------------------------------------
 
-wxSocketBase::wxSocketBase(wxSocketBase::wxSockFlags _flags,
-         wxSocketBase::wxSockType _type) :
+wxSocketBase::wxSocketBase(wxSockFlags _flags, wxSockType _type) :
   wxEvtHandler(),
   m_socket(NULL), m_id(-1),
   m_flags(_flags), m_type(_type),
@@ -186,9 +188,9 @@ wxUint32 wxSocketBase::DeferRead(char *buffer, wxUint32 nbytes)
     DoDefer();
   }
 
-  // Wait for buffer completion. 
+  // Wait for buffer completion.
   while (m_defer_buffer != NULL)
-    wxYield();
+    PROCESS_EVENTS();
 
   timer.Stop();
 
@@ -233,13 +235,13 @@ wxUint32 wxSocketBase::_Read(char* buffer, wxUint32 nbytes)
 
   // If the socket is not connected, or we have got the whole
   // needed buffer, return immedately
-  if (!m_connected || !m_socket || !nbytes) 
+  if (!m_connected || !m_socket || !nbytes)
     return total;
 
   // Possible combinations (they are checked in this order)
   // NOWAIT
   // SPEED | WAITALL
-  // SPEED          
+  // SPEED
   // WAITALL
   // NONE
   //
@@ -314,7 +316,7 @@ wxSocketBase& wxSocketBase::ReadMsg(char* buffer, wxUint32 nbytes)
 
   if (sig != 0xfeeddead)
   {
-    wxLogMessage(_T("Warning: invalid signature returned to ReadMsg"));
+    wxLogWarning( _("TCP: invalid signature returned to ReadMsg."));
     goto exit;
   }
 
@@ -372,7 +374,7 @@ wxSocketBase& wxSocketBase::ReadMsg(char* buffer, wxUint32 nbytes)
 
   if (sig != 0xdeadfeed)
   {
-    //wxLogMessage(_T("Warning: invalid signature returned to ReadMsg"));
+    //wxLogMessage(wxT("Warning: invalid signature returned to ReadMsg"));
     goto exit;
   }
 
@@ -440,9 +442,9 @@ wxUint32 wxSocketBase::DeferWrite(const char *buffer, wxUint32 nbytes)
     DoDefer();
   }
 
-  // Wait for buffer completion. 
+  // Wait for buffer completion.
   while (m_defer_buffer != NULL)
-    wxYield();
+    PROCESS_EVENTS();
 
   timer.Stop();
 
@@ -450,8 +452,8 @@ wxUint32 wxSocketBase::DeferWrite(const char *buffer, wxUint32 nbytes)
   m_defer_timer = NULL;
   m_defering = NO_DEFER;
 
-  wxString s;
-  s.Printf("Saliendo de DeferWrite: total %d bytes", nbytes-m_defer_nbytes);
+  //wxString s;
+  //s.Printf(wxT("Saliendo de DeferWrite: total %d bytes"), nbytes-m_defer_nbytes);
   //wxLogMessage(s);
 
   return nbytes-m_defer_nbytes;
@@ -488,7 +490,7 @@ wxUint32 wxSocketBase::_Write(const char *buffer, wxUint32 nbytes)
   // Possible combinations (they are checked in this order)
   // NOWAIT
   // SPEED | WAITALL
-  // SPEED          
+  // SPEED
   // WAITALL
   // NONE
   //
@@ -684,7 +686,7 @@ wxSocketBase& wxSocketBase::Discard()
 
   // TODO: TriggerRead
   return *this;
-  
+
 #undef MAX_BUFSIZE
 }
 
@@ -770,7 +772,7 @@ void wxSocketBase::RestoreState()
 // they poll the socket, using GSocket_Select(), to check for
 // the specified combination of event flags, until an event
 // occurs or until the timeout ellapses. The polling loop
-// calls wxYield(), so this won't block the GUI.
+// calls PROCESS_EVENTS(), so this won't block the GUI.
 
 bool wxSocketBase::_Wait(long seconds, long milliseconds, wxSocketEventFlags flags)
 {
@@ -848,7 +850,7 @@ bool wxSocketBase::_Wait(long seconds, long milliseconds, wxSocketEventFlags fla
     }
 
     if (timeout != 0)
-      wxYield();
+      PROCESS_EVENTS();
   }
   while ((state == -1) && timeout);
 
@@ -899,7 +901,7 @@ void wxSocketBase::SetFlags(wxSockFlags _flags)
 {
   m_flags = _flags;
 }
-                    
+
 // --------------------------------------------------------------
 // wxSocketBase callback management
 // --------------------------------------------------------------