]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/module.h
A little different fix for how to delay the call to __wxCleanup
[wxWidgets.git] / include / wx / module.h
index e15b4de06b329e47399ef8c260b484a550ca7bee..0c50363a6d390782ecb5bf545d6d8c73ff3d8869 100644 (file)
@@ -21,7 +21,7 @@
 
 // declare a linked list of modules
 class wxModule;
 
 // 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
 
 // 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() {}
 
     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(); }
 
     bool Init() { return OnInit(); }
     void Exit() { OnExit(); }
 
-    // Override both of these
+       // Override both of these
         // called on program startup
         // called on program startup
+
     virtual bool OnInit() = 0;
     virtual bool OnInit() = 0;
-        // called just before program termination, but only if OnInit()
+
+       // called just before program termination, but only if OnInit()
         // succeeded
         // succeeded
+    
     virtual void OnExit() = 0;
 
     static void RegisterModule(wxModule* module);
     virtual void OnExit() = 0;
 
     static void RegisterModule(wxModule* module);
@@ -48,6 +53,10 @@ public:
     static bool InitializeModules();
     static void CleanUpModules();
 
     static bool InitializeModules();
     static void CleanUpModules();
 
+       // used by wxObjectLoader when unloading shared libs's
+
+    static void UnregisterModule(wxModule* module);
+
 protected:
     static wxModuleList m_modules;
 
 protected:
     static wxModuleList m_modules;