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/application_manager.cpp | |
parent | 89fe1bf15bc458df6c63f1aaeac42a4883efbfd5 (diff) |
Merge launcher branch
Diffstat (limited to 'source/application/discord/application_manager.cpp')
-rw-r--r-- | source/application/discord/application_manager.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/application/discord/application_manager.cpp b/source/application/discord/application_manager.cpp index f5a06d3..0e05f3f 100644 --- a/source/application/discord/application_manager.cpp +++ b/source/application/discord/application_manager.cpp @@ -60,4 +60,19 @@ void ApplicationManager::GetOAuth2Token(std::function<void(Result, OAuth2Token c internal_->get_oauth2_token(internal_, cb.release(), wrapper); } +void ApplicationManager::GetTicket(std::function<void(Result, char const*)> callback) +{ + static auto wrapper = [](void* callbackData, EDiscordResult result, char const* data) -> void { + std::unique_ptr<std::function<void(Result, char const*)>> cb( + reinterpret_cast<std::function<void(Result, char const*)>*>(callbackData)); + if (!cb || !(*cb)) { + return; + } + (*cb)(static_cast<Result>(result), static_cast<const char*>(data)); + }; + std::unique_ptr<std::function<void(Result, char const*)>> cb{}; + cb.reset(new std::function<void(Result, char const*)>(std::move(callback))); + internal_->get_ticket(internal_, cb.release(), wrapper); +} + } // namespace discord |