diff options
Diffstat (limited to 'source/application/discord/user_manager.cpp')
-rw-r--r-- | source/application/discord/user_manager.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/source/application/discord/user_manager.cpp b/source/application/discord/user_manager.cpp index f3ac0e2..ddb6d5c 100644 --- a/source/application/discord/user_manager.cpp +++ b/source/application/discord/user_manager.cpp @@ -13,7 +13,7 @@ namespace discord { class UserEvents final { public: - static void OnCurrentUserUpdate(void* callbackData) + static void DISCORD_CALLBACK OnCurrentUserUpdate(void* callbackData) { auto* core = reinterpret_cast<Core*>(callbackData); if (!core) { @@ -55,4 +55,26 @@ void UserManager::GetUser(UserId userId, std::function<void(Result, User const&) internal_->get_user(internal_, userId, cb.release(), wrapper); } +Result UserManager::GetCurrentUserPremiumType(PremiumType* premiumType) +{ + if (!premiumType) { + return Result::InternalError; + } + + auto result = internal_->get_current_user_premium_type( + internal_, reinterpret_cast<EDiscordPremiumType*>(premiumType)); + return static_cast<Result>(result); +} + +Result UserManager::CurrentUserHasFlag(UserFlag flag, bool* hasFlag) +{ + if (!hasFlag) { + return Result::InternalError; + } + + auto result = internal_->current_user_has_flag( + internal_, static_cast<EDiscordUserFlag>(flag), reinterpret_cast<bool*>(hasFlag)); + return static_cast<Result>(result); +} + } // namespace discord |