summaryrefslogtreecommitdiff
path: root/src/organizercore.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/organizercore.h')
-rw-r--r--src/organizercore.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/organizercore.h b/src/organizercore.h
index 5cfbaca4..ff730c2b 100644
--- a/src/organizercore.h
+++ b/src/organizercore.h
@@ -14,6 +14,7 @@
#include "modlistsortproxy.h"
#include "pluginlistsortproxy.h"
#include "executableslist.h"
+#include "usvfsconnector.h"
#include <directoryentry.h>
#include <imoinfo.h>
#include <iplugindiagnose.h>
@@ -115,7 +116,7 @@ public:
void doAfterLogin(const std::function<void()> &function) { m_PostLoginTasks.append(function); }
- void spawnBinary(const QFileInfo &binary, const QString &arguments = "", const QDir &currentDirectory = QDir(), bool closeAfterStart = true, const QString &steamAppID = "");
+ void spawnBinary(const QFileInfo &binary, const QString &arguments = "", const QDir &currentDirectory = QDir(), const QString &steamAppID = "");
HANDLE spawnBinaryDirect(const QFileInfo &binary, const QString &arguments, const QString &profileName, const QDir &currentDirectory, const QString &steamAppID);
void loginSuccessfulUpdate(bool necessary);
@@ -125,6 +126,8 @@ public:
MOBase::DelayedFileWriter &pluginsWriter() { return m_PluginListsWriter; }
+ void prepareVFS();
+
public:
MOBase::IModRepositoryBridge *createNexusBridge() const;
QString profileName() const;
@@ -156,7 +159,10 @@ public:
bool onFinishedRun(const std::function<void (const QString &, unsigned int)> &func);
void refreshModList(bool saveChanges = true);
- //std::vector<std::pair<QString, QString> > fileMapping();
+ /**
+ * @brief return a descriptor of the mappings real file->virtual file
+ */
+ std::vector<Mapping> fileMapping();
public: // IPluginDiagnose interface
@@ -209,11 +215,11 @@ private:
bool testForSteam();
- /*
- * std::vector<std::pair<QString, QString>> fileMapping(const QString &dataPath,
- const MOShared::DirectoryEntry *base,
- const MOShared::DirectoryEntry *directoryEntry);
-*/
+ std::vector<Mapping>
+ fileMapping(const QString &dataPath, const QString &relPath,
+ const MOShared::DirectoryEntry *base,
+ const MOShared::DirectoryEntry *directoryEntry,
+ int createDestination);
private slots:
@@ -269,6 +275,7 @@ private:
bool m_ArchivesInit;
MOBase::DelayedFileWriter m_PluginListsWriter;
+ UsvfsConnector m_USVFS;
};