diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-12-02 21:08:22 +0100 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-12-02 21:08:22 +0100 |
| commit | cb453a9ba70106832eec2cb0feecbd91d2e8b7d7 (patch) | |
| tree | c23efc7f1ad1679fe906c43f6886e1c78c0308c5 /src/organizerproxy.h | |
| parent | 4f7f378d8d6f9ec93d7e024ce73cda6b177fc490 (diff) | |
Fix callbacks for IOrganizer when plugin are unloaded/loaded.
Diffstat (limited to 'src/organizerproxy.h')
| -rw-r--r-- | src/organizerproxy.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/organizerproxy.h b/src/organizerproxy.h index 3097adf0..fb463822 100644 --- a/src/organizerproxy.h +++ b/src/organizerproxy.h @@ -6,7 +6,8 @@ #include <iplugin.h>
#include <imoinfo.h>
-class OrganizerCore;
+#include "organizercore.h"
+
class PluginContainer;
class DownloadManagerProxy;
class ModListProxy;
@@ -18,6 +19,7 @@ class OrganizerProxy : public MOBase::IOrganizer public:
OrganizerProxy(OrganizerCore *organizer, PluginContainer *pluginContainer, MOBase::IPlugin *plugin);
+ ~OrganizerProxy();
/**
* @return the plugin corresponding to this proxy.
@@ -76,12 +78,31 @@ public: virtual MOBase::IPluginGame const *managedGame() const;
+protected:
+
+ // The container needs access to some callbacks to simulate startup.
+ friend class PluginContainer;
+
private:
OrganizerCore *m_Proxied;
PluginContainer *m_PluginContainer;
MOBase::IPlugin *m_Plugin;
+ QString m_PluginName;
+
+ OrganizerCore::SignalAboutToRunApplication m_AboutToRun;
+ OrganizerCore::SignalFinishedRunApplication m_FinishedRun;
+ OrganizerCore::SignalUserInterfaceInitialized m_UserInterfaceInitialized;
+ OrganizerCore::SignalProfileCreated m_ProfileCreated;
+ OrganizerCore::SignalProfileRenamed m_ProfileRenamed;
+ OrganizerCore::SignalProfileRemoved m_ProfileRemoved;
+ OrganizerCore::SignalProfileChanged m_ProfileChanged;
+ OrganizerCore::SignalPluginSettingChanged m_PluginSettingChanged;
+ OrganizerCore::SignalPluginEnabled m_PluginEnabled;
+ OrganizerCore::SignalPluginEnabled m_PluginDisabled;
+
+ std::vector<boost::signals2::connection> m_Connections;
std::unique_ptr<DownloadManagerProxy> m_DownloadManagerProxy;
std::unique_ptr<ModListProxy> m_ModListProxy;
|
