#pragma once #include "DirInfoEx.h" #include "FSWrapper.h" #include #include class FSWrapperMergeDirsWithParent : public FSWrapper { public: FSWrapperMergeDirsWithParent(const std::string &name, const std::string &pathToReplace, const std::string &replaceWithPath, bool fallbackOnError); ~FSWrapperMergeDirsWithParent() override; FSStatus FSOpenDirWrapper(const char *path, FSDirectoryHandle *handle) override; FSStatus FSReadDirWrapper(FSDirectoryHandle handle, FSDirectoryEntry *entry) override; FSStatus FSCloseDirWrapper(FSDirectoryHandle handle) override; FSStatus FSRewindDirWrapper(FSDirectoryHandle handle) override; DirInfo *getNewDirHandle() override; bool SkipDeletedFilesInReadDir() override; private: void freeFSClient(); FSClient *pFSClient; FSCmdBlock *pCmdBlock; DirInfoEx *getDirExFromHandle(FSDirectoryHandle handle); };