]> git.saurik.com Git - wxWidgets.git/commitdiff
Added wxAppTraits::CreateGSocket() as well as implementations for wxBase and
authorDavid Elliott <dfe@tgwbd.org>
Sun, 18 Jan 2004 21:35:00 +0000 (21:35 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Sun, 18 Jan 2004 21:35:00 +0000 (21:35 +0000)
wxGUI.  This method should return a new derived instance of GSocketBSD which
implements the EventLoop_ pure virtual functions appropriately.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/apptrait.h
src/common/appbase.cpp
src/common/appcmn.cpp

index dcc488e1e24bec056e123bdbd1094a6177a3c982..2d8e282c993c62c91ed2e9c991cf7a58954c8949 100644 (file)
@@ -29,6 +29,9 @@ extern "C"
     struct GSocketGUIFunctionsTable;
 }
 
     struct GSocketGUIFunctionsTable;
 }
 
+// FIXME: Eventually unify Mac OS 9
+class GSocketBSD;
+
 // ----------------------------------------------------------------------------
 // toolkit information
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // toolkit information
 // ----------------------------------------------------------------------------
@@ -113,6 +116,10 @@ public:
 #if wxUSE_SOCKETS
     // return table of GUI callbacks for GSocket code or NULL in wxBase
     virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0;
 #if wxUSE_SOCKETS
     // return table of GUI callbacks for GSocket code or NULL in wxBase
     virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0;
+
+    // return a new GSocket with the EventLoop_* stuff implemented.
+    // or at least stubbed (i.e. wxBase)
+    virtual GSocketBSD* CreateGSocket() = 0;
 #endif
 
 
 #endif
 
 
@@ -168,6 +175,7 @@ public:
     virtual wxRendererNative *CreateRenderer();
 #if wxUSE_SOCKETS
     virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable();
     virtual wxRendererNative *CreateRenderer();
 #if wxUSE_SOCKETS
     virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable();
+    virtual GSocketBSD* CreateGSocket();
 #endif
 
 #ifdef __WXDEBUG__
 #endif
 
 #ifdef __WXDEBUG__
@@ -198,6 +206,9 @@ public:
     virtual wxRendererNative *CreateRenderer();
 #if wxUSE_SOCKETS
     virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable();
     virtual wxRendererNative *CreateRenderer();
 #if wxUSE_SOCKETS
     virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable();
+    // return a new GSocket with the EventLoop_* stuff implemented.
+    // TODO: Remove this because each GUI should implement it separately
+    virtual GSocketBSD* CreateGSocket();
 #endif
 
 #ifdef __WXDEBUG__
 #endif
 
 #ifdef __WXDEBUG__
index 706c1c97c892fd40ef326efc181d9a4e02952a81..941c8aa71b2624293b90505cffab93c24a206700 100644 (file)
     #include "wx/fontmap.h"
 #endif // wxUSE_FONTMAP
 
     #include "wx/fontmap.h"
 #endif // wxUSE_FONTMAP
 
+#if wxUSE_SOCKETS
+    #include "wx/gsocket.h"
+#endif // wxUSE_SOCKETS
+
 #if defined(__WXMAC__)
     // VZ: MacTypes.h is enough under Mac OS X (where I could test it) but
     //     I don't know which headers are needed under earlier systems so
 #if defined(__WXMAC__)
     // VZ: MacTypes.h is enough under Mac OS X (where I could test it) but
     //     I don't know which headers are needed under earlier systems so
@@ -475,6 +479,16 @@ GSocketGUIFunctionsTable* wxConsoleAppTraitsBase::GetSocketGUIFunctionsTable()
 {
     return NULL;
 }
 {
     return NULL;
 }
+
+// TODO: Use a different class that only stubs out the event loop functions
+GSocketBSD* wxConsoleAppTraitsBase::CreateGSocket()
+{
+#ifdef wxUSE_GSOCKET_CPLUSPLUS
+    return new GSocketBSDGUIShim();
+#else
+    return NULL;
+#endif
+}
 #endif
 
 // ----------------------------------------------------------------------------
 #endif
 
 // ----------------------------------------------------------------------------
index c6e0fc945bdbb8abaac00f8d38701d6055c8db65..5bfa14b7f6bfbe7d78078d0296391c524760ed36 100644 (file)
@@ -605,5 +605,14 @@ GSocketGUIFunctionsTable* wxGUIAppTraitsBase::GetSocketGUIFunctionsTable()
 #endif // !__WXMAC__ || __DARWIN__
 }
 
 #endif // !__WXMAC__ || __DARWIN__
 }
 
+GSocketBSD* wxGUIAppTraitsBase::CreateGSocket()
+{
+#ifdef wxUSE_GSOCKET_CPLUSPLUS
+    return new GSocketBSDGUIShim();
+#else
+    return NULL;
+#endif
+}
+
 #endif
 
 #endif