virtual void EventLoop_Install_Callback(GSocketEvent event) = 0;
virtual void EventLoop_Uninstall_Callback(GSocketEvent event) = 0;
public:
-//DFE: We can't protect these data member until the GUI code is updated
-//protected:
-#else //def wxUSE_GSOCKET_CPLUSPLUS
+ /* DFE: We can't protect these data member until the GUI code is updated */
+ /* protected: */
+#else /* def wxUSE_GSOCKET_CPLUSPLUS */
#ifdef __cplusplus
extern "C" {
/* Definition of GSocket */
struct _GSocket
{
-#endif //def wxUSE_GSOCKET_CPLUSPLUS
+#endif /* def wxUSE_GSOCKET_CPLUSPLUS */
int m_fd;
GAddress *m_local;
GAddress *m_peer;
#ifdef __cplusplus
}
#endif /* __cplusplus */
-#endif //ndef wxUSE_GSOCKET_CPLUSPLUS
+#else
+/**************************************************************************/
+/* GSocketBSDGUIShim */
+class GSocketBSDGUIShim:public GSocketBSD
+{
+ friend void GSocket_SetGUIFunctions(struct GSocketGUIFunctionsTable *guifunc);
+public:
+ static inline bool GUI_Init();
+ static inline void GUI_Cleanup();
+ static inline bool UseGUI();
+ GSocketBSDGUIShim();
+ virtual ~GSocketBSDGUIShim();
+protected:
+ virtual void EventLoop_Enable_Events();
+ virtual void EventLoop_Disable_Events();
+ virtual void EventLoop_Install_Callback(GSocketEvent event);
+ virtual void EventLoop_Uninstall_Callback(GSocketEvent event);
+private:
+/* Table of GUI-related functions. We must call them indirectly because
+ * of wxBase and GUI separation: */
+
+ static struct GSocketGUIFunctionsTable *ms_gui_functions;
+};
+
+#endif /* ndef wxUSE_GSOCKET_CPLUSPLUS */
#ifdef __cplusplus
extern "C" {
}
#endif /* __cplusplus */
-// Compatibility methods to support old C API (from gsocket.h)
+/* Compatibility methods to support old C API (from gsocket.h) */
#ifdef wxUSE_GSOCKET_CPLUSPLUS
inline void GSocket_Shutdown(GSocket *socket)
{ socket->Shutdown(); }
inline void GSocket_UnsetCallback(GSocket *socket, GSocketEventFlags flags)
{ socket->UnsetCallback(flags); }
-#endif //def wxUSE_GSOCKET_CPLUSPLUS
+#endif /* def wxUSE_GSOCKET_CPLUSPLUS */
#ifdef __cplusplus
extern "C" {
#ifndef wxUSE_GSOCKET_CPLUSPLUS
void _GSocket_Detected_Read(GSocket *socket);
void _GSocket_Detected_Write(GSocket *socket);
-#endif //ndef wxUSE_GSOCKET_CPLUSPLUS
+#endif /* ndef wxUSE_GSOCKET_CPLUSPLUS */
/* GAddress */