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

summaryrefslogtreecommitdiff
path: root/source/application/discord/application_manager.cpp
diff options
context:
space:
mode:
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