diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-08 20:09:27 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-08 20:09:27 +1100 |
commit | 6c562470f3a7cd24ed6501f54422564ed42051ea (patch) | |
tree | 2e422b3316b6e77cbc35085a9ce63b4c6d0912d3 /source/application/discord/user_manager.cpp | |
parent | 89fe1bf15bc458df6c63f1aaeac42a4883efbfd5 (diff) |
Merge launcher branch
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 |