Use OptionManager::get_option_synchronously internally.
This commit is contained in:
parent
17a548292b
commit
ee7011538a
@ -13,6 +13,7 @@
|
||||
#include "td/telegram/ConfigShared.h"
|
||||
#include "td/telegram/ContactsManager.h"
|
||||
#include "td/telegram/DialogId.h"
|
||||
#include "td/telegram/GitCommitHash.h"
|
||||
#include "td/telegram/Global.h"
|
||||
#include "td/telegram/JsonValue.h"
|
||||
#include "td/telegram/LanguagePackManager.h"
|
||||
@ -436,12 +437,12 @@ td_api::object_ptr<td_api::OptionValue> OptionManager::get_option_synchronously(
|
||||
switch (name[0]) {
|
||||
case 'c':
|
||||
if (name == "commit_hash") {
|
||||
return Td::get_commit_hash_option_value_object();
|
||||
return td_api::make_object<td_api::optionValueString>(get_git_commit_hash());
|
||||
}
|
||||
break;
|
||||
case 'v':
|
||||
if (name == "version") {
|
||||
return Td::get_version_option_value_object();
|
||||
return td_api::make_object<td_api::optionValueString>("1.8.4");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -775,9 +776,8 @@ td_api::object_ptr<td_api::OptionValue> OptionManager::get_option_value_object(S
|
||||
}
|
||||
|
||||
void OptionManager::get_current_state(vector<td_api::object_ptr<td_api::Update>> &updates) const {
|
||||
updates.push_back(td_api::make_object<td_api::updateOption>("version", Td::get_version_option_value_object()));
|
||||
updates.push_back(
|
||||
td_api::make_object<td_api::updateOption>("commit_hash", Td::get_commit_hash_option_value_object()));
|
||||
updates.push_back(td_api::make_object<td_api::updateOption>("version", get_option_synchronously("version")));
|
||||
updates.push_back(td_api::make_object<td_api::updateOption>("commit_hash", get_option_synchronously("commit_hash")));
|
||||
|
||||
updates.push_back(td_api::make_object<td_api::updateOption>(
|
||||
"online", td_api::make_object<td_api::optionValueBoolean>(td_->is_online())));
|
||||
|
@ -52,7 +52,6 @@
|
||||
#include "td/telegram/FolderId.h"
|
||||
#include "td/telegram/FullMessageId.h"
|
||||
#include "td/telegram/GameManager.h"
|
||||
#include "td/telegram/GitCommitHash.h"
|
||||
#include "td/telegram/Global.h"
|
||||
#include "td/telegram/GroupCallId.h"
|
||||
#include "td/telegram/GroupCallManager.h"
|
||||
@ -3060,9 +3059,10 @@ void Td::run_request(uint64 id, tl_object_ptr<td_api::Function> function) {
|
||||
return send_result(id, get_fake_authorization_state_object());
|
||||
case td_api::getCurrentState::ID: {
|
||||
vector<td_api::object_ptr<td_api::Update>> updates;
|
||||
updates.push_back(td_api::make_object<td_api::updateOption>("version", get_version_option_value_object()));
|
||||
updates.push_back(
|
||||
td_api::make_object<td_api::updateOption>("commit_hash", get_commit_hash_option_value_object()));
|
||||
td_api::make_object<td_api::updateOption>("version", OptionManager::get_option_synchronously("version")));
|
||||
updates.push_back(td_api::make_object<td_api::updateOption>(
|
||||
"commit_hash", OptionManager::get_option_synchronously("commit_hash")));
|
||||
updates.push_back(td_api::make_object<td_api::updateAuthorizationState>(get_fake_authorization_state_object()));
|
||||
// send response synchronously to prevent "Request aborted"
|
||||
return send_result(id, td_api::make_object<td_api::updates>(std::move(updates)));
|
||||
@ -3259,14 +3259,6 @@ void Td::on_connection_state_changed(ConnectionState new_state) {
|
||||
send_closure(actor_id(this), &Td::send_update, get_update_connection_state_object(connection_state_));
|
||||
}
|
||||
|
||||
td_api::object_ptr<td_api::OptionValue> Td::get_version_option_value_object() {
|
||||
return td_api::make_object<td_api::optionValueString>(TDLIB_VERSION);
|
||||
}
|
||||
|
||||
td_api::object_ptr<td_api::OptionValue> Td::get_commit_hash_option_value_object() {
|
||||
return td_api::make_object<td_api::optionValueString>(get_git_commit_hash());
|
||||
}
|
||||
|
||||
void Td::start_up() {
|
||||
always_wait_for_mailbox();
|
||||
|
||||
@ -3287,8 +3279,9 @@ void Td::start_up() {
|
||||
alarm_timeout_.set_callback_data(static_cast<void *>(this));
|
||||
|
||||
CHECK(state_ == State::WaitParameters);
|
||||
send_update(td_api::make_object<td_api::updateOption>("version", get_version_option_value_object()));
|
||||
send_update(td_api::make_object<td_api::updateOption>("commit_hash", get_commit_hash_option_value_object()));
|
||||
send_update(td_api::make_object<td_api::updateOption>("version", OptionManager::get_option_synchronously("version")));
|
||||
send_update(
|
||||
td_api::make_object<td_api::updateOption>("commit_hash", OptionManager::get_option_synchronously("commit_hash")));
|
||||
send_update(td_api::make_object<td_api::updateAuthorizationState>(
|
||||
td_api::make_object<td_api::authorizationStateWaitTdlibParameters>()));
|
||||
}
|
||||
@ -4332,7 +4325,9 @@ Status Td::set_parameters(td_api::object_ptr<td_api::tdlibParameters> parameters
|
||||
}
|
||||
if (options_.api_id != 21724) {
|
||||
options_.application_version += ", TDLib ";
|
||||
options_.application_version += TDLIB_VERSION;
|
||||
auto version = OptionManager::get_option_synchronously("version");
|
||||
CHECK(version->get_id() == td_api::optionValueString::ID);
|
||||
options_.application_version += static_cast<const td_api::optionValueString *>(version.get())->value_;
|
||||
}
|
||||
options_.language_pack = string();
|
||||
options_.language_code = string();
|
||||
@ -8442,6 +8437,4 @@ void Td::on_request(uint64 id, td_api::testCallVectorStringObject &request) {
|
||||
#undef CREATE_REQUEST_PROMISE
|
||||
#undef CREATE_OK_REQUEST_PROMISE
|
||||
|
||||
constexpr const char *Td::TDLIB_VERSION;
|
||||
|
||||
} // namespace td
|
||||
|
@ -246,10 +246,6 @@ class Td final : public Actor {
|
||||
|
||||
static td_api::object_ptr<td_api::Object> static_request(td_api::object_ptr<td_api::Function> function);
|
||||
|
||||
static td_api::object_ptr<td_api::OptionValue> get_version_option_value_object();
|
||||
|
||||
static td_api::object_ptr<td_api::OptionValue> get_commit_hash_option_value_object();
|
||||
|
||||
private:
|
||||
static constexpr int64 ONLINE_ALARM_ID = 0;
|
||||
static constexpr int64 PING_SERVER_ALARM_ID = -1;
|
||||
@ -257,8 +253,6 @@ class Td final : public Actor {
|
||||
static constexpr int64 TERMS_OF_SERVICE_ALARM_ID = -2;
|
||||
static constexpr int64 PROMO_DATA_ALARM_ID = -3;
|
||||
|
||||
static constexpr const char *TDLIB_VERSION = "1.8.4";
|
||||
|
||||
void on_connection_state_changed(ConnectionState new_state);
|
||||
|
||||
void run_request(uint64 id, tl_object_ptr<td_api::Function> function);
|
||||
|
Loading…
Reference in New Issue
Block a user