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

summaryrefslogtreecommitdiff
path: root/source/application/discord/application_manager.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-03-08 20:09:27 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2024-03-08 20:09:27 +1100
commit6c562470f3a7cd24ed6501f54422564ed42051ea (patch)
tree2e422b3316b6e77cbc35085a9ce63b4c6d0912d3 /source/application/discord/application_manager.cpp
parent89fe1bf15bc458df6c63f1aaeac42a4883efbfd5 (diff)
Merge launcher branch
Diffstat (limited to 'source/application/discord/application_manager.cpp')
-rw-r--r--source/application/discord/application_manager.cpp15
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