tdlight/td/telegram/LanguagePackManager.h
levlam b28ec40407 LanguagePackManager draft. getLanguagePack, getLanguagePackStrings methods.
GitOrigin-RevId: 959e1fd4a76eb5005d8a53c3e88abb3054fb9a5e
2018-07-03 20:28:00 +03:00

49 lines
1.4 KiB
C++

//
// 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<td_api::object_ptr<td_api::languagePack>> promise);
void get_language_pack_strings(string language_code, vector<string> keys,
Promise<td_api::object_ptr<td_api::languagePackStrings>> promise);
private:
ActorShared<> parent_;
string language_pack_;
string language_code_;
void on_get_language_pack_strings(Result<vector<tl_object_ptr<telegram_api::LangPackString>>> r_result, bool ia_all,
Promise<td_api::object_ptr<td_api::languagePackStrings>> promise);
void on_result(NetQueryPtr query) override;
void hangup() override;
Container<Promise<NetQueryPtr>> container_;
void send_with_promise(NetQueryPtr query, Promise<NetQueryPtr> promise);
};
} // namespace td