SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Loading...
Searching...
No Matches
OL.h
Go to the documentation of this file.
1#pragma once
2
4
5#include "../PackFile.h"
6
7namespace vpkpp {
8
9constexpr std::string_view OL_SIGNATURE = "Worldcraft Prefab Library\x0d\x0a\x1a";
10constexpr std::string_view OL_EXTENSION = ".ol";
11
12class OL : public PackFileReadOnly {
13public:
15 [[nodiscard]] static std::unique_ptr<PackFile> open(const std::string& path, const EntryCallback& callback = nullptr);
16
17 static constexpr inline std::string_view GUID = "5982C9BB0C5B4F9184FA0935A3E3C119";
18
19 [[nodiscard]] constexpr std::string_view getGUID() const override {
20 return OL::GUID;
21 }
22
23 [[nodiscard]] constexpr bool isCaseSensitive() const override {
24 return true;
25 }
26
27 [[nodiscard]] std::optional<std::vector<std::byte>> readEntry(const std::string& path_) const override;
28
29 [[nodiscard]] Attribute getSupportedEntryAttributes() const override;
30
31 [[nodiscard]] const std::string& getNotes() const;
32
33 [[nodiscard]] std::optional<std::string> getEntryNotes(const std::string& path) const;
34
35protected:
37
38 std::string notes;
39
40private:
42};
43
44} // namespace vpkpp
#define VPKPP_REGISTER_PACKFILE_OPEN(extension, function)
Definition: PackFile.h:242
Definition: OL.h:12
static constexpr std::string_view GUID
Definition: OL.h:17
Attribute getSupportedEntryAttributes() const override
Returns a list of supported entry attributes Mostly for GUI programs that show entries and their meta...
Definition: OL.cpp:113
static std::unique_ptr< PackFile > open(const std::string &path, const EntryCallback &callback=nullptr)
Open an OL file.
Definition: OL.cpp:19
std::string notes
Definition: OL.h:38
constexpr bool isCaseSensitive() const override
Does the format support case-sensitive file names?
Definition: OL.h:23
std::optional< std::string > getEntryNotes(const std::string &path) const
Definition: OL.cpp:122
std::optional< std::vector< std::byte > > readEntry(const std::string &path_) const override
Try to read the entry's data to a bytebuffer.
Definition: OL.cpp:94
constexpr std::string_view getGUID() const override
Get the GUID corresponding to the pack file type.
Definition: OL.h:19
const std::string & getNotes() const
Definition: OL.cpp:118
PackFileReadOnly(const std::string &fullFilePath_)
Definition: PackFile.cpp:720
EntryCallbackBase< void > EntryCallback
Definition: PackFile.h:30
Definition: Attribute.h:5
constexpr std::string_view OL_SIGNATURE
Definition: OL.h:9
constexpr std::string_view OL_EXTENSION
Definition: OL.h:10
Attribute
Definition: Attribute.h:7