cmodmanager.h 1002 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include "cmodlist.h"
  3. class CModManager
  4. {
  5. CModList * modList;
  6. QString settingsPath();
  7. // check-free version of public method
  8. bool doEnableMod(QString mod, bool on);
  9. bool doInstallMod(QString mod, QString archivePath);
  10. bool doUninstallMod(QString mod);
  11. QVariantMap modSettings;
  12. QVariantMap localMods;
  13. QStringList recentErrors;
  14. bool addError(QString modname, QString message);
  15. public:
  16. CModManager(CModList * modList);
  17. void resetRepositories();
  18. void loadRepository(QString filename);
  19. void loadModSettings();
  20. void loadMods();
  21. QStringList getErrors();
  22. /// mod management functions. Return true if operation was successful
  23. /// installs mod from zip archive located at archivePath
  24. bool installMod(QString mod, QString archivePath);
  25. bool uninstallMod(QString mod);
  26. bool enableMod(QString mod);
  27. bool disableMod(QString mod);
  28. bool canInstallMod(QString mod);
  29. bool canUninstallMod(QString mod);
  30. bool canEnableMod(QString mod);
  31. bool canDisableMod(QString mod);
  32. };