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

summaryrefslogtreecommitdiff
path: root/source/application/discord/user_manager.h
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-06-20 14:33:09 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-06-20 14:33:09 +1000
commit6352e8e3196f78388b6c771073f9e03eaa612673 (patch)
treee23772f79a7fbc41bc9108951e9e136857484bf4 /source/application/discord/user_manager.h
parent6741a057e5639280d85d0f88ba26f000baa58f61 (diff)
everything everywhere
all at once
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