#pragma once #include "types.h" namespace discord { class ApplicationManager final { public: ~ApplicationManager() = default; void ValidateOrExit(std::function<void(Result)> callback); void GetCurrentLocale(char locale[128]); void GetCurrentBranch(char branch[4096]); void GetOAuth2Token(std::function<void(Result, OAuth2Token const&)> callback); void GetTicket(std::function<void(Result, char const*)> callback); private: friend class Core; ApplicationManager() = default; ApplicationManager(ApplicationManager const& rhs) = delete; ApplicationManager& operator=(ApplicationManager const& rhs) = delete; ApplicationManager(ApplicationManager&& rhs) = delete; ApplicationManager& operator=(ApplicationManager&& rhs) = delete; IDiscordApplicationManager* internal_; static IDiscordApplicationEvents events_; }; } // namespace discord