Elaztek Developer Hub
Blamite Game Engine - blam!  00423.10.27.24.0533.blamite
The core library for the Blamite Game Engine.
storage_manager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "types.h"
4 
5 namespace discord {
6 
7 class StorageManager final {
8 public:
9  ~StorageManager() = default;
10 
11  Result Read(char const* name,
12  std::uint8_t* data,
13  std::uint32_t dataLength,
14  std::uint32_t* read);
15  void ReadAsync(char const* name,
16  std::function<void(Result, std::uint8_t*, std::uint32_t)> callback);
17  void ReadAsyncPartial(char const* name,
18  std::uint64_t offset,
19  std::uint64_t length,
20  std::function<void(Result, std::uint8_t*, std::uint32_t)> callback);
21  Result Write(char const* name, std::uint8_t* data, std::uint32_t dataLength);
22  void WriteAsync(char const* name,
23  std::uint8_t* data,
24  std::uint32_t dataLength,
25  std::function<void(Result)> callback);
26  Result Delete(char const* name);
27  Result Exists(char const* name, bool* exists);
28  void Count(std::int32_t* count);
29  Result Stat(char const* name, FileStat* stat);
30  Result StatAt(std::int32_t index, FileStat* stat);
31  Result GetPath(char path[4096]);
32 
33 private:
34  friend class Core;
35 
36  StorageManager() = default;
37  StorageManager(StorageManager const& rhs) = delete;
38  StorageManager& operator=(StorageManager const& rhs) = delete;
39  StorageManager(StorageManager&& rhs) = delete;
40  StorageManager& operator=(StorageManager&& rhs) = delete;
41 
42  IDiscordStorageManager* internal_;
43  static IDiscordStorageEvents events_;
44 };
45 
46 } // namespace discord
discord
Definition: achievement_manager.cpp:12
IDiscordStorageManager::exists
enum const char bool * exists
Definition: ffi.h:909
EDiscordResult
EDiscordResult
Definition: ffi.h:45
DiscordFileStat
Definition: ffi.h:359
discord::StorageManager::GetPath
Result GetPath(char path[4096])
Definition: storage_manager.cpp:148
discord::StorageManager
Definition: storage_manager.h:7
discord::StorageManager::Exists
Result Exists(char const *name, bool *exists)
Definition: storage_manager.cpp:107
discord::Core
Definition: core.h:19
discord::StorageManager::Count
void Count(std::int32_t *count)
Definition: storage_manager.cpp:118
discord::StorageManager::ReadAsync
void ReadAsync(char const *name, std::function< void(Result, std::uint8_t *, std::uint32_t)> callback)
Definition: storage_manager.cpp:31
uint8_t
unsigned char uint8_t
Definition: stdint.h:15
discord::FileStat
Definition: types.h:444
uint64_t
unsigned long long uint64_t
Definition: stdint.h:18
types.h
core.h
int32_t
int int32_t
Definition: stdint.h:13
discord::Result
Result
Definition: types.h:12
discord::StorageManager::Stat
Result Stat(char const *name, FileStat *stat)
Definition: storage_manager.cpp:127
discord::StorageManager::StatAt
Result StatAt(std::int32_t index, FileStat *stat)
Definition: storage_manager.cpp:138
IDiscordStorageEvents
void * IDiscordStorageEvents
Definition: ffi.h:870
discord::StorageManager::Read
Result Read(char const *name, std::uint8_t *data, std::uint32_t dataLength, std::uint32_t *read)
Definition: storage_manager.cpp:14
IDiscordStorageManager::stat
enum const char struct DiscordFileStat * stat
Definition: ffi.h:913
discord::StorageManager::Write
Result Write(char const *name, std::uint8_t *data, std::uint32_t dataLength)
Definition: storage_manager.cpp:71
IDiscordStorageManager::count
int32_t * count
Definition: ffi.h:910
discord::StorageManager::Delete
Result Delete(char const *name)
Definition: storage_manager.cpp:101
uint32_t
unsigned int uint32_t
Definition: stdint.h:17
IDiscordStorageManager
Definition: ffi.h:872
IDiscordStorageManager::read
enum const char uint8_t uint32_t uint32_t * read
Definition: ffi.h:877
storage_manager.h
discord::StorageManager::ReadAsyncPartial
void ReadAsyncPartial(char const *name, std::uint64_t offset, std::uint64_t length, std::function< void(Result, std::uint8_t *, std::uint32_t)> callback)
Definition: storage_manager.cpp:49
discord::StorageManager::WriteAsync
void WriteAsync(char const *name, std::uint8_t *data, std::uint32_t dataLength, std::function< void(Result)> callback)
Definition: storage_manager.cpp:78
discord::StorageManager::~StorageManager
~StorageManager()=default
DiscordPath
char DiscordPath[4096]
Definition: ffi.h:253
discord::Result::InternalError
@ InternalError