]> git.saurik.com Git - wxWidgets.git/commitdiff
Move the wxDL_ macros to wxDynLibrary
authorRobert Roebling <robert@roebling.de>
Thu, 6 Sep 2007 13:37:32 +0000 (13:37 +0000)
committerRobert Roebling <robert@roebling.de>
Thu, 6 Sep 2007 13:37:32 +0000 (13:37 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/dynlib.h
src/gtk/gnome/gprint.cpp
src/gtk/gnome/gvfs.cpp
src/msw/mediactrl.cpp
src/msw/mediactrl_qt.cpp

index 4d5f948628c403c40687be2b64ec24283110b319..a4916b3706ccd88578966caa2efbd6ae217da302 100644 (file)
@@ -105,6 +105,27 @@ enum wxPluginCategory
 #define wxDYNLIB_FUNCTION(type, name, dynlib) \
     type pfn ## name = (type)(dynlib).GetSymbol(_T(#name))
 
 #define wxDYNLIB_FUNCTION(type, name, dynlib) \
     type pfn ## name = (type)(dynlib).GetSymbol(_T(#name))
 
+
+// the following macros can be used to redirect a whole
+// library to a class and check at run-time if the the
+// library is present and contains all required methods.
+
+#define wxDL_METHOD_DEFINE( rettype, name, args, shortargs, defret ) \
+    typedef rettype (* name ## Type) args ; \
+    name ## Type pfn_ ## name; \
+    rettype name args \
+    { if (m_ok) return pfn_ ## name shortargs ; return defret; }
+
+#define wxDL_VOIDMETHOD_DEFINE( name, args, shortargs ) \
+    typedef void (* name ## Type) args ; \
+    name ## Type pfn_ ## name; \
+    void name args \
+    { if (m_ok) pfn_ ## name shortargs ; }
+    
+#define wxDL_METHOD_LOAD( lib, name, success ) \
+    pfn_ ## name = (name ## Type) lib->GetSymbol( wxT(#name), &success ); \
+    if (!success) return;
+
 // ----------------------------------------------------------------------------
 // wxDynamicLibraryDetails: contains details about a loaded wxDynamicLibrary
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // wxDynamicLibraryDetails: contains details about a loaded wxDynamicLibrary
 // ----------------------------------------------------------------------------
index e1230211fc0b566f559b111b2b98b3e81992c2bb..1bc67576ff627d936f920b1d474abb7e9f4e53f3 100644 (file)
@@ -49,16 +49,6 @@ wxFORCE_LINK_THIS_MODULE(gnome_print)
 // wxGnomePrintLibrary
 //----------------------------------------------------------------------------
 
 // wxGnomePrintLibrary
 //----------------------------------------------------------------------------
 
-#define wxDL_METHOD_DEFINE( rettype, name, args, shortargs, defret ) \
-    typedef rettype (* name ## Type) args ; \
-    name ## Type pfn_ ## name; \
-    rettype name args \
-    { if (m_ok) return pfn_ ## name shortargs ; return defret; }
-
-#define wxDL_METHOD_LOAD( lib, name, success ) \
-    pfn_ ## name = (name ## Type) lib->GetSymbol( wxT(#name), &success ); \
-    if (!success) return;
-
 class wxGnomePrintLibrary
 {
 public:
 class wxGnomePrintLibrary
 {
 public:
index cd5b7cace18020f405b1779835ef448d92136dc6..7e44a62b6caca34f296cb559f337900e3c00c043 100644 (file)
@@ -36,16 +36,6 @@ wxFORCE_LINK_THIS_MODULE(gnome_vfs)
 // wxGnomeVFSLibrary
 //----------------------------------------------------------------------------
 
 // wxGnomeVFSLibrary
 //----------------------------------------------------------------------------
 
-#define wxDL_METHOD_DEFINE( rettype, name, args, shortargs, defret ) \
-    typedef rettype (* name ## Type) args ; \
-    name ## Type pfn_ ## name; \
-    rettype name args \
-    { if (m_ok) return pfn_ ## name shortargs ; return defret; }
-
-#define wxDL_METHOD_LOAD( lib, name, success ) \
-    pfn_ ## name = (name ## Type) lib->GetSymbol( wxT(#name), &success ); \
-    if (!success) return;
-
 class wxGnomeVFSLibrary
 {
 public:
 class wxGnomeVFSLibrary
 {
 public:
index 1578d45777e7053f58a93459e1a59777e29ac20b..276fc89b29142f8814b116e01cef6d084a72aca6 100644 (file)
@@ -1665,22 +1665,6 @@ enum
 //---------------------------------------------------------------------------
 //  QT Library
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 //  QT Library
 //---------------------------------------------------------------------------
-#define wxDL_METHOD_DEFINE( rettype, name, args, shortargs, defret ) \
-    typedef rettype (* name ## Type) args ; \
-    name ## Type pfn_ ## name; \
-    rettype name args \
-    { if (m_ok) return pfn_ ## name shortargs ; return defret; }
-
-#define wxDL_VOIDMETHOD_DEFINE( name, args, shortargs ) \
-    typedef void (* name ## Type) args ; \
-    name ## Type pfn_ ## name; \
-    void name args \
-    { if (m_ok) pfn_ ## name shortargs ; }
-
-#define wxDL_METHOD_LOAD( lib, name, success ) \
-    pfn_ ## name = (name ## Type) lib.GetSymbol( wxT(#name), &success ); \
-    if (!success) return false
-
 
 class WXDLLIMPEXP_MEDIA wxQuickTimeLibrary
 {
 
 class WXDLLIMPEXP_MEDIA wxQuickTimeLibrary
 {
index 0a9b63e3eb0dd65eb381049ad0f43997dbf46cb5..df59e34db5483a55af251043a2cd724315d33495 100644 (file)
@@ -171,22 +171,6 @@ enum
 //---------------------------------------------------------------------------
 //  QT Library
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 //  QT Library
 //---------------------------------------------------------------------------
-#define wxDL_METHOD_DEFINE( rettype, name, args, shortargs, defret ) \
-    typedef rettype (* name ## Type) args ; \
-    name ## Type pfn_ ## name; \
-    rettype name args \
-    { if (m_ok) return pfn_ ## name shortargs ; return defret; }
-
-#define wxDL_VOIDMETHOD_DEFINE( name, args, shortargs ) \
-    typedef void (* name ## Type) args ; \
-    name ## Type pfn_ ## name; \
-    void name args \
-    { if (m_ok) pfn_ ## name shortargs ; }
-
-#define wxDL_METHOD_LOAD( lib, name, success ) \
-    pfn_ ## name = (name ## Type) lib.GetSymbol( wxT(#name), &success ); \
-    if (!success) return false
-
 
 class WXDLLIMPEXP_MEDIA wxQuickTimeLibrary
 {
 
 class WXDLLIMPEXP_MEDIA wxQuickTimeLibrary
 {