]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/gsockgtk.cpp
Context menu event from keyboard records the mouse position, not -1, -1,
[wxWidgets.git] / src / gtk / gsockgtk.cpp
index 0115e520db9d43b6a3a0af9e1a1d5be03d46bfa4..b38c4d775923338801ea3e48bca07701d3ee732d 100644 (file)
@@ -1,12 +1,13 @@
 /* -------------------------------------------------------------------------
  * Project: GSocket (Generic Socket) for WX
- * Name:    gsockgtk.c
+ * Name:    src/gtk/gsockgtk.cpp
  * Purpose: GSocket: GTK part
  * Licence: The wxWindows licence
  * CVSID:   $Id$
  * -------------------------------------------------------------------------
  */
-#include "wx/setup.h"
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
 
 #if wxUSE_SOCKETS
 
 #include "wx/unix/gsockunx.h"
 
 
+extern "C" {
+static
 void _GSocket_GDK_Input(gpointer data,
-                        gint source,
+                        gint WXUNUSED(source),
                         GdkInputCondition condition)
 {
   GSocket *socket = (GSocket *)data;
 
   if (condition & GDK_INPUT_READ)
-    socket->m_functions->Detected_Read(socket);
+    socket->Detected_Read();
   if (condition & GDK_INPUT_WRITE)
-    socket->m_functions->Detected_Write(socket);
+    socket->Detected_Write();
 }
+}
+
+bool GSocketGUIFunctionsTableConcrete::CanUseEventLoop()
+{   return true; }
 
-int _GSocket_GUI_Init(void)
+bool GSocketGUIFunctionsTableConcrete::OnInit(void)
 {
     return 1;
 }
 
-void _GSocket_GUI_Cleanup(void)
+void GSocketGUIFunctionsTableConcrete::OnExit(void)
 {
 }
-    
-int _GSocket_GUI_Init_Socket(GSocket *socket)
+
+bool GSocketGUIFunctionsTableConcrete::Init_Socket(GSocket *socket)
 {
   gint *m_id;
 
@@ -55,12 +62,12 @@ int _GSocket_GUI_Init_Socket(GSocket *socket)
   return TRUE;
 }
 
-void _GSocket_GUI_Destroy_Socket(GSocket *socket)
+void GSocketGUIFunctionsTableConcrete::Destroy_Socket(GSocket *socket)
 {
   free(socket->m_gui_dependent);
 }
 
-void _GSocket_Install_Callback(GSocket *socket, GSocketEvent event)
+void GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket *socket, GSocketEvent event)
 {
   gint *m_id = (gint *)(socket->m_gui_dependent);
   int c;
@@ -86,7 +93,7 @@ void _GSocket_Install_Callback(GSocket *socket, GSocketEvent event)
                           (gpointer)socket);
 }
 
-void _GSocket_Uninstall_Callback(GSocket *socket, GSocketEvent event)
+void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket, GSocketEvent event)
 {
   gint *m_id = (gint *)(socket->m_gui_dependent);
   int c;
@@ -103,26 +110,22 @@ void _GSocket_Uninstall_Callback(GSocket *socket, GSocketEvent event)
   }
 
   if (m_id[c] != -1)
+  {
     gdk_input_remove(m_id[c]);
-
-  m_id[c] = -1;
+    m_id[c] = -1;
+  }
 }
 
-void _GSocket_Enable_Events(GSocket *socket)
+void GSocketGUIFunctionsTableConcrete::Enable_Events(GSocket *socket)
 {
-  _GSocket_Install_Callback(socket, GSOCK_INPUT);
-  _GSocket_Install_Callback(socket, GSOCK_OUTPUT);
+  Install_Callback(socket, GSOCK_INPUT);
+  Install_Callback(socket, GSOCK_OUTPUT);
 }
 
-void _GSocket_Disable_Events(GSocket *socket)
+void GSocketGUIFunctionsTableConcrete::Disable_Events(GSocket *socket)
 {
-  _GSocket_Uninstall_Callback(socket, GSOCK_INPUT);
-  _GSocket_Uninstall_Callback(socket, GSOCK_OUTPUT);
+  Uninstall_Callback(socket, GSOCK_INPUT);
+  Uninstall_Callback(socket, GSOCK_OUTPUT);
 }
 
-#else /* !wxUSE_SOCKETS */
-
-/* some compilers don't like having empty source files */
-static int wxDummyGsockVar = 0;
-
-#endif /* wxUSE_SOCKETS/!wxUSE_SOCKETS */
+#endif // wxUSE_SOCKETS