]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/apptrait.h
More work on getting wxLisBox events right
[wxWidgets.git] / include / wx / apptrait.h
index 7264604bd38a38453a029bfd2d4d486b491d4f2c..c31d9d0670ea770429472e513a2cc62b8521e381 100644 (file)
@@ -30,7 +30,7 @@ class WXDLLIMPEXP_FWD_BASE wxString;
 class WXDLLIMPEXP_FWD_BASE wxTimer;
 class WXDLLIMPEXP_FWD_BASE wxTimerImpl;
 
-class GSocketGUIFunctionsTable;
+class GSocketManager;
 
 
 // ----------------------------------------------------------------------------
@@ -116,13 +116,9 @@ public:
     virtual void RemoveFromPendingDelete(wxObject *object) = 0;
 
 #if wxUSE_SOCKETS
-    // return table of GUI callbacks for GSocket code or NULL in wxBase. This
-    // is needed because networking classes are in their own library and so
-    // they can't directly call GUI functions (the same net library can be
-    // used in both GUI and base apps). To complicate it further, GUI library
-    // ("wxCore") doesn't depend on networking library and so only a functions
-    // table can be passed around
-    virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable() = 0;
+    // return socket manager: this is usually different for console and GUI
+    // applications (although some ports use the same implementation for both)
+    virtual GSocketManager *GetSocketManager() = 0;
 #endif
 
     // create a new, port specific, instance of the event loop used by wxApp
@@ -133,6 +129,11 @@ public:
     virtual wxTimerImpl *CreateTimerImpl(wxTimer *timer) = 0;
 #endif
 
+#if wxUSE_THREADS
+    virtual void MutexGuiEnter();
+    virtual void MutexGuiLeave();
+#endif
+
     // functions returning port-specific information
     // ------------------------------------------------------------------------
 
@@ -140,7 +141,7 @@ public:
     // runtime (not compile-time) version.
     // returns wxPORT_BASE for console applications and one of the remaining
     // wxPORT_* values for GUI applications.
-    virtual wxPortId GetToolkitVersion(int *majVer, int *minVer) const = 0;
+    virtual wxPortId GetToolkitVersion(int *majVer = NULL, int *minVer = NULL) const = 0;
 
     // return true if the port is using wxUniversal for the GUI, false if not
     virtual bool IsUsingUniversalWidgets() const = 0;
@@ -215,9 +216,6 @@ public:
     virtual wxFontMapper *CreateFontMapper();
 #endif // wxUSE_FONTMAP
     virtual wxRendererNative *CreateRenderer();
-#if wxUSE_SOCKETS
-    virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable();
-#endif
 
 #ifdef __WXDEBUG__
     virtual bool ShowAssertDialog(const wxString& msg);
@@ -228,7 +226,7 @@ public:
     virtual void RemoveFromPendingDelete(wxObject *object);
 
     // the GetToolkitVersion for console application is always the same
-    virtual wxPortId GetToolkitVersion(int *verMaj, int *verMin) const
+    virtual wxPortId GetToolkitVersion(int *verMaj = NULL, int *verMin = NULL) const
     {
         // no toolkits (wxBase is for console applications without GUI support)
         // NB: zero means "no toolkit", -1 means "not initialized yet"
@@ -248,7 +246,7 @@ public:
 
 #if wxUSE_GUI
 
-class WXDLLEXPORT wxGUIAppTraitsBase : public wxAppTraits
+class WXDLLIMPEXP_CORE wxGUIAppTraitsBase : public wxAppTraits
 {
 public:
 #if wxUSE_LOG
@@ -259,9 +257,6 @@ public:
     virtual wxFontMapper *CreateFontMapper();
 #endif // wxUSE_FONTMAP
     virtual wxRendererNative *CreateRenderer();
-#if wxUSE_SOCKETS
-    virtual GSocketGUIFunctionsTable* GetSocketGUIFunctionsTable();
-#endif
 
 #ifdef __WXDEBUG__
     virtual bool ShowAssertDialog(const wxString& msg);