Cogs.Core
ResourceBufferBackedFileContents.h
1#pragma once
2
3#include "Resources/ResourceStore.h"
4
5#include "Foundation/Platform/FileContents.h"
6
7namespace Cogs::Platform {
10 std::string path;
11
12 ResourceBufferBackedFileContents(Core::ResourceBuffer& buffer, const std::string& path, Cogs::FileContentsHints hints) : FileContents(nullptr, 0, hints), buffer(buffer), path(path) {
13 ptr = buffer.data();
14 size = buffer.size();
15 }
16
18
19 Memory::MemoryBuffer take() override { return takeCopy(); }
20 StringView origin() override { return path; }
21 };
22
23}
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24
FileContentsHints
Definition: FileContents.h:11
uint8_t * data()
Returns pointer to start of buffer data. Requires non-empty Contents.
Definition: ResourceStore.h:25
Abstract base class storing data read from a file.
Definition: FileContents.h:20
size_t size
Number of data bytes.
Definition: FileContents.h:29
const uint8_t * ptr
Start of buffer storing file data. Use.
Definition: FileContents.h:27
Memory::MemoryBuffer take() override
Take ownership of underlying memorybuffer if exists.