#ifndef OPENMW_COMPONENTS_RESOURCE_FILESYSTEMARCHIVE_H #define OPENMW_COMPONENTS_RESOURCE_FILESYSTEMARCHIVE_H #include "archive.hpp" #include "file.hpp" #include #include namespace VFS { class FileSystemArchiveFile : public File { public: FileSystemArchiveFile(const std::filesystem::path& path); Files::IStreamPtr open() override; std::filesystem::path getPath() override { return mPath; } private: std::filesystem::path mPath; }; class FileSystemArchive : public Archive { public: FileSystemArchive(const std::filesystem::path& path); void listResources(FileMap& out) override; bool contains(Path::NormalizedView file) const override; std::string getDescription() const override; private: std::map> mIndex; std::filesystem::path mPath; }; } #endif