The open source repository for the action RPG game in development by Sig Productions titled 'Adventures in Lestoria'!
https://forums.lestoria.net
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
910 B
33 lines
910 B
11 months ago
|
#pragma once
|
||
|
|
||
|
#include "types.h"
|
||
|
|
||
|
namespace discord {
|
||
|
|
||
|
class RelationshipManager final {
|
||
|
public:
|
||
|
~RelationshipManager() = default;
|
||
|
|
||
|
void Filter(std::function<bool(Relationship const&)> filter);
|
||
|
Result Count(std::int32_t* count);
|
||
|
Result Get(UserId userId, Relationship* relationship);
|
||
|
Result GetAt(std::uint32_t index, Relationship* relationship);
|
||
|
|
||
|
Event<> OnRefresh;
|
||
|
Event<Relationship const&> OnRelationshipUpdate;
|
||
|
|
||
|
private:
|
||
|
friend class Core;
|
||
|
|
||
|
RelationshipManager() = default;
|
||
|
RelationshipManager(RelationshipManager const& rhs) = delete;
|
||
|
RelationshipManager& operator=(RelationshipManager const& rhs) = delete;
|
||
|
RelationshipManager(RelationshipManager&& rhs) = delete;
|
||
|
RelationshipManager& operator=(RelationshipManager&& rhs) = delete;
|
||
|
|
||
|
IDiscordRelationshipManager* internal_;
|
||
|
static IDiscordRelationshipEvents events_;
|
||
|
};
|
||
|
|
||
|
} // namespace discord
|