cmodmanager.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. bool removeModDir(QString mod);
  16. public:
  17. CModManager(CModList * modList);
  18. void resetRepositories();
  19. void loadRepository(QString filename);
  20. void loadModSettings();
  21. void loadMods();
  22. QStringList getErrors();
  23. /// mod management functions. Return true if operation was successful
  24. /// installs mod from zip archive located at archivePath
  25. bool installMod(QString mod, QString archivePath);
  26. bool uninstallMod(QString mod);
  27. bool enableMod(QString mod);
  28. bool disableMod(QString mod);
  29. bool canInstallMod(QString mod);
  30. bool canUninstallMod(QString mod);
  31. bool canEnableMod(QString mod);
  32. bool canDisableMod(QString mod);
  33. };