From cb453a9ba70106832eec2cb0feecbd91d2e8b7d7 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Wed, 2 Dec 2020 21:08:22 +0100 Subject: Fix callbacks for IOrganizer when plugin are unloaded/loaded. --- src/organizerproxy.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/organizerproxy.h') 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 #include -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 m_Connections; std::unique_ptr m_DownloadManagerProxy; std::unique_ptr m_ModListProxy; -- cgit v1.3.1