Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.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
name
ARPHIC PUBLIC LICENSE Ltd Yung Chi Taiwan All rights reserved except as specified below Everyone is permitted to copy and distribute verbatim copies of this license but changing it is forbidden Preamble The licenses for most software are designed to take away your freedom to share and change it By the ARPHIC PUBLIC LICENSE specifically permits and encourages you to use this provided that you give the recipients all the rights that we gave you and make sure they can get the modifications of this software Legal Terms Font means the TrueType fonts AR PL Mingti2L AR PL KaitiM AR PL KaitiM and the derivatives of those fonts created through any modification including modifying reordering converting changing font name
Definition: ARPHICPL.TXT:16