Covellite++  Version: 2.3.0 Revision: 2580 Platform: x64 Build: 15:23 16.10.2020
Кроссплатформенный фреймворк для разработки приложений на С++
File.hpp
1 
2 #pragma once
3 #include <alicorn\boost\filesystem\load-binary-file.hpp>
4 
5 namespace covellite
6 {
7 
8 namespace gui
9 {
10 
30 class File final :
31  public CovelliteGui::Core::FileInterface
32 {
33  using Path_t = CovelliteGui::Core::String;
34  using Handle_t = CovelliteGui::Core::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 
43 public:
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 
54 private:
55  static Handle_t MakeUniqueHandle(void) noexcept;
56 
57 private:
58  ::std::map<Handle_t, FileInfo> m_Infos;
59 };
60 
61 } // namespace gui
62 
63 } // namespace covellite
covellite::gui::File::MakeUniqueHandle
static Handle_t MakeUniqueHandle(void) noexcept
Функция создания уникального идентификатора для открываемого файла.
Definition: File.cpp:126
covellite::gui::File::Length
size_t Length(Handle_t) override
Функция получения размера в байтах указанного файла.
Definition: File.cpp:114
covellite::gui::File::Open
Handle_t Open(const Path_t &) override
Функция открытия указанного файла.
Definition: File.cpp:16
covellite::gui::File::Close
void Close(Handle_t) override
Функция закрытия ранее открытого файла.
Definition: File.cpp:39
covellite::gui::File
Класс входит в проект Covellite.Gui Реализация интерфейса для чтения файлов.
Definition: File.hpp:32
covellite::gui::File::Tell
size_t Tell(Handle_t) override
Функция получения текущей позиции чтения указанного файла.
Definition: File.cpp:102
covellite::gui::File::Read
size_t Read(void *, size_t, Handle_t) override
Функция чтения данных из ранее открытого файла.
Definition: File.cpp:48
covellite::gui::File::Seek
bool Seek(Handle_t, long, int) override
Функция установки позиции чтения из ранее открытого файла.
Definition: File.cpp:69