// // Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018 // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // #pragma once #include "td/telegram/net/NetQuery.h" #include "td/telegram/td_api.h" #include "td/telegram/telegram_api.h" #include "td/actor/actor.h" #include "td/actor/PromiseFuture.h" #include "td/utils/Container.h" namespace td { class LanguagePackManager : public NetQueryCallback { public: explicit LanguagePackManager(ActorShared<> parent) : parent_(std::move(parent)) { } void get_languages(Promise> promise); void get_language_pack_strings(string language_code, vector keys, Promise> promise); private: ActorShared<> parent_; string language_pack_; string language_code_; void on_get_language_pack_strings(Result>> r_result, bool ia_all, Promise> promise); void on_result(NetQueryPtr query) override; void hangup() override; Container> container_; void send_with_promise(NetQueryPtr query, Promise promise); }; } // namespace td