#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::file_time_type getLastModified() const override; std::string getStem() const override; 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