| 1234567891011121314151617181920212223242526272829 |
- #pragma once
- #include <deque>
- #include "FileDefinition.h"
- #include "exports.h"
- namespace craftlab::fakeraid
- {
- class IEngine
- {
- public:
- virtual ~IEngine() {};
- virtual void DirExistsOrThrow() const =0;
- virtual std::vector<std::string> GetRootPaths() const = 0;
- virtual std::vector<std::string> GetPaths() const = 0;
- virtual std::deque<std::string> GetCurrentDir() const =0;
- virtual bool SetWorkingDirectory(const std::vector<std::string>& path) =0;
- virtual FileAndSumListByRepositoryIndex ListFiles() =0;
- virtual void Cd(const std::string& dirName) =0;
- };
- class ENGINEAPI_EXPORT EngineManager
- {
- public:
- EngineManager() =delete;
- static IEngine* Open(const std::vector<std::string>& paths);
- };
- }
|