X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..a8d2fb31cbf09dcc4683c9566ff4bc89580f268c:/src/gtk1/gsockgtk.cpp?ds=inline diff --git a/src/gtk1/gsockgtk.cpp b/src/gtk1/gsockgtk.cpp index d7f4657741..af5fbe635d 100644 --- a/src/gtk1/gsockgtk.cpp +++ b/src/gtk1/gsockgtk.cpp @@ -2,7 +2,7 @@ * Project: GSocket (Generic Socket) for WX * Name: gsockgtk.c * Purpose: GSocket: GTK part - * Licence: The wxWidgets licence + * Licence: The wxWindows licence * CVSID: $Id$ * ------------------------------------------------------------------------- */ @@ -21,6 +21,8 @@ #include "wx/unix/gsockunx.h" +extern "C" { +static void _GSocket_GDK_Input(gpointer data, gint source, GdkInputCondition condition) @@ -28,21 +30,25 @@ void _GSocket_GDK_Input(gpointer data, 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 +61,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 +92,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,21 +109,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 */