]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/sockgtk.cpp
Fix broken and missing DataView interface items for Phoenix
[wxWidgets.git] / src / gtk1 / sockgtk.cpp
index c8d449cfd86638627b813b39f108f03d8ed3614c..e5b0861e866e90836f1204cb3dd918bc0821ee50 100644 (file)
@@ -1,26 +1,30 @@
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        gtk/gsockgtk.cpp
+// Name:        src/gtk1/sockgtk.cpp
 // Purpose:     implementation of wxGTK-specific socket event handling
 // Author:      Guilhem Lavaux, Vadim Zeitlin
 // Created:     1999
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999, 2007 wxWidgets dev team
 // Purpose:     implementation of wxGTK-specific socket event handling
 // Author:      Guilhem Lavaux, Vadim Zeitlin
 // Created:     1999
 // RCS-ID:      $Id$
 // Copyright:   (c) 1999, 2007 wxWidgets dev team
+//              (c) 2009 Vadim Zeitlin
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // For compilers that support precompilation, includes "wx.h".
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // For compilers that support precompilation, includes "wx.h".
+
+#if defined( __VMS ) && defined( __ia64 )
+// Work around for a bug in the C++ compiler on OpenVMS IA64
+# include <time.h>
+#endif
+
 #include "wx/wxprec.h"
 
 #if wxUSE_SOCKETS
 
 #include "wx/wxprec.h"
 
 #if wxUSE_SOCKETS
 
-#include <stdlib.h>
-#include <stdio.h>
-
 #include <gdk/gdk.h>
 #include <glib.h>
 
 #include <gdk/gdk.h>
 #include <glib.h>
 
-#include "wx/private/socket.h"
 #include "wx/apptrait.h"
 #include "wx/apptrait.h"
+#include "wx/private/fdiomanager.h"
 
 extern "C" {
 static
 
 extern "C" {
 static
@@ -28,7 +32,7 @@ void wxSocket_GDK_Input(gpointer data,
                         gint WXUNUSED(source),
                         GdkInputCondition condition)
 {
                         gint WXUNUSED(source),
                         GdkInputCondition condition)
 {
-    wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
+    wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
 
     if ( condition & GDK_INPUT_READ )
     {
 
     if ( condition & GDK_INPUT_READ )
     {
@@ -37,7 +41,7 @@ void wxSocket_GDK_Input(gpointer data,
         // we could have lost connection while reading in which case we
         // shouldn't call OnWriteWaiting() as the socket is now closed and it
         // would assert
         // we could have lost connection while reading in which case we
         // shouldn't call OnWriteWaiting() as the socket is now closed and it
         // would assert
-        if ( handler->m_fd == INVALID_SOCKET )
+        if ( !handler->IsOk() )
             return;
     }
 
             return;
     }
 
@@ -46,29 +50,30 @@ void wxSocket_GDK_Input(gpointer data,
 }
 }
 
 }
 }
 
-class GTKSocketManager : public wxSocketInputBasedManager
+class GTKFDIOManager : public wxFDIOManager
 {
 public:
 {
 public:
-    virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
+    virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d)
     {
         return gdk_input_add
                (
                     fd,
     {
         return gdk_input_add
                (
                     fd,
-                    d == FD_OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
+                    d == OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
                     wxSocket_GDK_Input,
                     handler
                );
     }
 
                     wxSocket_GDK_Input,
                     handler
                );
     }
 
-    virtual void RemoveInput(int fd)
+    virtual void
+    RemoveInput(wxFDIOHandler* WXUNUSED(handler), int fd, Direction WXUNUSED(d))
     {
         gdk_input_remove(fd);
     }
 };
 
     {
         gdk_input_remove(fd);
     }
 };
 
-wxSocketManager *wxGUIAppTraits::GetSocketManager()
+wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
 {
 {
-    static GTKSocketManager s_manager;
+    static GTKFDIOManager s_manager;
     return &s_manager;
 }
 
     return &s_manager;
 }