diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-08-17 05:06:26 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2020-11-03 11:39:08 -0500 |
| commit | 4c5e3da2334a1d0c474148be8881b46d6ca6d3fa (patch) | |
| tree | 188be5f54644cc5e432f957fe5bf406d372e5e80 /src/organizerproxy.h | |
| parent | ee53312652af10fbddb5d1d16db6212bca2b9665 (diff) | |
moved nexus api stuff to GlobalSettings
pass a pointer to Settings around for things that can be called without settings, when creating the first instance
added dummy plugin list, mod list and iorganizer to initialize plugins without an instance
moved PluginContainer into the core filter, had nothing to do with the plugins list
NexusInterface is now created manually instead of being a static singleton because it needs to know if the settings are available
Diffstat (limited to 'src/organizerproxy.h')
| -rw-r--r-- | src/organizerproxy.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/organizerproxy.h b/src/organizerproxy.h index 6690d612..3bd70113 100644 --- a/src/organizerproxy.h +++ b/src/organizerproxy.h @@ -81,4 +81,63 @@ private: };
+
+class DummyOrganizerProxy : public MOBase::IOrganizer
+{
+public:
+ DummyOrganizerProxy(const QString &pluginName);
+ ~DummyOrganizerProxy();
+
+ virtual MOBase::IModRepositoryBridge *createNexusBridge() const;
+ virtual QString profileName() const;
+ virtual QString profilePath() const;
+ virtual QString downloadsPath() const;
+ virtual QString overwritePath() const;
+ virtual QString basePath() const;
+ virtual QString modsPath() const;
+ virtual MOBase::VersionInfo appVersion() const;
+ virtual MOBase::IModInterface *getMod(const QString &name) const;
+ virtual MOBase::IPluginGame *getGame(const QString &gameName) const;
+ virtual MOBase::IModInterface *createMod(MOBase::GuessedValue<QString> &name);
+ virtual bool removeMod(MOBase::IModInterface *mod);
+ virtual void modDataChanged(MOBase::IModInterface *mod);
+ virtual QVariant pluginSetting(const QString &pluginName, const QString &key) const;
+ virtual void setPluginSetting(const QString &pluginName, const QString &key, const QVariant &value);
+ virtual QVariant persistent(const QString &pluginName, const QString &key, const QVariant &def = QVariant()) const;
+ virtual void setPersistent(const QString &pluginName, const QString &key, const QVariant &value, bool sync = true);
+ virtual QString pluginDataPath() const;
+ virtual MOBase::IModInterface *installMod(const QString &fileName, const QString &nameSuggestion = QString());
+ virtual QString resolvePath(const QString &fileName) const;
+ virtual QStringList listDirectories(const QString &directoryName) const;
+ virtual QStringList findFiles(const QString &path, const std::function<bool(const QString &)> &filter) const override;
+ virtual QStringList findFiles(const QString &path, const QStringList &globFilters) const override;
+ virtual QStringList getFileOrigins(const QString &fileName) const;
+ virtual QList<FileInfo> findFileInfos(const QString &path, const std::function<bool(const FileInfo&)> &filter) const;
+
+ virtual MOBase::IDownloadManager *downloadManager() const;
+ virtual MOBase::IPluginList *pluginList() const;
+ virtual MOBase::IModList *modList() const;
+ virtual MOBase::IProfile *profile() const override;
+ virtual HANDLE startApplication(const QString &executable, const QStringList &args = QStringList(), const QString &cwd = "",
+ const QString &profile = "", const QString &forcedCustomOverwrite = "", bool ignoreCustomOverwrite = false);
+ virtual bool waitForApplication(HANDLE handle, LPDWORD exitCode = nullptr) const;
+ virtual void refreshModList(bool saveChanges);
+
+ virtual bool onAboutToRun(const std::function<bool(const QString&)> &func);
+ virtual bool onFinishedRun(const std::function<void (const QString&, unsigned int)> &func);
+ virtual bool onModInstalled(const std::function<void (const QString&)> &func);
+ virtual bool onUserInterfaceInitialized(std::function<void(QMainWindow*)> const& func);
+ virtual bool onProfileChanged(std::function<void(MOBase::IProfile*, MOBase::IProfile*)> const& func);
+ virtual bool onPluginSettingChanged(std::function<void(QString const&, const QString& key, const QVariant&, const QVariant&)> const& func);
+
+ virtual MOBase::IPluginGame const *managedGame() const;
+
+ virtual QStringList modsSortedByProfilePriority() const;
+
+private:
+ const QString &m_PluginName;
+ std::unique_ptr<MOBase::IPluginList> m_plugins;
+ std::unique_ptr<MOBase::IModList> m_mods;
+};
+
#endif // ORGANIZERPROXY_H
|
