33 lines
715 B
C++
33 lines
715 B
C++
// TJP COPYRIGHT HEADER
|
|
|
|
#pragma once
|
|
|
|
#include "../file/VirtualFileSystem.hpp"
|
|
#include <tjp/core/exception/Exception.hpp>
|
|
|
|
namespace tjp::core::zip {
|
|
|
|
struct VirtualFileSystem : file::VirtualFileSystem
|
|
{
|
|
using Super = file::VirtualFileSystem;
|
|
|
|
struct I;
|
|
mutable I *i;
|
|
|
|
VirtualFileSystem(file::Contents &&contents);
|
|
|
|
inline
|
|
String pathFor(const StringView &path) const override
|
|
{
|
|
throw Exception { "No Implemented" };
|
|
}
|
|
|
|
file::Contents get(const StringView &path) const override;
|
|
Optional<file::Contents> get_if(const StringView &path) const override;
|
|
void put(const StringView &path, file::ContentsView contents) override;
|
|
bool has(const StringView &fileName) const override;
|
|
} ;
|
|
|
|
|
|
} // namespace
|