5#include "../PackFile.h"
9constexpr std::string_view
OL_SIGNATURE =
"Worldcraft Prefab Library\x0d\x0a\x1a";
15 [[nodiscard]]
static std::unique_ptr<PackFile>
open(
const std::string& path,
const EntryCallback& callback =
nullptr);
17 static constexpr inline std::string_view
GUID =
"5982C9BB0C5B4F9184FA0935A3E3C119";
19 [[nodiscard]]
constexpr std::string_view
getGUID()
const override {
27 [[nodiscard]] std::optional<std::vector<std::byte>>
readEntry(
const std::string& path_)
const override;
31 [[nodiscard]]
const std::string&
getNotes()
const;
33 [[nodiscard]] std::optional<std::string>
getEntryNotes(
const std::string& path)
const;
#define VPKPP_REGISTER_PACKFILE_OPEN(extension, function)
static constexpr std::string_view GUID
Attribute getSupportedEntryAttributes() const override
Returns a list of supported entry attributes Mostly for GUI programs that show entries and their meta...
static std::unique_ptr< PackFile > open(const std::string &path, const EntryCallback &callback=nullptr)
Open an OL file.
constexpr bool isCaseSensitive() const override
Does the format support case-sensitive file names?
std::optional< std::string > getEntryNotes(const std::string &path) const
std::optional< std::vector< std::byte > > readEntry(const std::string &path_) const override
Try to read the entry's data to a bytebuffer.
constexpr std::string_view getGUID() const override
Get the GUID corresponding to the pack file type.
const std::string & getNotes() const
PackFileReadOnly(const std::string &fullFilePath_)
EntryCallbackBase< void > EntryCallback
constexpr std::string_view OL_SIGNATURE
constexpr std::string_view OL_EXTENSION