Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/application/discord/user_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/application/discord/user_manager.h')
-rw-r--r--source/application/discord/user_manager.h29
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