Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
File.hpp
1
2#pragma once
3#include <alicorn\boost\filesystem\load-binary-file.hpp>
4
5namespace covellite
6{
7
8namespace gui
9{
10
30class File final :
31 public CovelliteGui::FileInterface
32{
33 using Path_t = CovelliteGui::String;
34 using Handle_t = CovelliteGui::FileHandle;
35 using Data_t = ::alicorn::extension::std::memory::BinaryData_t;
36
37 struct FileInfo
38 {
39 Data_t Data;
40 size_t Position;
41 };
42
43public:
44 // Интерфейс FileInterface:
45 Handle_t Open(const Path_t &) override;
46 void Close(Handle_t) override;
47
48 size_t Read(void *, size_t, Handle_t) override;
49 bool Seek(Handle_t, long, int) override;
50 size_t Tell(Handle_t) override;
51
52 size_t Length(Handle_t) override;
53
54private:
55 static Handle_t MakeUniqueHandle(void) noexcept;
56
57private:
58 ::std::map<Handle_t, FileInfo> m_Infos;
59};
60
61} // namespace gui
62
63} // namespace covellite
Класс входит в проект Covellite.Gui Реализация интерфейса для чтения файлов.
Definition File.hpp:32
size_t Tell(Handle_t) override
Функция получения текущей позиции чтения указанного файла.
Definition File.cpp:102
size_t Read(void *, size_t, Handle_t) override
Функция чтения данных из ранее открытого файла.
Definition File.cpp:48
static Handle_t MakeUniqueHandle(void) noexcept
Функция создания уникального идентификатора для открываемого файла.
Definition File.cpp:126
void Close(Handle_t) override
Функция закрытия ранее открытого файла.
Definition File.cpp:39
bool Seek(Handle_t, long, int) override
Функция установки позиции чтения из ранее открытого файла.
Definition File.cpp:69
size_t Length(Handle_t) override
Функция получения размера в байтах указанного файла.
Definition File.cpp:114
Handle_t Open(const Path_t &) override
Функция открытия указанного файла.
Definition File.cpp:16