aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_fomod_plus/installer/lib/FileInstaller.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/installer_fomod_plus/installer/lib/FileInstaller.h')
-rw-r--r--libs/installer_fomod_plus/installer/lib/FileInstaller.h94
1 files changed, 0 insertions, 94 deletions
diff --git a/libs/installer_fomod_plus/installer/lib/FileInstaller.h b/libs/installer_fomod_plus/installer/lib/FileInstaller.h
deleted file mode 100644
index 1c122a7..0000000
--- a/libs/installer_fomod_plus/installer/lib/FileInstaller.h
+++ /dev/null
@@ -1,94 +0,0 @@
-#pragma once
-
-#include <ifiletree.h>
-#include <nlohmann/json.hpp>
-
-#include "ConditionTester.h"
-#include "FlagMap.h"
-#include "Logger.h"
-#include "xml/ModuleConfiguration.h"
-
-
-/* This is what legacy fomodInstaller does:
- modName.update(dialog.getName(), GUESS_USER);
- return dialog.updateTree(tree);
-
- This is a link to the legacy updateTree method:
- https://github.com/ModOrganizer2/modorganizer-installer_fomod/blob/fc263f2d923c704b4853c11ed4f8b8cf3920f30d/src/fomodinstallerdialog.cpp#L546
-
-*/
-
-// Things this should do:
-// - Copy all requiredInstall files
-// - Copy all conditionalInstall files
-// - Copy all selected files from steps that were visible to the user at the point of install
-
-using namespace MOBase;
-
-using FileGlobalIndex = int;
-using FileDescriptor = std::pair<File, FileGlobalIndex>;
-
-class StepViewModel;
-
-class FileInstaller {
-public:
- FileInstaller(
- IOrganizer* organizer,
- QString fomodPath,
- const std::shared_ptr<IFileTree>& fileTree,
- std::unique_ptr<ModuleConfiguration> fomodFile,
- const std::shared_ptr<FlagMap>& flagMap,
- const std::vector<std::shared_ptr<StepViewModel> >& steps);
-
- std::shared_ptr<IFileTree> install() const;
-
- /**
- * @brief Create a 'fomod.json' file to add to the base of the installTree. Functionally similar to MO2's meta.ini.
- *
- * Until there's more utility in the JSON structure itself, it will simply be of this format:
- * @code
- * {
- * "steps": [
- * {
- * "name": "Step 1",
- * "groups": [
- * {
- * "name": "Group 1",
- * "plugins: [
- * "Plugin1.esp",
- * "Plugin2.esp"
- * ]
- * }
- * ]
- * }
- * ]
- * }
- * @endcode
- *
- * @return nhlohmann::json
- */
- nlohmann::json generateFomodJson() const;
-
- std::string getQualifiedFilePath(const std::string& treePath) const;
-
- std::vector<std::string> collectPositiveFileNamesFromDependencyPatterns(const std::vector<DependencyPattern> &patterns);
-
- void addFiles(std::vector<File>& main, std::vector<File> toAdd) const;
-
-private:
- IOrganizer* mOrganizer;
- Logger& log = Logger::getInstance();
- QString mFomodPath;
- std::shared_ptr<IFileTree> mFileTree;
- std::unique_ptr<ModuleConfiguration> mFomodFile;
- std::shared_ptr<FlagMap> mFlagMap;
- ConditionTester mConditionTester;
- std::vector<std::shared_ptr<StepViewModel> > mSteps; // TODO: Maybe this is nasty. Idk.
-
- std::vector<File> collectFilesToInstall() const;
-
- void logMessage(LogLevel level, const std::string& message) const
- {
- log.logMessage(level, "[INSTALLER] " + message);
- }
-};