Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
store_manager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "types.h"
4 
5 namespace discord {
6 
7 class StoreManager final {
8 public:
9  ~StoreManager() = default;
10 
11  void FetchSkus(std::function<void(Result)> callback);
12  void CountSkus(std::int32_t* count);
13  Result GetSku(Snowflake skuId, Sku* sku);
14  Result GetSkuAt(std::int32_t index, Sku* sku);
15  void FetchEntitlements(std::function<void(Result)> callback);
16  void CountEntitlements(std::int32_t* count);
17  Result GetEntitlement(Snowflake entitlementId, Entitlement* entitlement);
18  Result GetEntitlementAt(std::int32_t index, Entitlement* entitlement);
19  Result HasSkuEntitlement(Snowflake skuId, bool* hasEntitlement);
20  void StartPurchase(Snowflake skuId, std::function<void(Result)> callback);
21 
24 
25 private:
26  friend class Core;
27 
28  StoreManager() = default;
29  StoreManager(StoreManager const& rhs) = delete;
30  StoreManager& operator=(StoreManager const& rhs) = delete;
31  StoreManager(StoreManager&& rhs) = delete;
32  StoreManager& operator=(StoreManager&& rhs) = delete;
33 
34  IDiscordStoreManager* internal_;
35  static IDiscordStoreEvents events_;
36 };
37 
38 } // namespace discord
discord::StoreEvents::OnEntitlementDelete
static void DISCORD_CALLBACK OnEntitlementDelete(void *callbackData, DiscordEntitlement *entitlement)
Definition: store_manager.cpp:28
discord::StoreManager::OnEntitlementCreate
Event< Entitlement const & > OnEntitlementCreate
Definition: store_manager.h:22
discord::StoreManager::GetEntitlement
Result GetEntitlement(Snowflake entitlementId, Entitlement *entitlement)
Definition: store_manager.cpp:114
discord
Definition: achievement_manager.cpp:12
EDiscordResult
EDiscordResult
Definition: ffi.h:45
discord::Sku
Definition: types.h:481
discord::Core
Definition: core.h:19
discord::StoreManager::GetSku
Result GetSku(Snowflake skuId, Sku *sku)
Definition: store_manager.cpp:70
discord::StoreManager::HasSkuEntitlement
Result HasSkuEntitlement(Snowflake skuId, bool *hasEntitlement)
Definition: store_manager.cpp:136
discord::StoreManager::CountEntitlements
void CountEntitlements(std::int32_t *count)
Definition: store_manager.cpp:105
discord::StoreManager::OnEntitlementDelete
Event< Entitlement const & > OnEntitlementDelete
Definition: store_manager.h:23
discord::StoreManager::CountSkus
void CountSkus(std::int32_t *count)
Definition: store_manager.cpp:61
types.h
core.h
int32_t
int int32_t
Definition: stdint.h:13
discord::Result
Result
Definition: types.h:12
DiscordSku
Definition: ffi.h:376
DiscordEntitlement
Definition: ffi.h:365
discord::Snowflake
std::int64_t Snowflake
Definition: types.h:197
DISCORD_CALLBACK
#define DISCORD_CALLBACK
Definition: ffi.h:19
discord::StoreEvents
Definition: store_manager.cpp:14
discord::Core::StoreManager
discord::StoreManager & StoreManager()
Definition: core.cpp:155
discord::StoreEvents::OnEntitlementCreate
static void DISCORD_CALLBACK OnEntitlementCreate(void *callbackData, DiscordEntitlement *entitlement)
Definition: store_manager.cpp:16
discord::StoreManager::FetchEntitlements
void FetchEntitlements(std::function< void(Result)> callback)
Definition: store_manager.cpp:90
discord::Entitlement
Definition: types.h:457
IDiscordStoreEvents
Definition: ffi.h:921
store_manager.h
discord::StoreManager::StartPurchase
void StartPurchase(Snowflake skuId, std::function< void(Result)> callback)
Definition: store_manager.cpp:147
discord::StoreManager
Definition: store_manager.h:7
discord::Event
Definition: event.h:9
discord::StoreManager::GetSkuAt
Result GetSkuAt(std::int32_t index, Sku *sku)
Definition: store_manager.cpp:80
IDiscordStoreManager
Definition: ffi.h:928
discord::StoreManager::FetchSkus
void FetchSkus(std::function< void(Result)> callback)
Definition: store_manager.cpp:46
discord::Result::InternalError
@ InternalError
discord::StoreManager::GetEntitlementAt
Result GetEntitlementAt(std::int32_t index, Entitlement *entitlement)
Definition: store_manager.cpp:125
discord::StoreManager::~StoreManager
~StoreManager()=default