summaryrefslogtreecommitdiff
path: root/src/installationmanager.h
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-09-21 21:36:09 +0200
committerMikaël Capelle <capelle.mikael@gmail.com>2020-09-21 21:36:09 +0200
commitd9a8e67598b88d13b09d3e43c8f40418dea1f2a5 (patch)
tree4a80483a343d2016f20033a95a66edf71d24d076 /src/installationmanager.h
parent7563e4a517c93aeb65955985887dd0fbdbe224c7 (diff)
Add IPluginInstaller onInstallationStart and onInstallationEnd callbacks.
Diffstat (limited to 'src/installationmanager.h')
-rw-r--r--src/installationmanager.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/installationmanager.h b/src/installationmanager.h
index 63e8794e..4e4f4346 100644
--- a/src/installationmanager.h
+++ b/src/installationmanager.h
@@ -34,6 +34,8 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include <map>
#include <errorcodes.h>
+#include "modinfo.h"
+
/**
* @brief manages the installation of mod archives
@@ -63,6 +65,22 @@ public:
void setURL(const QString &url);
/**
+ * @brief Notify all installer plugins that an installation is about to start.
+ *
+ * @param archive Path to the archive that is going to be installed.
+ * @param currentMod The mod being re-installed, or a null pointer for new installation.
+ */
+ void notifyInstallationStart(QString const& archive, ModInfo::Ptr currentMod);
+
+ /**
+ * @brief notify all installer plugins that an installation has ended.
+ *
+ * @param result The result of the installation process.
+ * @param currentMod The newly install mod, if result is SUCCESS, a null pointer otherwise.
+ */
+ void notifyInstallationEnd(MOBase::IPluginInstaller::EInstallResult result, ModInfo::Ptr newMod);
+
+ /**
* @brief update the directory where mods are to be installed
* @param modsDirectory the mod directory
* @note this is called a lot, probably redundantly