- return ms_gui_functions;
-}
-
-inline bool GSocketBSDGUIShim::GUI_Init()
-{
- return (ms_gui_functions)?ms_gui_functions->GUI_Init():true;
-}
-
-inline void GSocketBSDGUIShim::GUI_Cleanup()
-{
- if (ms_gui_functions) ms_gui_functions->GUI_Cleanup();
-}
-
-GSocketBSDGUIShim::GSocketBSDGUIShim()
-{
- m_ok = (ms_gui_functions ? ms_gui_functions->GUI_Init_Socket(this) : true);
-}
-
-GSocketBSDGUIShim::~GSocketBSDGUIShim()
-{
- if (ms_gui_functions) ms_gui_functions->GUI_Destroy_Socket(this);
-}
-
-void GSocketBSDGUIShim::EventLoop_Enable_Events()
-{
- if (ms_gui_functions) ms_gui_functions->Enable_Events(this);
-}
-
-void GSocketBSDGUIShim::EventLoop_Disable_Events()
-{
- if (ms_gui_functions) ms_gui_functions->Disable_Events(this);
-}
+public:
+ virtual bool OnInit();
+ virtual void OnExit();
+ virtual bool CanUseEventLoop();
+ virtual bool Init_Socket(GSocket *socket);
+ virtual void Destroy_Socket(GSocket *socket);
+ virtual void Install_Callback(GSocket *socket, GSocketEvent event);
+ virtual void Uninstall_Callback(GSocket *socket, GSocketEvent event);
+ virtual void Enable_Events(GSocket *socket);
+ virtual void Disable_Events(GSocket *socket);
+};