29 void init(
const char* arg0)
override;
32 void setFused(
bool value)
override;
34 bool isFused()
const override;
37 bool setupWriteDirectory()
override;
40 bool setIdentity(std::string ident,
bool appendToPath =
false)
override;
42 std::string getIdentity()
const override;
45 bool setSource(std::string
source)
override;
47 bool setSourceFromMemory(
const void* data,
size_t size)
override;
50 std::string getSource()
const override;
53 bool mount(std::string archive, std::string mountpoint,
bool appendToPath =
false)
override;
55 bool mount(
Data *data, std::string archivename, std::string mountpoint,
bool appendToPath =
false)
override;
57 bool mountRealDirectory(std::string realDir, std::string mountpoint,
bool appendToPath =
false)
override;
59 bool unmountRealDirectory(std::string realDir)
override;
62 bool unmount(std::string archive)
override;
64 bool unmount(
Data *data)
override;
70 std::string getWorkingDirectory()
override;
72 std::string getUserDirectory()
override;
74 std::string getAppdataDirectory()
override;
76 std::string getSaveDirectory()
override;
78 std::string getSourceBaseDirectory()
const override;
81 std::string getRealDirectory(std::string filename)
const override;
84 bool getInfo(std::string filepath,
Info &
info)
const override;
87 bool createDirectory(std::string
dir)
override;
90 bool remove(std::string
file)
override;
93 FileData *read(std::string filename, int64_t
size = File::ALL)
const override;
95 void write(std::string filename,
const void *data, int64_t
size)
const override;
97 void append(std::string filename,
const void *data, int64_t
size)
const override;
100 std::vector<std::string> getDirectoryItems(std::string
dir)
override;
103 void setSymlinksEnabled(
bool enable)
override;
105 bool areSymlinksEnabled()
const override;
108 std::vector<std::string> &getRequirePath()
override;
110 std::vector<std::string> &getCRequirePath()
override;
113 void allowMountingForPath(
const std::string &
path)
override;
116 bool watch(std::string
path)
override;
119 std::string reportPath)
override;
121 bool unwatch(std::string
path)
override;
123 void unwatchAll()
override;
125 int getWatchCount()
const override;
127 std::string pollWatch()
override;
129 std::string getLastWatchPath()
const override;
131 std::string getLastWatchRealPath()
const override;
134 bool resolveWatchTarget(
const std::string &
path, std::string &realDir, std::string &filterName,
135 std::string &reportPath);
146 std::string save_identity;
151 std::string save_path_relative, save_path_full;
154 std::string game_source;
162 std::vector<std::string> requirePath;
163 std::vector<std::string> cRequirePath;
165 std::vector<std::string> allowedMountPaths;
167 std::map<std::string, Data*> mountedData;
169 std::unique_ptr<FileWatch> fileWatch_;
170 std::string lastWatchPath_;
171 std::string lastWatchRealPath_;
174 std::vector<std::string> mountedRealDirs_;
178 void* memoryArchive_ =
nullptr;