Elaztek Developer Hub
Blamite Game Engine - blam!  00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
relationship_manager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "types.h"
4 
5 namespace discord {
6 
7 class RelationshipManager final {
8 public:
9  ~RelationshipManager() = default;
10 
11  void Filter(std::function<bool(Relationship const&)> filter);
12  Result Count(std::int32_t* count);
13  Result Get(UserId userId, Relationship* relationship);
14  Result GetAt(std::uint32_t index, Relationship* relationship);
15 
18 
19 private:
20  friend class Core;
21 
22  RelationshipManager() = default;
23  RelationshipManager(RelationshipManager const& rhs) = delete;
24  RelationshipManager& operator=(RelationshipManager const& rhs) = delete;
26  RelationshipManager& operator=(RelationshipManager&& rhs) = delete;
27 
28  IDiscordRelationshipManager* internal_;
29  static IDiscordRelationshipEvents events_;
30 };
31 
32 } // namespace discord
discord
Definition: achievement_manager.cpp:12
DiscordRelationship
Definition: ffi.h:329
IDiscordRelationshipManager::count
enum int32_t * count
Definition: ffi.h:560
discord::RelationshipManager::GetAt
Result GetAt(std::uint32_t index, Relationship *relationship)
Definition: relationship_manager.cpp:80
discord::Core
Definition: core.h:19
types.h
discord::RelationshipEvents::OnRefresh
static void DISCORD_CALLBACK OnRefresh(void *callbackData)
Definition: relationship_manager.cpp:16
IDiscordRelationshipManager
Definition: ffi.h:554
core.h
int32_t
int int32_t
Definition: stdint.h:13
discord::Result
Result
Definition: types.h:12
discord::RelationshipEvents::OnRelationshipUpdate
static void DISCORD_CALLBACK OnRelationshipUpdate(void *callbackData, DiscordRelationship *relationship)
Definition: relationship_manager.cpp:27
relationship_manager.h
discord::RelationshipEvents
Definition: relationship_manager.cpp:14
discord::RelationshipManager::~RelationshipManager
~RelationshipManager()=default
DISCORD_CALLBACK
#define DISCORD_CALLBACK
Definition: ffi.h:19
uint32_t
unsigned int uint32_t
Definition: stdint.h:17
discord::RelationshipManager::OnRelationshipUpdate
Event< Relationship const & > OnRelationshipUpdate
Definition: relationship_manager.h:17
discord::RelationshipManager::Count
Result Count(std::int32_t *count)
Definition: relationship_manager.cpp:59
discord::RelationshipManager
Definition: relationship_manager.h:7
discord::RelationshipManager::OnRefresh
Event OnRefresh
Definition: relationship_manager.h:16
IDiscordRelationshipEvents
Definition: ffi.h:548
discord::RelationshipManager::Filter
void Filter(std::function< bool(Relationship const &)> filter)
Definition: relationship_manager.cpp:45
discord::RelationshipManager::Get
Result Get(UserId userId, Relationship *relationship)
Definition: relationship_manager.cpp:69
discord::Event
Definition: event.h:9
discord::Core::RelationshipManager
discord::RelationshipManager & RelationshipManager()
Definition: core.cpp:110
discord::UserId
Snowflake UserId
Definition: types.h:199
discord::Result::InternalError
@ InternalError
discord::Relationship
Definition: types.h:380