openmw-tes3coop/components/vfs/archive.hpp

34 lines
717 B
C++
Raw Normal View History

#ifndef OPENMW_COMPONENTS_RESOURCE_ARCHIVE_H
#define OPENMW_COMPONENTS_RESOURCE_ARCHIVE_H
#include <map>
#include <components/files/constrainedfilestream.hpp>
namespace VFS
{
class File
{
public:
virtual ~File() {}
virtual Files::IStreamPtr open() = 0;
};
class Archive
{
public:
virtual ~Archive() {}
2017-08-19 07:43:31 +00:00
/// Clears cached data for archives that may change.
virtual void resetIfNotStatic(){};
/// List all resources contained in this archive, and run the resource names through the given normalize function.
virtual void listResources(std::map<std::string, File*>& out, char (*normalize_function) (char)) = 0;
};
}
#endif