diff options
Diffstat (limited to 'source/application/discord/user_manager.h')
-rw-r--r-- | source/application/discord/user_manager.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/source/application/discord/user_manager.h b/source/application/discord/user_manager.h new file mode 100644 index 0000000..98ed9da --- /dev/null +++ b/source/application/discord/user_manager.h @@ -0,0 +1,29 @@ +#pragma once + +#include "types.h" + +namespace discord { + +class UserManager final { +public: + ~UserManager() = default; + + Result GetCurrentUser(User* currentUser); + void GetUser(UserId userId, std::function<void(Result, User const&)> callback); + + Event<> OnCurrentUserUpdate; + +private: + friend class Core; + + UserManager() = default; + UserManager(UserManager const& rhs) = delete; + UserManager& operator=(UserManager const& rhs) = delete; + UserManager(UserManager&& rhs) = delete; + UserManager& operator=(UserManager&& rhs) = delete; + + IDiscordUserManager* internal_; + static IDiscordUserEvents events_; +}; + +} // namespace discord |