]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/module.h
support for using DIBs for wxBitmap implementation (patch 649866)
[wxWidgets.git] / include / wx / module.h
index e15b4de06b329e47399ef8c260b484a550ca7bee..aeee79b942142ef14295fdbaf3769f4d81218009 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_MODULEH__
 #define _WX_MODULEH__
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "module.h"
 #endif
 
@@ -21,7 +21,7 @@
 
 // declare a linked list of modules
 class wxModule;
-WX_DECLARE_LIST(wxModule, wxModuleList);
+WX_DECLARE_EXPORTED_LIST(wxModule, wxModuleList);
 
 // declaring a class derived from wxModule will automatically create an
 // instance of this class on program startup, call its OnInit() method and call
@@ -32,15 +32,20 @@ public:
     wxModule() {}
     virtual ~wxModule() {}
 
-    // if module init routine returns FALSE application will fail to startup
+       // if module init routine returns FALSE application
+       // will fail to startup
+
     bool Init() { return OnInit(); }
     void Exit() { OnExit(); }
 
-    // Override both of these
+       // Override both of these
         // called on program startup
+
     virtual bool OnInit() = 0;
-        // called just before program termination, but only if OnInit()
+
+       // called just before program termination, but only if OnInit()
         // succeeded
+    
     virtual void OnExit() = 0;
 
     static void RegisterModule(wxModule* module);
@@ -48,6 +53,10 @@ public:
     static bool InitializeModules();
     static void CleanUpModules();
 
+       // used by wxObjectLoader when unloading shared libs's
+
+    static void UnregisterModule(wxModule* module);
+
 protected:
     static wxModuleList m_modules;