From 835ee52491fe727192cadb9bdef8d0f5434a8752 Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 13 Mar 2023 19:47:38 +0300 Subject: [PATCH] Make TdParameters private in Global. --- td/telegram/AnimationsManager.cpp | 4 +- td/telegram/AttachMenuManager.cpp | 4 +- td/telegram/AutosaveManager.cpp | 4 +- td/telegram/BackgroundManager.cpp | 4 +- td/telegram/ContactsManager.cpp | 78 +++---- td/telegram/DownloadManager.cpp | 2 +- td/telegram/Global.h | 16 +- td/telegram/HashtagHints.cpp | 2 +- td/telegram/InlineQueriesManager.cpp | 2 +- td/telegram/MessagesManager.cpp | 294 +++++++++++++------------- td/telegram/NotificationManager.cpp | 8 +- td/telegram/PollManager.cpp | 12 +- td/telegram/RecentDialogList.cpp | 4 +- td/telegram/SecretChatsManager.cpp | 2 +- td/telegram/StickersManager.cpp | 68 +++--- td/telegram/TopDialogManager.cpp | 2 +- td/telegram/UpdatesManager.cpp | 3 +- td/telegram/WebPagesManager.cpp | 25 ++- td/telegram/files/FileGcWorker.cpp | 4 +- td/telegram/files/FileLoadManager.cpp | 2 +- td/telegram/files/FileManager.cpp | 2 +- td/telegram/files/FileStatsWorker.cpp | 2 +- 22 files changed, 276 insertions(+), 268 deletions(-) diff --git a/td/telegram/AnimationsManager.cpp b/td/telegram/AnimationsManager.cpp index 27aaf3b85..d30f11878 100644 --- a/td/telegram/AnimationsManager.cpp +++ b/td/telegram/AnimationsManager.cpp @@ -546,7 +546,7 @@ void AnimationsManager::load_saved_animations(Promise &&promise) { } load_saved_animations_queries_.push_back(std::move(promise)); if (load_saved_animations_queries_.size() == 1u) { - if (G()->parameters().use_file_db) { // otherwise there is no sqlite_pmc, TODO + if (G()->use_file_database()) { // otherwise there is no sqlite_pmc, TODO LOG(INFO) << "Trying to load saved animations from database"; G()->td_db()->get_sqlite_pmc()->get("ans", PromiseCreator::lambda([](string value) { send_closure(G()->animations_manager(), @@ -856,7 +856,7 @@ void AnimationsManager::send_update_saved_animations(bool from_database) { } void AnimationsManager::save_saved_animations_to_database() { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Save saved animations to database"; AnimationListLogEvent log_event(saved_animation_ids_); G()->td_db()->get_sqlite_pmc()->set("ans", log_event_store(log_event).as_slice().str(), Auto()); diff --git a/td/telegram/AttachMenuManager.cpp b/td/telegram/AttachMenuManager.cpp index ecac42570..0aa116248 100644 --- a/td/telegram/AttachMenuManager.cpp +++ b/td/telegram/AttachMenuManager.cpp @@ -571,7 +571,7 @@ void AttachMenuManager::init() { } is_inited_ = true; - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { G()->td_db()->get_binlog_pmc()->erase(get_attach_menu_bots_database_key()); } else { auto attach_menu_bots_string = G()->td_db()->get_binlog_pmc()->get(get_attach_menu_bots_database_key()); @@ -1247,7 +1247,7 @@ string AttachMenuManager::get_attach_menu_bots_database_key() { } void AttachMenuManager::save_attach_menu_bots() { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } diff --git a/td/telegram/AutosaveManager.cpp b/td/telegram/AutosaveManager.cpp index 1c15c140d..3d12f8a4e 100644 --- a/td/telegram/AutosaveManager.cpp +++ b/td/telegram/AutosaveManager.cpp @@ -284,7 +284,7 @@ void AutosaveManager::load_autosave_settings(Promiseparameters().use_message_db) { + if (G()->use_message_database()) { G()->td_db()->get_sqlite_pmc()->get( get_autosave_settings_database_key(), PromiseCreator::lambda([actor_id = actor_id(this)](string value) mutable { send_closure(actor_id, &AutosaveManager::on_load_autosave_settings_from_database, std::move(value)); @@ -436,7 +436,7 @@ void AutosaveManager::on_get_autosave_settings( } void AutosaveManager::save_autosave_settings() { - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { LOG(INFO) << "Save autosave settings to database"; G()->td_db()->get_sqlite_pmc()->set(get_autosave_settings_database_key(), log_event_store(settings_).as_slice().str(), Auto()); diff --git a/td/telegram/BackgroundManager.cpp b/td/telegram/BackgroundManager.cpp index b0708a939..14ee332fb 100644 --- a/td/telegram/BackgroundManager.cpp +++ b/td/telegram/BackgroundManager.cpp @@ -495,7 +495,7 @@ std::pair BackgroundManager::search_background(con return {background_id, r_type.ok()}; } - if (G()->parameters().use_file_db && loaded_from_database_backgrounds_.count(slug) == 0) { + if (G()->use_file_database() && loaded_from_database_backgrounds_.count(slug) == 0) { auto &queries = being_loaded_from_database_backgrounds_[slug]; queries.push_back(std::move(promise)); if (queries.size() == 1) { @@ -1119,7 +1119,7 @@ std::pair BackgroundManager::on_get_background( name_to_background_id_.emplace(expected_background_name, background_id); } - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Save " << background_id << " to database with name " << background.name; CHECK(!BackgroundType::is_background_name_local(background.name)); G()->td_db()->get_sqlite_pmc()->set(get_background_name_database_key(background.name), diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index 5eabb1e19..cea2b6928 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -3941,7 +3941,7 @@ ContactsManager::ContactsManager(Td *td, ActorShared<> parent) : td_(td), parent td_->option_manager_->set_option_integer("anti_spam_bot_user_id", get_anti_spam_bot_user_id().get()); } - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { auto next_contacts_sync_date_string = G()->td_db()->get_binlog_pmc()->get("next_contacts_sync_date"); if (!next_contacts_sync_date_string.empty()) { next_contacts_sync_date_ = min(to_integer(next_contacts_sync_date_string), G()->unix_time() + 100000); @@ -3955,7 +3955,7 @@ ContactsManager::ContactsManager(Td *td, ActorShared<> parent) : td_(td), parent G()->td_db()->get_binlog_pmc()->erase("next_contacts_sync_date"); G()->td_db()->get_binlog_pmc()->erase("saved_contact_count"); } - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { G()->td_db()->get_sqlite_pmc()->erase_by_prefix("us_bot_info", Auto()); } @@ -6116,7 +6116,7 @@ void ContactsManager::load_contacts(Promise &&promise) { } load_contacts_queries_.push_back(std::move(promise)); if (load_contacts_queries_.size() == 1u) { - if (G()->parameters().use_chat_info_db && next_contacts_sync_date_ > 0 && saved_contact_count_ != -1) { + if (G()->use_chat_info_database() && next_contacts_sync_date_ > 0 && saved_contact_count_ != -1) { LOG(INFO) << "Load contacts from database"; G()->td_db()->get_sqlite_pmc()->get( "user_contacts", PromiseCreator::lambda([](string value) { @@ -6363,7 +6363,7 @@ void ContactsManager::load_imported_contacts(Promise &&promise) { } load_imported_contacts_queries_.push_back(std::move(promise)); if (load_imported_contacts_queries_.size() == 1u) { - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { LOG(INFO) << "Load imported contacts from database"; G()->td_db()->get_sqlite_pmc()->get( "user_imported_contacts", PromiseCreator::lambda([](string value) { @@ -6453,7 +6453,7 @@ std::pair, vector> ContactsManager::change_imported_contac if (need_clear_imported_contacts_) { need_clear_imported_contacts_ = false; all_imported_contacts_.clear(); - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { G()->td_db()->get_sqlite_pmc()->erase("user_imported_contacts", Auto()); } reload_contacts(true); @@ -6592,7 +6592,7 @@ void ContactsManager::on_update_contacts_reset() { */ saved_contact_count_ = 0; - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { G()->td_db()->get_binlog_pmc()->set("saved_contact_count", "0"); G()->td_db()->get_sqlite_pmc()->erase("user_imported_contacts", Auto()); } @@ -9178,7 +9178,7 @@ void ContactsManager::get_created_public_dialogs(PublicDialogType type, return return_created_public_dialogs(std::move(promise), created_public_channels_[index]); } - if (get_created_public_channels_queries_[index].empty() && G()->parameters().use_chat_info_db) { + if (get_created_public_channels_queries_[index].empty() && G()->use_chat_info_database()) { auto pmc_key = PSTRING() << "public_channels" << index; auto str = G()->td_db()->get_binlog_pmc()->get(pmc_key); if (!str.empty()) { @@ -9314,7 +9314,7 @@ void ContactsManager::on_get_created_public_channels(PublicDialogType type, void ContactsManager::save_created_public_channels(PublicDialogType type) { auto index = static_cast(type); CHECK(created_public_channels_inited_[index]); - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { G()->td_db()->get_binlog_pmc()->set( PSTRING() << "public_channels" << index, implode( @@ -9500,7 +9500,7 @@ void ContactsManager::on_import_contacts_finished(int64 random_id, vector(unique_id)] = unimported_contact_invites[i]; } - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { G()->td_db()->get_binlog()->force_sync(PromiseCreator::lambda( [log_event = log_event_store(all_imported_contacts_).as_slice().str()](Result<> result) mutable { if (result.is_ok()) { @@ -9556,7 +9556,7 @@ void ContactsManager::save_next_contacts_sync_date() { if (G()->close_flag()) { return; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } G()->td_db()->get_binlog_pmc()->set("next_contacts_sync_date", to_string(next_contacts_sync_date_)); @@ -9618,7 +9618,7 @@ void ContactsManager::on_get_contacts(tl_object_ptrparameters().use_chat_info_db || !are_contacts_loaded_) { + if (!G()->use_chat_info_database() || !are_contacts_loaded_) { return; } @@ -10013,7 +10013,7 @@ class ContactsManager::UserLogEvent { }; void ContactsManager::save_user(User *u, UserId user_id, bool from_binlog) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } CHECK(u != nullptr); @@ -10033,7 +10033,7 @@ void ContactsManager::save_user(User *u, UserId user_id, bool from_binlog) { } void ContactsManager::on_binlog_user_event(BinlogEvent &&event) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); return; } @@ -10306,7 +10306,7 @@ ContactsManager::User *ContactsManager::get_user_force_impl(UserId user_id) { if (u != nullptr) { return u; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return nullptr; } if (loaded_from_database_users_.count(user_id)) { @@ -10343,7 +10343,7 @@ class ContactsManager::ChatLogEvent { }; void ContactsManager::save_chat(Chat *c, ChatId chat_id, bool from_binlog) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } CHECK(c != nullptr); @@ -10364,7 +10364,7 @@ void ContactsManager::save_chat(Chat *c, ChatId chat_id, bool from_binlog) { } void ContactsManager::on_binlog_chat_event(BinlogEvent &&event) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); return; } @@ -10552,7 +10552,7 @@ ContactsManager::Chat *ContactsManager::get_chat_force(ChatId chat_id) { return c; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return nullptr; } if (loaded_from_database_chats_.count(chat_id)) { @@ -10589,7 +10589,7 @@ class ContactsManager::ChannelLogEvent { }; void ContactsManager::save_channel(Channel *c, ChannelId channel_id, bool from_binlog) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } CHECK(c != nullptr); @@ -10610,7 +10610,7 @@ void ContactsManager::save_channel(Channel *c, ChannelId channel_id, bool from_b } void ContactsManager::on_binlog_channel_event(BinlogEvent &&event) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); return; } @@ -10814,7 +10814,7 @@ ContactsManager::Channel *ContactsManager::get_channel_force(ChannelId channel_i if (c != nullptr) { return c; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return nullptr; } if (loaded_from_database_channels_.count(channel_id)) { @@ -10852,7 +10852,7 @@ class ContactsManager::SecretChatLogEvent { }; void ContactsManager::save_secret_chat(SecretChat *c, SecretChatId secret_chat_id, bool from_binlog) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } CHECK(c != nullptr); @@ -10873,7 +10873,7 @@ void ContactsManager::save_secret_chat(SecretChat *c, SecretChatId secret_chat_i } void ContactsManager::on_binlog_secret_chat_event(BinlogEvent &&event) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); return; } @@ -11064,7 +11064,7 @@ ContactsManager::SecretChat *ContactsManager::get_secret_chat_force(SecretChatId } return c; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return nullptr; } if (loaded_from_database_secret_chats_.count(secret_chat_id)) { @@ -11078,7 +11078,7 @@ ContactsManager::SecretChat *ContactsManager::get_secret_chat_force(SecretChatId } void ContactsManager::save_user_full(const UserFull *user_full, UserId user_id) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } @@ -11160,7 +11160,7 @@ ContactsManager::UserFull *ContactsManager::get_user_full_force(UserId user_id) if (user_full != nullptr) { return user_full; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return nullptr; } if (!unavailable_user_fulls_.insert(user_id).second) { @@ -11174,7 +11174,7 @@ ContactsManager::UserFull *ContactsManager::get_user_full_force(UserId user_id) } void ContactsManager::save_chat_full(const ChatFull *chat_full, ChatId chat_id) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } @@ -11268,7 +11268,7 @@ ContactsManager::ChatFull *ContactsManager::get_chat_full_force(ChatId chat_id, if (chat_full != nullptr) { return chat_full; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return nullptr; } if (!unavailable_chat_fulls_.insert(chat_id).second) { @@ -11282,7 +11282,7 @@ ContactsManager::ChatFull *ContactsManager::get_chat_full_force(ChatId chat_id, } void ContactsManager::save_channel_full(const ChannelFull *channel_full, ChannelId channel_id) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return; } @@ -11412,7 +11412,7 @@ ContactsManager::ChannelFull *ContactsManager::get_channel_full_force(ChannelId if (channel_full != nullptr) { return channel_full; } - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { return nullptr; } if (!unavailable_channel_fulls_.insert(channel_id).second) { @@ -12829,7 +12829,7 @@ void ContactsManager::on_update_user_phone_number(User *u, UserId user_id, strin void ContactsManager::on_update_user_photo(User *u, UserId user_id, tl_object_ptr &&photo, const char *source) { - if (td_->auth_manager_->is_bot() && !G()->parameters().use_file_db && !u->is_photo_inited) { + if (td_->auth_manager_->is_bot() && !G()->use_file_database() && !u->is_photo_inited) { if (photo != nullptr && photo->get_id() == telegram_api::userProfilePhoto::ID) { auto *profile_photo = static_cast(photo.get()); if ((profile_photo->flags_ & telegram_api::userProfilePhoto::STRIPPED_THUMB_MASK) != 0) { @@ -15362,7 +15362,7 @@ void ContactsManager::on_channel_status_changed(Channel *c, ChannelId channel_id channel_participants_.erase(channel_id); } if (td_->auth_manager_->is_bot() && old_status.is_member() && !new_status.is_member() && - !G()->parameters().use_message_db) { + !G()->use_message_database()) { send_closure_later(G()->messages_manager(), &MessagesManager::on_dialog_deleted, DialogId(channel_id), Promise()); } @@ -15784,7 +15784,7 @@ void ContactsManager::update_contacts_hints(const User *u, UserId user_id, bool } } - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { // update contacts database if (!are_contacts_loaded_) { if (!from_database && load_contacts_queries_.empty() && is_contact && u->is_is_contact_changed) { @@ -15962,7 +15962,7 @@ bool ContactsManager::get_user(UserId user_id, int left_tries, Promise &&p } if (td_->auth_manager_->is_bot() ? !have_user(user_id) : !have_min_user(user_id)) { - if (left_tries > 2 && G()->parameters().use_chat_info_db) { + if (left_tries > 2 && G()->use_chat_info_database()) { send_closure_later(actor_id(this), &ContactsManager::load_user_from_database, nullptr, user_id, std::move(promise)); return false; @@ -16269,7 +16269,7 @@ bool ContactsManager::get_chat(ChatId chat_id, int left_tries, Promise &&p } if (!have_chat(chat_id)) { - if (left_tries > 2 && G()->parameters().use_chat_info_db) { + if (left_tries > 2 && G()->use_chat_info_database()) { send_closure_later(actor_id(this), &ContactsManager::load_chat_from_database, nullptr, chat_id, std::move(promise)); return false; @@ -16681,7 +16681,7 @@ bool ContactsManager::get_channel(ChannelId channel_id, int left_tries, Promise< } if (!have_channel(channel_id)) { - if (left_tries > 2 && G()->parameters().use_chat_info_db) { + if (left_tries > 2 && G()->use_chat_info_database()) { send_closure_later(actor_id(this), &ContactsManager::load_channel_from_database, nullptr, channel_id, std::move(promise)); return false; @@ -16840,7 +16840,7 @@ bool ContactsManager::get_secret_chat(SecretChatId secret_chat_id, bool force, P } if (!have_secret_chat(secret_chat_id)) { - if (!force && G()->parameters().use_chat_info_db) { + if (!force && G()->use_chat_info_database()) { send_closure_later(actor_id(this), &ContactsManager::load_secret_chat_from_database, nullptr, secret_chat_id, std::move(promise)); return false; @@ -17371,7 +17371,7 @@ void ContactsManager::get_dialog_administrators(DialogId dialog_id, return promise.set_value(get_chat_administrators_object(it->second)); } - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { LOG(INFO) << "Load administrators of " << dialog_id << " from database"; G()->td_db()->get_sqlite_pmc()->get(get_dialog_administrators_database_key(dialog_id), PromiseCreator::lambda([actor_id = actor_id(this), dialog_id, @@ -17478,14 +17478,14 @@ void ContactsManager::on_update_dialog_administrators(DialogId dialog_id, vector it = dialog_administrators_.emplace(dialog_id, std::move(administrators)).first; } - if (G()->parameters().use_chat_info_db && !from_database) { + if (G()->use_chat_info_database() && !from_database) { LOG(INFO) << "Save administrators of " << dialog_id << " to database"; G()->td_db()->get_sqlite_pmc()->set(get_dialog_administrators_database_key(dialog_id), log_event_store(it->second).as_slice().str(), Auto()); } } else { dialog_administrators_.erase(dialog_id); - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { G()->td_db()->get_sqlite_pmc()->erase(get_dialog_administrators_database_key(dialog_id), Auto()); } } diff --git a/td/telegram/DownloadManager.cpp b/td/telegram/DownloadManager.cpp index b74b34c18..5964b4539 100644 --- a/td/telegram/DownloadManager.cpp +++ b/td/telegram/DownloadManager.cpp @@ -367,7 +367,7 @@ class DownloadManagerImpl final : public DownloadManager { } static bool is_database_enabled() { - return G()->parameters().use_message_db; + return G()->use_message_database(); } static string pmc_key(const FileInfo &file_info) { diff --git a/td/telegram/Global.h b/td/telegram/Global.h index dffaf91e2..3081d5373 100644 --- a/td/telegram/Global.h +++ b/td/telegram/Global.h @@ -396,8 +396,20 @@ class Global final : public ActorContext { return mtproto_header_ != nullptr; } - const TdParameters ¶meters() const { - return parameters_; + bool use_file_database() const { + return parameters_.use_file_db; + } + + bool use_chat_info_database() const { + return parameters_.use_chat_info_db; + } + + bool use_message_database() const { + return parameters_.use_message_db; + } + + bool use_secret_chats() const { + return parameters_.use_secret_chats; } int32 get_gc_scheduler_id() const { diff --git a/td/telegram/HashtagHints.cpp b/td/telegram/HashtagHints.cpp index c8ae3df7d..8f605c59d 100644 --- a/td/telegram/HashtagHints.cpp +++ b/td/telegram/HashtagHints.cpp @@ -23,7 +23,7 @@ HashtagHints::HashtagHints(string mode, ActorShared<> parent) : mode_(std::move( } void HashtagHints::start_up() { - if (G()->parameters().use_file_db) { // TODO hashtag hints should not depend on use_file_db + if (G()->use_file_database()) { // TODO hashtag hints should not depend on use_file_db G()->td_db()->get_sqlite_pmc()->get(get_key(), PromiseCreator::lambda([actor_id = actor_id(this)](Result res) { send_closure(actor_id, &HashtagHints::from_db, std::move(res), false); diff --git a/td/telegram/InlineQueriesManager.cpp b/td/telegram/InlineQueriesManager.cpp index 80697ec20..aeec698fe 100644 --- a/td/telegram/InlineQueriesManager.cpp +++ b/td/telegram/InlineQueriesManager.cpp @@ -2067,7 +2067,7 @@ bool InlineQueriesManager::load_recently_used_bots(Promise &promise) { if (recently_used_bots_loaded_ == 0) { resolve_recent_inline_bots_multipromise_.set_ignore_errors(true); auto lock = resolve_recent_inline_bots_multipromise_.get_promise(); - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { for (auto &bot_username : bot_usernames) { td_->messages_manager_->search_public_dialog(bot_username, false, resolve_recent_inline_bots_multipromise_.get_promise()); diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 37d0e2af3..f7d4861db 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -3470,7 +3470,7 @@ class SendMessageQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for SendMessage: " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, message will be re-sent return; } @@ -3521,7 +3521,7 @@ class StartBotQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for StartBotQuery: " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, message should be re-sent return; } @@ -3575,7 +3575,7 @@ class SendInlineBotResultQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for SendInlineBotResultQuery: " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, message will be re-sent return; } @@ -3674,7 +3674,7 @@ class SendMultiMediaQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for SendMultiMedia: " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, message will be re-sent return; } @@ -3775,7 +3775,7 @@ class SendMediaQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for SendMedia: " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, message will be re-sent return; } @@ -3863,7 +3863,7 @@ class UploadMediaQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for UploadMediaQuery for " << message_id_ << " in " << dialog_id_ << ": " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, message will be re-sent return; } @@ -4171,7 +4171,7 @@ class ForwardMessagesQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for forward messages: " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, messages should be re-sent return; } @@ -4225,7 +4225,7 @@ class SendScreenshotNotificationQuery final : public Td::ResultHandler { void on_error(Status status) final { LOG(INFO) << "Receive error for SendScreenshotNotificationQuery: " << status; - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, messages should be re-sent return; } @@ -6040,7 +6040,7 @@ void MessagesManager::CallsDbState::parse(ParserT &parser) { } void MessagesManager::load_calls_db_state() { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } std::fill(calls_db_state_.message_count_by_index.begin(), calls_db_state_.message_count_by_index.end(), -1); @@ -6056,7 +6056,7 @@ void MessagesManager::load_calls_db_state() { } void MessagesManager::save_calls_db_state() { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -6280,7 +6280,7 @@ BufferSlice MessagesManager::get_dialog_database_value(const Dialog *d) { } void MessagesManager::save_dialog_to_database(DialogId dialog_id) { - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); auto d = get_dialog(dialog_id); CHECK(d != nullptr); LOG(INFO) << "Save " << dialog_id << " to database"; @@ -7597,7 +7597,7 @@ void MessagesManager::on_read_channel_inbox(ChannelId channel_id, MessageId max_ /* // dropping unread count can make things worse, so don't drop it - if (server_unread_count > 0 && G()->parameters().use_message_db && d->is_last_read_inbox_message_id_inited) { + if (server_unread_count > 0 && G()->use_message_database() && d->is_last_read_inbox_message_id_inited) { server_unread_count = -1; } */ @@ -8360,7 +8360,7 @@ void MessagesManager::update_dialog_unmute_timeout(Dialog *d, bool &old_use_defa } void MessagesManager::on_update_notification_scope_is_muted(NotificationSettingsScope scope, bool is_muted) { - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { std::unordered_map delta; std::unordered_map total_count; std::unordered_map marked_count; @@ -8966,7 +8966,7 @@ uint64 MessagesManager::save_toggle_dialog_report_spam_state_on_server_log_event void MessagesManager::toggle_dialog_report_spam_state_on_server(DialogId dialog_id, bool is_spam_dialog, uint64 log_event_id, Promise &&promise) { - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_toggle_dialog_report_spam_state_on_server_log_event(dialog_id, is_spam_dialog); } @@ -10380,7 +10380,7 @@ void MessagesManager::on_get_dialog_messages_search_result( << " messages out of " << messages.size(); total_count = added_message_count; } - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { bool update_state = false; auto &old_message_count = calls_db_state_.message_count_by_index[call_message_search_filter_index(filter)]; @@ -11274,7 +11274,7 @@ void MessagesManager::delete_messages_on_server(DialogId dialog_id, vectorparameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_delete_messages_on_server_log_event(dialog_id, message_ids, revoke); } @@ -11361,7 +11361,7 @@ void MessagesManager::delete_scheduled_messages_on_server(DialogId dialog_id, ve } LOG(INFO) << "Delete " << format::as_array(message_ids) << " in " << dialog_id << " from server"; - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_delete_scheduled_messages_on_server_log_event(dialog_id, message_ids); } @@ -11567,7 +11567,7 @@ void MessagesManager::delete_dialog_history_on_server(DialogId dialog_id, Messag uint64 log_event_id, Promise &&promise) { LOG(INFO) << "Delete history in " << dialog_id << " up to " << max_message_id << " from server"; - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_delete_dialog_history_on_server_log_event(dialog_id, max_message_id, remove_from_dialog_list, revoke); } @@ -11649,7 +11649,7 @@ uint64 MessagesManager::save_delete_topic_history_on_server_log_event(DialogId d void MessagesManager::delete_topic_history_on_server(DialogId dialog_id, MessageId top_thread_message_id, uint64 log_event_id, Promise &&promise) { - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_delete_topic_history_on_server_log_event(dialog_id, top_thread_message_id); } @@ -11825,7 +11825,7 @@ void MessagesManager::delete_dialog_messages_by_sender(DialogId dialog_id, Dialo return promise.set_value(Unit()); } - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { LOG(INFO) << "Delete all messages from " << sender_dialog_id << " in " << dialog_id << " from database"; G()->td_db()->get_message_db_async()->delete_dialog_messages_by_sender(dialog_id, sender_dialog_id, Auto()); // TODO Promise @@ -11874,7 +11874,7 @@ uint64 MessagesManager::save_delete_all_channel_messages_by_sender_on_server_log void MessagesManager::delete_all_channel_messages_by_sender_on_server(ChannelId channel_id, DialogId sender_dialog_id, uint64 log_event_id, Promise &&promise) { - if (log_event_id == 0 && G()->parameters().use_chat_info_db) { + if (log_event_id == 0 && G()->use_chat_info_database()) { log_event_id = save_delete_all_channel_messages_by_sender_on_server_log_event(channel_id, sender_dialog_id); } @@ -11989,7 +11989,7 @@ uint64 MessagesManager::save_delete_dialog_messages_by_date_on_server_log_event( void MessagesManager::delete_dialog_messages_by_date_on_server(DialogId dialog_id, int32 min_date, int32 max_date, bool revoke, uint64 log_event_id, Promise &&promise) { - if (log_event_id == 0 && G()->parameters().use_chat_info_db) { + if (log_event_id == 0 && G()->use_chat_info_database()) { log_event_id = save_delete_dialog_messages_by_date_on_server_log_event(dialog_id, min_date, max_date, revoke); } @@ -12059,7 +12059,7 @@ void MessagesManager::unload_dialog(DialogId dialog_id) { Scheduler::instance()->destroy_on_scheduler(G()->get_gc_scheduler_id(), unloaded_messages); } - if (!to_unload_message_ids.empty() && !G()->parameters().use_message_db && !d->is_empty) { + if (!to_unload_message_ids.empty() && !G()->use_message_database() && !d->is_empty) { d->have_full_history = false; d->have_full_history_source = 0; } @@ -12298,7 +12298,7 @@ uint64 MessagesManager::save_read_all_dialog_mentions_on_server_log_event(Dialog void MessagesManager::read_all_dialog_mentions_on_server(DialogId dialog_id, uint64 log_event_id, Promise &&promise) { - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_read_all_dialog_mentions_on_server_log_event(dialog_id); } @@ -12397,7 +12397,7 @@ uint64 MessagesManager::save_read_all_dialog_reactions_on_server_log_event(Dialo void MessagesManager::read_all_dialog_reactions_on_server(DialogId dialog_id, uint64 log_event_id, Promise &&promise) { - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_read_all_dialog_reactions_on_server_log_event(dialog_id); } @@ -12821,7 +12821,7 @@ void MessagesManager::repair_secret_chat_total_count(DialogListId dialog_list_id return; } - if (G()->parameters().use_message_db && dialog_list_id.is_folder()) { + if (G()->use_message_database() && dialog_list_id.is_folder()) { // race-prone G()->td_db()->get_dialog_db_async()->get_secret_chat_count( dialog_list_id.get_folder_id(), @@ -12882,7 +12882,7 @@ void MessagesManager::on_get_secret_chat_total_count(DialogListId dialog_list_id } void MessagesManager::recalc_unread_count(DialogListId dialog_list_id, int32 old_dialog_total_count, bool force) { - if (G()->close_flag() || td_->auth_manager_->is_bot() || !G()->parameters().use_message_db) { + if (G()->close_flag() || td_->auth_manager_->is_bot() || !G()->use_message_database()) { return; } @@ -13618,7 +13618,7 @@ void MessagesManager::tear_down() { void MessagesManager::hangup() { postponed_channel_updates_.clear(); - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { while (!being_uploaded_files_.empty()) { auto it = being_uploaded_files_.begin(); auto full_message_id = it->second.first; @@ -13755,7 +13755,7 @@ void MessagesManager::init() { send_update_chat_filters(); // always send updateChatFilters } - if (G()->parameters().use_message_db && was_authorized_user) { + if (G()->use_message_database() && was_authorized_user) { // erase old keys G()->td_db()->get_binlog_pmc()->erase("last_server_dialog_date"); G()->td_db()->get_binlog_pmc()->erase("unread_message_count"); @@ -13932,7 +13932,7 @@ void MessagesManager::init() { } G()->td_db()->get_binlog_pmc()->erase("dialog_pinned_current_order"); - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { ttl_db_loop_start(G()->server_time()); } @@ -14202,7 +14202,7 @@ void MessagesManager::on_send_secret_message_error(int64 random_id, Status error if (m != nullptr) { auto file_id = get_message_content_upload_file_id(m->content.get()); if (file_id.is_valid()) { - if (G()->close_flag() && G()->parameters().use_message_db) { + if (G()->close_flag() && G()->use_message_database()) { // do not send error, message will be re-sent return; } @@ -15610,7 +15610,7 @@ bool MessagesManager::set_dialog_is_pinned(DialogListId dialog_list_id, Dialog * } void MessagesManager::save_pinned_folder_dialog_ids(const DialogList &list) const { - if (!list.dialog_list_id.is_folder() || !G()->parameters().use_message_db) { + if (!list.dialog_list_id.is_folder() || !G()->use_message_database()) { return; } G()->td_db()->get_binlog_pmc()->set( @@ -16133,7 +16133,7 @@ void MessagesManager::on_get_dialogs(FolderId folder_id, vectorparameters().use_message_db || is_new || !d->is_last_read_inbox_message_id_inited || + if (!G()->use_message_database() || is_new || !d->is_last_read_inbox_message_id_inited || d->need_repair_server_unread_count) { if (d->last_read_inbox_message_id.is_valid() && !d->last_read_inbox_message_id.is_server() && read_inbox_max_message_id == d->last_read_inbox_message_id.get_prev_server_message_id()) { @@ -16185,7 +16185,7 @@ void MessagesManager::on_get_dialogs(FolderId folder_id, vectorparameters().use_message_db || is_new || !d->is_last_read_outbox_message_id_inited) { + if (!G()->use_message_database() || is_new || !d->is_last_read_outbox_message_id_inited) { if (d->last_read_outbox_message_id < read_outbox_max_message_id) { set_dialog_last_read_outbox_message_id(d, read_outbox_max_message_id); } @@ -16195,7 +16195,7 @@ void MessagesManager::on_get_dialogs(FolderId folder_id, vectorparameters().use_message_db || is_new || d->need_repair_unread_mention_count) { + if (!G()->use_message_database() || is_new || d->need_repair_unread_mention_count) { if (d->need_repair_unread_mention_count) { if (d->unread_mention_count != dialog->unread_mentions_count_) { LOG(INFO) << "Repaired unread mention count in " << dialog_id << " from " << d->unread_mention_count << " to " @@ -16210,7 +16210,7 @@ void MessagesManager::on_get_dialogs(FolderId folder_id, vectorparameters().use_message_db || is_new || d->need_repair_unread_reaction_count) { + if (!G()->use_message_database() || is_new || d->need_repair_unread_reaction_count) { if (d->need_repair_unread_reaction_count) { if (d->unread_reaction_count != dialog->unread_reactions_count_) { LOG(INFO) << "Repaired unread reaction count in " << dialog_id << " from " << d->unread_reaction_count @@ -16318,7 +16318,7 @@ void MessagesManager::on_get_dialogs(FolderId folder_id, vectorparameters().use_message_db) { + if (!are_pinned_dialogs_saved && G()->use_message_database()) { LOG(INFO) << "Save empty pinned chat list in " << folder_id; G()->td_db()->get_binlog_pmc()->set(PSTRING() << "pinned_dialog_ids" << folder_id.get(), ""); } @@ -16368,7 +16368,7 @@ void MessagesManager::dump_debug_message_op(const Dialog *d, int priority) { } bool MessagesManager::is_message_unload_enabled() const { - return G()->parameters().use_message_db || td_->auth_manager_->is_bot(); + return G()->use_message_database() || td_->auth_manager_->is_bot(); } bool MessagesManager::can_unload_message(const Dialog *d, const Message *m) const { @@ -16376,7 +16376,7 @@ bool MessagesManager::can_unload_message(const Dialog *d, const Message *m) cons CHECK(m != nullptr); CHECK(m->message_id.is_valid()); FullMessageId full_message_id{d->dialog_id, m->message_id}; - if (td_->auth_manager_->is_bot() && !G()->parameters().use_file_db) { + if (td_->auth_manager_->is_bot() && !G()->use_file_database()) { return !m->message_id.is_yet_unsent() && replied_by_yet_unsent_messages_.count(full_message_id) == 0 && m->edited_content == nullptr && m->message_id != d->last_pinned_message_id && m->message_id != d->last_edited_message_id; @@ -16552,7 +16552,7 @@ void MessagesManager::fix_dialog_last_notification_id(Dialog *d, bool from_menti --it; } } - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { get_message_notifications_from_database( d->dialog_id, group_info.group_id, group_info.last_notification_id, message_id, 1, PromiseCreator::lambda( @@ -16767,7 +16767,7 @@ unique_ptr MessagesManager::do_delete_message(Dialog * } } else { if (message_id == d->last_message_id) { - CHECK(td_->auth_manager_->is_bot() && !G()->parameters().use_file_db); + CHECK(td_->auth_manager_->is_bot() && !G()->use_file_database()); set_dialog_last_message_id(d, MessageId(), "do_delete_message"); } } @@ -17047,7 +17047,7 @@ bool MessagesManager::load_dialog(DialogId dialog_id, int left_tries, Promiseparameters().use_message_db) { + if (G()->use_message_database()) { // TODO load dialog from database, DialogLoader // send_closure_later(actor_id(this), &MessagesManager::load_dialog_from_database, dialog_id, // std::move(promise)); @@ -17498,7 +17498,7 @@ void MessagesManager::load_folder_dialog_list(FolderId folder_id, int32 limit, b return; } - bool use_database = G()->parameters().use_message_db && + bool use_database = G()->use_message_database() && folder.last_loaded_database_dialog_date_ < folder.last_database_server_dialog_date_; if (only_local && !use_database) { return; @@ -17684,7 +17684,7 @@ void MessagesManager::preload_folder_dialog_list(FolderId folder_id) { CHECK(!td_->auth_manager_->is_bot()); auto &folder = *get_dialog_folder(folder_id); - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); if (folder.load_folder_dialog_list_multipromise_.promise_count() != 0) { LOG(INFO) << "Skip chat list preload in " << folder_id << ", because there is a pending load chat list request"; return; @@ -20434,7 +20434,7 @@ int32 MessagesManager::delete_dialog_filter(DialogFilterId dialog_filter_id, con } } - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { postponed_unread_message_count_updates_.erase(dialog_list_id); postponed_unread_chat_count_updates_.erase(dialog_list_id); @@ -20571,7 +20571,7 @@ Status MessagesManager::set_dialog_draft_message(DialogId dialog_id, MessageId t if (update_dialog_draft_message(d, std::move(new_draft_message), false, true)) { if (dialog_id.get_type() != DialogType::SecretChat) { - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { SaveDialogDraftMessageOnServerLogEvent log_event; log_event.dialog_id_ = dialog_id; add_log_event(d->save_draft_message_log_event_id, get_log_event_storer(log_event), @@ -20775,7 +20775,7 @@ void MessagesManager::toggle_dialog_is_pinned_on_server(DialogId dialog_id, bool return; } - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_toggle_dialog_is_pinned_on_server_log_event(dialog_id, is_pinned); } @@ -20943,7 +20943,7 @@ uint64 MessagesManager::save_reorder_pinned_dialogs_on_server_log_event(FolderId void MessagesManager::reorder_pinned_dialogs_on_server(FolderId folder_id, const vector &dialog_ids, uint64 log_event_id) { - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_reorder_pinned_dialogs_on_server_log_event(folder_id, dialog_ids); } @@ -21008,7 +21008,7 @@ void MessagesManager::toggle_dialog_is_marked_as_unread_on_server(DialogId dialo return; } - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_toggle_dialog_is_marked_as_unread_on_server_log_event(dialog_id, is_marked_as_unread); } @@ -21076,7 +21076,7 @@ void MessagesManager::toggle_dialog_is_translatable_on_server(DialogId dialog_id return; } - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_toggle_dialog_is_translatable_on_server_log_event(dialog_id, is_translatable); } @@ -21160,7 +21160,7 @@ uint64 MessagesManager::save_toggle_dialog_is_blocked_on_server_log_event(Dialog } void MessagesManager::toggle_dialog_is_blocked_on_server(DialogId dialog_id, bool is_blocked, uint64 log_event_id) { - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_toggle_dialog_is_blocked_on_server_log_event(dialog_id, is_blocked); } @@ -21215,7 +21215,7 @@ void MessagesManager::update_dialog_notification_settings_on_server(DialogId dia auto d = get_dialog(dialog_id); CHECK(d != nullptr); - if (!from_binlog && G()->parameters().use_message_db) { + if (!from_binlog && G()->use_message_database()) { UpdateDialogNotificationSettingsOnServerLogEvent log_event; log_event.dialog_id_ = dialog_id; add_log_event(d->save_notification_settings_log_event_id, get_log_event_storer(log_event), @@ -21910,7 +21910,7 @@ void MessagesManager::read_message_contents_on_server(DialogId dialog_id, vector LOG(INFO) << "Read contents of " << format::as_array(message_ids) << " in " << dialog_id << " on server"; - if (log_event_id == 0 && G()->parameters().use_message_db && !skip_log_event) { + if (log_event_id == 0 && G()->use_message_database() && !skip_log_event) { log_event_id = save_read_message_contents_on_server_log_event(dialog_id, message_ids); } @@ -22074,7 +22074,7 @@ void MessagesManager::open_dialog(Dialog *d) { } if (d->has_scheduled_database_messages && !d->is_has_scheduled_database_messages_checked) { - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); LOG(INFO) << "Send check has_scheduled_database_messages request"; d->is_has_scheduled_database_messages_checked = true; @@ -22757,7 +22757,7 @@ void MessagesManager::read_history_on_server(Dialog *d, MessageId max_message_id LogEvent::HandlerType::ReadHistoryInSecretChat, "read history"); d->last_read_inbox_message_date = m->date; - } else if (G()->parameters().use_message_db) { + } else if (G()->use_message_database()) { ReadHistoryOnServerLogEvent log_event; log_event.dialog_id_ = dialog_id; log_event.max_message_id_ = max_message_id; @@ -22785,7 +22785,7 @@ void MessagesManager::read_message_thread_history_on_server(Dialog *d, MessageId LOG(INFO) << "Read history in thread of " << top_thread_message_id << " in " << dialog_id << " on server up to " << max_message_id; - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { ReadMessageThreadHistoryOnServerLogEvent log_event; log_event.dialog_id_ = dialog_id; log_event.top_thread_message_id_ = top_thread_message_id; @@ -23179,7 +23179,7 @@ td_api::object_ptr MessagesManager::get_dialog_message_ } // Trying to use database - if (use_db && G()->parameters().use_message_db) { + if (use_db && G()->use_message_database()) { MessageId first_db_message_id = get_first_database_message_id_by_index(d, filter); int32 message_count = d->message_count_by_index[message_search_filter_index(filter)]; auto fixed_from_message_id = from_message_id; @@ -23397,7 +23397,7 @@ MessagesManager::FoundDialogMessages MessagesManager::search_dialog_messages( } // Trying to use database - if (use_db && query.empty() && G()->parameters().use_message_db && filter != MessageSearchFilter::Empty && + if (use_db && query.empty() && G()->use_message_database() && filter != MessageSearchFilter::Empty && !sender_dialog_id.is_valid() && top_thread_message_id == MessageId()) { MessageId first_db_message_id = get_first_database_message_id_by_index(d, filter); int32 message_count = d->message_count_by_index[message_search_filter_index(filter)]; @@ -23504,7 +23504,7 @@ MessagesManager::FoundMessages MessagesManager::search_call_messages(const strin auto filter = only_missed ? MessageSearchFilter::MissedCall : MessageSearchFilter::Call; - if (use_db && G()->parameters().use_message_db) { + if (use_db && G()->use_message_database()) { // try to use database MessageId first_db_message_id = calls_db_state_.first_calls_database_message_id_by_index[call_message_search_filter_index(filter)]; @@ -23580,7 +23580,7 @@ void MessagesManager::search_dialog_recent_location_messages(DialogId dialog_id, } vector MessagesManager::get_active_live_location_messages(Promise &&promise) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { are_active_live_location_messages_loaded_ = true; } @@ -23695,7 +23695,7 @@ void MessagesManager::add_active_live_location(FullMessageId full_message_id) { // TODO add timer for live location expiration - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -23715,7 +23715,7 @@ bool MessagesManager::delete_active_live_location(DialogId dialog_id, const Mess void MessagesManager::save_active_live_locations() { CHECK(are_active_live_location_messages_loaded_); LOG(INFO) << "Save active live locations of size " << active_live_location_full_message_ids_.size() << " to database"; - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { G()->td_db()->get_sqlite_pmc()->set("di_active_live_location_messages", log_event_store(active_live_location_full_message_ids_).as_slice().str(), Auto()); @@ -24067,7 +24067,7 @@ MessagesManager::FoundMessages MessagesManager::offline_search_messages(DialogId string offset, int32 limit, MessageSearchFilter filter, int64 &random_id, Promise &&promise) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { promise.set_error(Status::Error(400, "Message database is required to search messages in secret chats")); return {}; } @@ -24308,7 +24308,7 @@ int64 MessagesManager::get_dialog_message_by_date(DialogId dialog_id, int32 date return random_id; } - if (G()->parameters().use_message_db && d->last_database_message_id != MessageId()) { + if (G()->use_message_database() && d->last_database_message_id != MessageId()) { CHECK(d->first_database_message_id != MessageId()); G()->td_db()->get_message_db_async()->get_dialog_message_by_date( dialog_id, d->first_database_message_id, d->last_database_message_id, date, @@ -24534,7 +24534,7 @@ void MessagesManager::get_dialog_sparse_message_positions( } if (filter == MessageSearchFilter::FailedToSend || dialog_id.get_type() == DialogType::SecretChat) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return promise.set_error(Status::Error(400, "Unsupported without message database")); } @@ -25093,7 +25093,7 @@ void MessagesManager::get_history_from_the_end_impl(const Dialog *d, bool from_d from_database = false; } int32 limit = MAX_GET_HISTORY; - if (from_database && G()->parameters().use_message_db) { + if (from_database && G()->use_message_database()) { if (!promise) { // repair last database message ID limit = 10; @@ -25117,7 +25117,7 @@ void MessagesManager::get_history_from_the_end_impl(const Dialog *d, bool from_d promise.set_value(Unit()); return; } - if (!promise && !G()->parameters().use_message_db) { + if (!promise && !G()->use_message_database()) { // repair last message ID limit = 10; } @@ -25149,7 +25149,7 @@ void MessagesManager::get_history_impl(const Dialog *d, MessageId from_message_i !d->have_full_history) { from_database = false; } - if (from_database && G()->parameters().use_message_db) { + if (from_database && G()->use_message_database()) { LOG(INFO) << "Get history in " << dialog_id << " from " << from_message_id << " with offset " << offset << " and limit " << limit << " from database"; MessageDbMessagesQuery db_query; @@ -25196,7 +25196,7 @@ void MessagesManager::load_messages_impl(const Dialog *d, MessageId from_message LOG(INFO) << "Have full history in " << dialog_id << ", so don't need to get chat history from server"; only_local = true; } - bool from_database = (left_tries > 2 || only_local) && G()->parameters().use_message_db; + bool from_database = (left_tries > 2 || only_local) && G()->use_message_database(); if (from_message_id == MessageId()) { get_history_from_the_end_impl(d, from_database, only_local, std::move(promise), "load_messages_impl"); @@ -25253,7 +25253,7 @@ vector MessagesManager::get_dialog_scheduled_messages(DialogId dialog MessageId(ScheduledServerMessageId(), std::numeric_limits::max(), true), message_ids); std::reverse(message_ids.begin(), message_ids.end()); - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { bool has_scheduled_database_messages = false; for (auto &message_id : message_ids) { CHECK(message_id.is_valid_scheduled()); @@ -25282,7 +25282,7 @@ vector MessagesManager::get_dialog_scheduled_messages(DialogId dialog auto hash = get_vector_hash(numbers); if (!force && (d->has_scheduled_server_messages || - (d->scheduled_messages_sync_generation == 0 && !G()->parameters().use_message_db))) { + (d->scheduled_messages_sync_generation == 0 && !G()->use_message_database()))) { load_dialog_scheduled_messages(dialog_id, false, hash, std::move(promise)); return {}; } @@ -25299,7 +25299,7 @@ vector MessagesManager::get_dialog_scheduled_messages(DialogId dialog void MessagesManager::load_dialog_scheduled_messages(DialogId dialog_id, bool from_database, int64 hash, Promise &&promise) { - if (G()->parameters().use_message_db && from_database) { + if (G()->use_message_database() && from_database) { LOG(INFO) << "Load scheduled messages from database in " << dialog_id; auto &queries = load_scheduled_messages_from_database_queries_[dialog_id]; queries.push_back(std::move(promise)); @@ -26333,8 +26333,7 @@ void MessagesManager::cancel_send_message_query(DialogId dialog_id, Message *m) m->message_id, Status::OK()); } - if (!m->message_id.is_scheduled() && G()->parameters().use_file_db && - !m->is_copy) { // ResourceManager::Mode::Baseline + if (!m->message_id.is_scheduled() && G()->use_file_database() && !m->is_copy) { // ResourceManager::Mode::Baseline auto queue_id = ChainId(dialog_id, m->content->get_type()).get(); if (queue_id & 1) { auto queue_it = yet_unsent_media_queues_.find(queue_id); @@ -26918,7 +26917,7 @@ Result> MessagesManager::send_message_group } void MessagesManager::save_send_message_log_event(DialogId dialog_id, const Message *m) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -27483,7 +27482,7 @@ void MessagesManager::on_media_message_ready_to_send(DialogId dialog_id, Message Promise &&promise) { LOG(INFO) << "Ready to send " << message_id << " to " << dialog_id; CHECK(promise); - if (!G()->parameters().use_file_db || message_id.is_scheduled()) { // ResourceManager::Mode::Greedy + if (!G()->use_file_database() || message_id.is_scheduled()) { // ResourceManager::Mode::Greedy auto m = get_message({dialog_id, message_id}); if (m != nullptr) { promise.set_value(std::move(m)); @@ -27670,7 +27669,7 @@ class MessagesManager::SendBotStartMessageLogEvent { void MessagesManager::save_send_bot_start_message_log_event(UserId bot_user_id, DialogId dialog_id, const string ¶meter, const Message *m) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -27828,7 +27827,7 @@ class MessagesManager::SendInlineQueryResultMessageLogEvent { void MessagesManager::save_send_inline_query_result_message_log_event(DialogId dialog_id, const Message *m, int64 query_id, const string &result_id) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -29318,7 +29317,7 @@ void MessagesManager::do_forward_messages(DialogId to_dialog_id, DialogId from_d return; } - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_forward_messages_log_event(to_dialog_id, from_dialog_id, messages, message_ids, drop_author, drop_media_captions); } @@ -30023,7 +30022,7 @@ class MessagesManager::SendScreenshotTakenNotificationMessageLogEvent { uint64 MessagesManager::save_send_screenshot_taken_notification_message_log_event(DialogId dialog_id, const Message *m) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return 0; } @@ -30446,7 +30445,7 @@ bool MessagesManager::on_get_dialog_error(DialogId dialog_id, const Status &stat } void MessagesManager::on_dialog_updated(DialogId dialog_id, const char *source) { - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { LOG(INFO) << "Update " << dialog_id << " from " << source; pending_updated_dialog_timeout_.add_timeout_in(dialog_id.get(), MAX_SAVE_DIALOG_DELAY); } @@ -30647,7 +30646,7 @@ MessagesManager::MessageNotificationGroup MessagesManager::get_message_notificat if (it != notification_group_id_to_dialog_id_.end()) { d = get_dialog(it->second); CHECK(d != nullptr); - } else if (G()->parameters().use_message_db) { + } else if (G()->use_message_database()) { auto *dialog_db = G()->td_db()->get_dialog_db_sync(); dialog_db->begin_read_transaction().ensure(); auto r_value = dialog_db->get_notification_group(group_id); @@ -30824,7 +30823,7 @@ void MessagesManager::try_add_pinned_message_notification(Dialog *d, vector MessagesManager::get_message_notifications_from_database_force(Dialog *d, bool from_mentions, int32 limit) { CHECK(d != nullptr); - if (!G()->parameters().use_message_db || td_->auth_manager_->is_bot()) { + if (!G()->use_message_database() || td_->auth_manager_->is_bot()) { return {}; } @@ -30933,7 +30932,7 @@ vector MessagesManager::get_message_notifications_from_database_fo vector MessagesManager::do_get_message_notifications_from_database_force( Dialog *d, bool from_mentions, NotificationId from_notification_id, MessageId from_message_id, int32 limit) { - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); CHECK(!from_message_id.is_scheduled()); auto *db = G()->td_db()->get_message_db_sync(); @@ -30960,7 +30959,7 @@ vector MessagesManager::do_get_message_notifications_fro vector MessagesManager::get_message_notification_group_keys_from_database( NotificationGroupKey from_group_key, int32 limit) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return {}; } @@ -30994,7 +30993,7 @@ void MessagesManager::get_message_notifications_from_database(DialogId dialog_id NotificationId from_notification_id, MessageId from_message_id, int32 limit, Promise> promise) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return promise.set_error(Status::Error(500, "There is no message database")); } if (td_->auth_manager_->is_bot()) { @@ -31039,7 +31038,7 @@ void MessagesManager::do_get_message_notifications_from_database(Dialog *d, bool NotificationId from_notification_id, MessageId from_message_id, int32 limit, Promise> promise) { - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); CHECK(!from_message_id.is_scheduled()); auto &group_info = from_mentions ? d->mention_notification_group : d->message_notification_group; @@ -31223,7 +31222,7 @@ void MessagesManager::remove_message_notification(DialogId dialog_id, Notificati return; } - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { G()->td_db()->get_message_db_async()->get_messages_from_notification_id( dialog_id, NotificationId(notification_id.get() + 1), 1, PromiseCreator::lambda([dialog_id, from_mentions, notification_id, @@ -31919,7 +31918,7 @@ void MessagesManager::save_dialog_filters() { void MessagesManager::send_update_unread_message_count(DialogList &list, DialogId dialog_id, bool force, const char *source, bool from_database) { - if (td_->auth_manager_->is_bot() || !G()->parameters().use_message_db) { + if (td_->auth_manager_->is_bot() || !G()->use_message_database()) { return; } @@ -31960,7 +31959,7 @@ void MessagesManager::send_update_unread_message_count(DialogList &list, DialogI void MessagesManager::send_update_unread_chat_count(DialogList &list, DialogId dialog_id, bool force, const char *source, bool from_database) { - if (td_->auth_manager_->is_bot() || !G()->parameters().use_message_db) { + if (td_->auth_manager_->is_bot() || !G()->use_message_database()) { return; } @@ -32247,7 +32246,7 @@ void MessagesManager::send_update_chat_has_scheduled_messages(Dialog *d, bool fr if (d->has_loaded_scheduled_messages_from_database) { set_dialog_has_scheduled_database_messages_impl(d, false); } else { - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); repair_dialog_scheduled_messages(d); } } @@ -33545,7 +33544,7 @@ void MessagesManager::set_dialog_has_scheduled_database_messages_impl(Dialog *d, return; } - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); d->has_scheduled_database_messages = has_scheduled_database_messages; on_dialog_updated(d->dialog_id, "set_dialog_has_scheduled_database_messages"); @@ -34200,7 +34199,7 @@ void MessagesManager::send_get_dialog_query(DialogId dialog_id, Promise && return; } - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_reget_dialog_log_event(dialog_id); } if (log_event_id != 0) { @@ -34723,7 +34722,7 @@ void MessagesManager::set_dialog_folder_id_on_server(DialogId dialog_id, bool fr auto d = get_dialog(dialog_id); CHECK(d != nullptr); - if (!from_binlog && G()->parameters().use_message_db) { + if (!from_binlog && G()->use_message_database()) { SetDialogFolderIdOnServerLogEvent log_event; log_event.dialog_id_ = dialog_id; log_event.folder_id_ = d->folder_id; @@ -35326,7 +35325,7 @@ uint64 MessagesManager::save_unpin_all_dialog_messages_on_server_log_event(Dialo void MessagesManager::unpin_all_dialog_messages_on_server(DialogId dialog_id, uint64 log_event_id, Promise &&promise) { - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { log_event_id = save_unpin_all_dialog_messages_on_server_log_event(dialog_id); } @@ -35448,7 +35447,7 @@ MessagesManager::Message *MessagesManager::get_message_force(Dialog *d, MessageI return result; } - if (!G()->parameters().use_message_db || message_id.is_yet_unsent() || is_deleted_message(d, message_id)) { + if (!G()->use_message_database() || message_id.is_yet_unsent() || is_deleted_message(d, message_id)) { return nullptr; } @@ -35704,7 +35703,7 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq CHECK(message->have_next); CHECK(message->have_previous); if (message_id <= d->last_new_message_id && dialog_type != DialogType::Channel) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { if (td_->auth_manager_->is_bot() && Time::now() > start_time_ + 300 && MessageId(ServerMessageId(100)) <= message_id && message_id <= MessageId(ServerMessageId(1000)) && d->last_new_message_id >= MessageId(ServerMessageId(2147483000))) { @@ -35831,7 +35830,7 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq LOG(INFO) << "Adding already existing " << message_id << " in " << dialog_id << " from " << source; if (*need_update) { *need_update = false; - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { // can happen if the message is received first through getMessage in an unknown chat without // last_new_message_id and only after that received through getDifference or getChannelDifference if (d->last_new_message_id.is_valid()) { @@ -36029,7 +36028,7 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq } } - if (G()->parameters().use_file_db && message_id.is_yet_unsent() && !message->via_bot_user_id.is_valid() && + if (G()->use_file_database() && message_id.is_yet_unsent() && !message->via_bot_user_id.is_valid() && !message->hide_via_bot && !message->is_copy) { auto queue_id = ChainId(dialog_id, message_content_type).get(); if (queue_id & 1) { @@ -36634,7 +36633,7 @@ void MessagesManager::on_message_notification_changed(Dialog *d, const Message * } void MessagesManager::add_message_to_database(const Dialog *d, const Message *m, const char *source) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -36712,7 +36711,7 @@ void MessagesManager::delete_all_dialog_messages_from_database(Dialog *d, Messag remove_message_dialog_notifications(d, max_message_id, false, source); remove_message_dialog_notifications(d, max_message_id, true, source); - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -36903,7 +36902,7 @@ void MessagesManager::delete_message_from_database(Dialog *d, MessageId message_ delete_message_files(d->dialog_id, m); } - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -36919,7 +36918,7 @@ void MessagesManager::delete_message_from_database(Dialog *d, MessageId message_ } void MessagesManager::do_delete_message_log_event(const DeleteMessageLogEvent &log_event) const { - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); Promise db_promise; if (!log_event.file_ids_.empty()) { @@ -37619,7 +37618,7 @@ MessagesManager::Dialog *MessagesManager::get_dialog_by_message_id(MessageId mes CHECK(message_id.is_valid() && message_id.is_server()); auto dialog_id = message_id_to_dialog_id_.get(message_id); if (dialog_id == DialogId()) { - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { auto r_value = G()->td_db()->get_message_db_sync()->get_message_by_unique_message_id(message_id.get_server_message_id()); if (r_value.is_ok()) { @@ -37651,7 +37650,7 @@ MessageId MessagesManager::get_message_id_by_random_id(Dialog *d, int64 random_i } auto it = d->random_id_to_message_id.find(random_id); if (it == d->random_id_to_message_id.end()) { - if (G()->parameters().use_message_db && d->dialog_id.get_type() == DialogType::SecretChat) { + if (G()->use_message_database() && d->dialog_id.get_type() == DialogType::SecretChat) { auto r_value = G()->td_db()->get_message_db_sync()->get_message_by_random_id(d->dialog_id, random_id); if (r_value.is_ok()) { debug_add_message_to_dialog_fail_reason_ = "not called"; @@ -37725,7 +37724,7 @@ void MessagesManager::force_create_dialog(DialogId dialog_id, const char *source } } - if (G()->parameters().use_message_db && !td_->auth_manager_->is_bot() && + if (G()->use_message_database() && !td_->auth_manager_->is_bot() && !td_->contacts_manager_->get_secret_chat_is_outbound(secret_chat_id)) { auto notification_group_id = get_dialog_notification_group_id(dialog_id, d->message_notification_group); if (notification_group_id.is_valid()) { @@ -37772,7 +37771,7 @@ MessagesManager::Dialog *MessagesManager::add_dialog(DialogId dialog_id, const c CHECK(!have_dialog(dialog_id)); LOG_CHECK(dialog_id.is_valid()) << source; - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { // TODO preload dialog asynchronously, remove loading from this function auto r_value = G()->td_db()->get_dialog_db_sync()->get_dialog(dialog_id); if (r_value.is_ok()) { @@ -38269,7 +38268,7 @@ void MessagesManager::fix_new_dialog(Dialog *d, unique_ptr &&last_datab } } - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { d->has_loaded_scheduled_messages_from_database = true; } @@ -38303,13 +38302,13 @@ void MessagesManager::fix_new_dialog(Dialog *d, unique_ptr &&last_datab if (d->messages != nullptr) { if (d->messages->message_id != last_message_id || d->messages->left != nullptr || d->messages->right != nullptr) { - auto common_data = - PSTRING() << ' ' << last_message_id << ' ' << d->last_message_id << ' ' << d->last_database_message_id << ' ' - << d->debug_set_dialog_last_database_message_id << ' ' << d->messages->debug_source << ' ' - << is_loaded_from_database << ' ' << source << ' ' << being_added_dialog_id_ << ' ' - << being_added_new_dialog_id_ << ' ' << dialog_id << ' ' << d->is_channel_difference_finished << ' ' - << debug_last_get_channel_difference_dialog_id_ << ' ' << debug_last_get_channel_difference_source_ - << ' ' << G()->parameters().use_message_db; + auto common_data = PSTRING() << ' ' << last_message_id << ' ' << d->last_message_id << ' ' + << d->last_database_message_id << ' ' << d->debug_set_dialog_last_database_message_id + << ' ' << d->messages->debug_source << ' ' << is_loaded_from_database << ' ' + << source << ' ' << being_added_dialog_id_ << ' ' << being_added_new_dialog_id_ + << ' ' << dialog_id << ' ' << d->is_channel_difference_finished << ' ' + << debug_last_get_channel_difference_dialog_id_ << ' ' + << debug_last_get_channel_difference_source_ << ' ' << G()->use_message_database(); LOG_CHECK(d->messages->message_id == last_message_id) << d->messages->message_id << common_data; LOG_CHECK(d->messages->left == nullptr) << d->messages->left->message_id << ' ' << d->messages->message_id << ' ' << d->messages->left->message_id @@ -38839,8 +38838,7 @@ void MessagesManager::update_last_dialog_date(FolderId folder_id) { } } - if (G()->parameters().use_message_db && - folder->last_database_server_dialog_date_ < folder->last_server_dialog_date_) { + if (G()->use_message_database() && folder->last_database_server_dialog_date_ < folder->last_server_dialog_date_) { auto last_server_dialog_date_string = PSTRING() << folder->last_server_dialog_date_.get_order() << ' ' << folder->last_server_dialog_date_.get_dialog_id().get(); G()->td_db()->get_binlog_pmc()->set(PSTRING() << "last_server_dialog_date" << folder_id.get(), @@ -38985,7 +38983,7 @@ MessagesManager::Dialog *MessagesManager::get_dialog_force(DialogId dialog_id, c return d; } - if (!dialog_id.is_valid() || !G()->parameters().use_message_db || loaded_dialogs_.count(dialog_id) > 0 || + if (!dialog_id.is_valid() || !G()->use_message_database() || loaded_dialogs_.count(dialog_id) > 0 || failed_to_load_dialogs_.count(dialog_id) > 0) { return nullptr; } @@ -39087,7 +39085,7 @@ unique_ptr MessagesManager::parse_dialog(DialogId dialo MessagesManager::Dialog *MessagesManager::on_load_dialog_from_database(DialogId dialog_id, BufferSlice &&value, const char *source) { - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); if (!dialog_id.is_valid()) { // hack @@ -40574,7 +40572,7 @@ void MessagesManager::on_binlog_events(vector &&events) { CHECK(event.id_ != 0); switch (event.type_) { case LogEvent::HandlerType::SendMessage: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40615,7 +40613,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::SendBotStartMessage: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40655,7 +40653,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::SendInlineQueryResultMessage: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40695,7 +40693,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::SendScreenshotTakenNotificationMessage: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40728,7 +40726,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ForwardMessages: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); continue; } @@ -40808,7 +40806,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::DeleteMessage: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40831,7 +40829,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::DeleteMessagesOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40855,7 +40853,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::DeleteScheduledMessagesOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40879,7 +40877,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::DeleteDialogHistoryOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40899,7 +40897,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::DeleteTopicHistoryOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40934,7 +40932,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::DeleteAllChannelMessagesFromSenderOnServer: { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40960,7 +40958,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::DeleteDialogMessagesByDateOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -40980,7 +40978,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ReadHistoryOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41031,7 +41029,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ReadMessageThreadHistoryOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41057,7 +41055,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ReadMessageContentsOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41076,7 +41074,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ReadAllDialogMentionsOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41095,7 +41093,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ReadAllDialogReactionsOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41114,7 +41112,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ToggleDialogIsPinnedOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41133,7 +41131,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ReorderPinnedDialogsOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41157,7 +41155,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ToggleDialogIsMarkedAsUnreadOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41178,7 +41176,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ToggleDialogIsBlockedOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41197,7 +41195,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::SaveDialogDraftMessageOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41217,7 +41215,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::UpdateDialogNotificationSettingsOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41244,7 +41242,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::ToggleDialogReportSpamStateOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41263,7 +41261,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::SetDialogFolderIdOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41285,7 +41283,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::RegetDialog: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41309,7 +41307,7 @@ void MessagesManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::UnpinAllDialogMessagesOnServer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -41625,7 +41623,7 @@ void MessagesManager::add_sponsored_dialog(const Dialog *d, DialogSource source) } void MessagesManager::save_sponsored_dialog() { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -41739,7 +41737,7 @@ void MessagesManager::get_current_state(vectorparameters().use_message_db) { + if (G()->use_message_database()) { for (const auto &it : dialog_lists_) { auto &list = it.second; if (list.is_message_unread_count_inited_) { diff --git a/td/telegram/NotificationManager.cpp b/td/telegram/NotificationManager.cpp index cf5a6eb74..8105ddf66 100644 --- a/td/telegram/NotificationManager.cpp +++ b/td/telegram/NotificationManager.cpp @@ -549,7 +549,7 @@ MessageId NotificationManager::get_last_message_id_by_notification_id(const Noti void NotificationManager::load_message_notifications_from_database(const NotificationGroupKey &group_key, NotificationGroup &group, size_t desired_size) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } if (group.is_loaded_from_database || group.is_being_loaded_from_database || @@ -3698,7 +3698,7 @@ void NotificationManager::add_message_push_notification(DialogId dialog_id, Mess td_->contacts_manager_->on_get_user(std::move(user), "add_message_push_notification"); } - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { AddMessagePushNotificationLogEvent log_event{dialog_id, message_id, random_id, @@ -3841,7 +3841,7 @@ void NotificationManager::edit_message_push_notification(DialogId dialog_id, Mes CHECK(group_id.is_valid()); CHECK(notification_id.is_valid()); - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { EditMessagePushNotificationLogEvent log_event{dialog_id, message_id, edit_date, loc_key, arg, photo, document}; auto storer = get_log_event_storer(log_event); auto &cur_log_event_id = temporary_edit_notification_log_event_ids_[notification_id]; @@ -4185,7 +4185,7 @@ void NotificationManager::on_binlog_events(vector &&events) { } VLOG(notifications) << "Begin to process " << events.size() << " binlog events"; for (auto &event : events) { - if (!G()->parameters().use_message_db || is_disabled() || max_notification_group_count_ == 0) { + if (!G()->use_message_database() || is_disabled() || max_notification_group_count_ == 0) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } diff --git a/td/telegram/PollManager.cpp b/td/telegram/PollManager.cpp index acb7ee0e2..e0a52d9c7 100644 --- a/td/telegram/PollManager.cpp +++ b/td/telegram/PollManager.cpp @@ -357,7 +357,7 @@ void PollManager::save_poll(const Poll *poll, PollId poll_id) { CHECK(!is_local_poll_id(poll_id)); poll->was_saved = true; - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -405,7 +405,7 @@ PollManager::Poll *PollManager::get_poll_force(PollId poll_id) { if (poll != nullptr) { return poll; } - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return nullptr; } if (!poll_id.is_valid() || loaded_from_database_polls_.count(poll_id)) { @@ -844,7 +844,7 @@ void PollManager::do_set_poll_answer(PollId poll_id, FullMessageId full_message_ binlog_erase(G()->td_db()->get_binlog(), log_event_id); return; } - if (log_event_id == 0 && G()->parameters().use_message_db) { + if (log_event_id == 0 && G()->use_message_database()) { SetPollAnswerLogEvent log_event; log_event.poll_id_ = poll_id; log_event.full_message_id_ = full_message_id; @@ -1201,7 +1201,7 @@ void PollManager::do_stop_poll(PollId poll_id, FullMessageId full_message_id, un LOG(INFO) << "Stop " << poll_id << " from " << full_message_id; CHECK(poll_id.is_valid()); - if (log_event_id == 0 && G()->parameters().use_message_db && reply_markup == nullptr) { + if (log_event_id == 0 && G()->use_message_database() && reply_markup == nullptr) { StopPollLogEvent log_event{poll_id, full_message_id}; log_event_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::StopPoll, get_log_event_storer(log_event)); @@ -1823,7 +1823,7 @@ void PollManager::on_binlog_events(vector &&events) { for (auto &event : events) { switch (event.type_) { case LogEvent::HandlerType::SetPollAnswer: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } @@ -1842,7 +1842,7 @@ void PollManager::on_binlog_events(vector &&events) { break; } case LogEvent::HandlerType::StopPoll: { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); break; } diff --git a/td/telegram/RecentDialogList.cpp b/td/telegram/RecentDialogList.cpp index 527dc2674..8074e3f5d 100644 --- a/td/telegram/RecentDialogList.cpp +++ b/td/telegram/RecentDialogList.cpp @@ -46,7 +46,7 @@ void RecentDialogList::save_dialogs() const { SliceBuilder sb; for (auto &dialog_id : dialog_ids_) { sb << ','; - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { // if there is no dialog info database, prefer to save dialogs by username string username; switch (dialog_id.get_type()) { @@ -107,7 +107,7 @@ void RecentDialogList::load_dialogs(Promise &&promise) { } } if (!dialog_ids.empty()) { - if (G()->parameters().use_chat_info_db) { + if (G()->use_chat_info_database()) { td_->messages_manager_->load_dialogs( std::move(dialog_ids), PromiseCreator::lambda( diff --git a/td/telegram/SecretChatsManager.cpp b/td/telegram/SecretChatsManager.cpp index 328e65f46..4f8dc3c9d 100644 --- a/td/telegram/SecretChatsManager.cpp +++ b/td/telegram/SecretChatsManager.cpp @@ -74,7 +74,7 @@ SecretChatsManager::SecretChatsManager(ActorShared<> parent) : parent_(std::move } void SecretChatsManager::start_up() { - if (!G()->parameters().use_secret_chats) { + if (!G()->use_secret_chats()) { dummy_mode_ = true; return; } diff --git a/td/telegram/StickersManager.cpp b/td/telegram/StickersManager.cpp index 255d752be..aea17596c 100644 --- a/td/telegram/StickersManager.cpp +++ b/td/telegram/StickersManager.cpp @@ -1791,7 +1791,7 @@ void StickersManager::init() { } load_special_sticker_set(add_special_sticker_set(SpecialStickerSetType::premium_gifts())); - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { auto old_featured_sticker_set_count_str = G()->td_db()->get_binlog_pmc()->get("old_featured_sticker_set_count"); if (!old_featured_sticker_set_count_str.empty()) { old_featured_sticker_set_count_[static_cast(StickerType::Regular)] = @@ -1931,7 +1931,7 @@ void StickersManager::init_special_sticker_set(SpecialStickerSet &sticker_set, i } void StickersManager::load_special_sticker_set_info_from_binlog(SpecialStickerSet &sticker_set) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { string sticker_set_string = G()->td_db()->get_binlog_pmc()->get(sticker_set.type_.type_); if (!sticker_set_string.empty()) { auto parts = full_split(sticker_set_string); @@ -3042,7 +3042,7 @@ FileId StickersManager::on_get_sticker(unique_ptr new_sticker, bool rep custom_emoji_to_sticker_id_.set(custom_emoji_id, file_id); CHECK(updated_custom_emoji_id == custom_emoji_id || !updated_custom_emoji_id.is_valid()); updated_custom_emoji_id = custom_emoji_id; - if (!s->is_from_database_ && G()->parameters().use_file_db && !G()->close_flag()) { + if (!s->is_from_database_ && G()->use_file_database() && !G()->close_flag()) { LOG(INFO) << "Save " << custom_emoji_id << " to database"; s->is_from_database_ = true; @@ -4942,7 +4942,7 @@ void StickersManager::search_stickers(StickerType sticker_type, string emoji, in get_recent_stickers_hash(it->second.sticker_ids_, "search_stickers")); } - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Trying to load stickers for " << emoji << " from database"; G()->td_db()->get_sqlite_pmc()->get(get_found_stickers_database_key(sticker_type, emoji), PromiseCreator::lambda([sticker_type, emoji](string value) mutable { @@ -5018,7 +5018,7 @@ void StickersManager::on_search_stickers_succeeded(StickerType sticker_type, con found_stickers.next_reload_time_ = Time::now() + found_stickers.cache_time_; found_stickers.sticker_ids_ = std::move(sticker_ids); - if (G()->parameters().use_file_db && !G()->close_flag()) { + if (G()->use_file_database() && !G()->close_flag()) { LOG(INFO) << "Save " << sticker_type << " stickers for " << emoji << " to database"; G()->td_db()->get_sqlite_pmc()->set(get_found_stickers_database_key(sticker_type, emoji), log_event_store(found_stickers).as_slice().str(), Auto()); @@ -5492,7 +5492,7 @@ void StickersManager::load_installed_sticker_sets(StickerType sticker_type, Prom } load_installed_sticker_sets_queries_[type].push_back(std::move(promise)); if (load_installed_sticker_sets_queries_[type].size() == 1u) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Trying to load installed " << sticker_type << " sticker sets from database"; G()->td_db()->get_sqlite_pmc()->get( PSTRING() << "sss" << type, PromiseCreator::lambda([sticker_type](string value) { @@ -5619,7 +5619,7 @@ string StickersManager::get_sticker_set_database_value(const StickerSet *s, bool void StickersManager::update_sticker_set(StickerSet *sticker_set, const char *source) { CHECK(sticker_set != nullptr); if (sticker_set->is_changed_ || sticker_set->need_save_to_database_) { - if (G()->parameters().use_file_db && !G()->close_flag()) { + if (G()->use_file_database() && !G()->close_flag()) { LOG(INFO) << "Save " << sticker_set->id_ << " to database from " << source; if (sticker_set->is_inited_) { G()->td_db()->get_sqlite_pmc()->set(get_sticker_set_database_key(sticker_set->id_), @@ -5661,7 +5661,7 @@ void StickersManager::load_sticker_sets(vector &&sticker_set_ids, sticker_set->load_requests_.push_back(load_request_id); if (sticker_set->load_requests_.size() == 1u) { - if (G()->parameters().use_file_db && !sticker_set->was_loaded_) { + if (G()->use_file_database() && !sticker_set->was_loaded_) { LOG(INFO) << "Trying to load " << sticker_set_id << " with stickers from database"; G()->td_db()->get_sqlite_pmc()->get( get_full_sticker_set_database_key(sticker_set_id), PromiseCreator::lambda([sticker_set_id](string value) { @@ -5699,7 +5699,7 @@ void StickersManager::load_sticker_sets_without_stickers(vector && } else { sticker_set->load_without_stickers_requests_.push_back(load_request_id); if (sticker_set->load_without_stickers_requests_.size() == 1u) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Trying to load " << sticker_set_id << " from database"; G()->td_db()->get_sqlite_pmc()->get( get_sticker_set_database_key(sticker_set_id), PromiseCreator::lambda([sticker_set_id](string value) { @@ -5923,7 +5923,7 @@ void StickersManager::on_update_dice_emojis() { special_sticker_set.short_name_.clear(); } - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Load new dice sticker set for emoji " << emoji; load_special_sticker_set(special_sticker_set); } @@ -6446,7 +6446,7 @@ void StickersManager::get_default_topic_icons(bool is_recursive, } void StickersManager::load_custom_emoji_sticker_from_database_force(CustomEmojiId custom_emoji_id) { - if (!G()->parameters().use_file_db) { + if (!G()->use_file_database()) { return; } @@ -6466,7 +6466,7 @@ void StickersManager::load_custom_emoji_sticker_from_database_force(CustomEmojiI void StickersManager::load_custom_emoji_sticker_from_database(CustomEmojiId custom_emoji_id, Promise &&promise) { CHECK(custom_emoji_id.is_valid()); - if (!G()->parameters().use_file_db) { + if (!G()->use_file_database()) { return promise.set_value(Unit()); } @@ -6622,7 +6622,7 @@ void StickersManager::get_custom_emoji_stickers(vector custom_emo return promise.set_value(get_custom_emoji_stickers_object(custom_emoji_ids)); } - if (use_database && G()->parameters().use_file_db) { + if (use_database && G()->use_file_database()) { MultiPromiseActorSafe mpas{"LoadCustomEmojiMultiPromiseActor"}; mpas.add_promise(PromiseCreator::lambda( [actor_id = actor_id(this), custom_emoji_ids, promise = std::move(promise)](Unit) mutable { @@ -6686,7 +6686,7 @@ void StickersManager::get_default_dialog_photo_custom_emoji_stickers( return; } - if (G()->parameters().use_file_db && !are_default_dialog_photo_custom_emoji_ids_loaded_[for_user]) { + if (G()->use_file_database() && !are_default_dialog_photo_custom_emoji_ids_loaded_[for_user]) { LOG(INFO) << "Trying to load " << (for_user ? "profile" : "chat") << " photo custom emoji identifiers from database"; return G()->td_db()->get_sqlite_pmc()->get( @@ -6806,7 +6806,7 @@ void StickersManager::on_get_default_dialog_photo_custom_emoji_ids( transform(std::move(emoji_list->document_id_), [](int64 document_id) { return CustomEmojiId(document_id); }); auto hash = emoji_list->hash_; - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { CustomEmojiIdsLogEvent log_event(custom_emoji_ids, hash); G()->td_db()->get_sqlite_pmc()->set(get_default_dialog_photo_custom_emoji_ids_database_key(for_user), log_event_store(log_event).as_slice().str(), Auto()); @@ -7446,7 +7446,7 @@ void StickersManager::on_old_featured_sticker_sets_invalidated(StickerType stick LOG(INFO) << "Invalidate old trending sticker sets"; are_old_featured_sticker_sets_invalidated_[type] = true; - if (!G()->parameters().use_file_db) { + if (!G()->use_file_database()) { return; } @@ -7463,7 +7463,7 @@ void StickersManager::invalidate_old_featured_sticker_sets(StickerType sticker_t auto type = static_cast(sticker_type); LOG(INFO) << "Invalidate old featured sticker sets"; - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { G()->td_db()->get_binlog_pmc()->erase("invalidate_old_featured_sticker_sets"); G()->td_db()->get_sqlite_pmc()->erase_by_prefix("sssoldfeatured", Auto()); } @@ -7488,7 +7488,7 @@ void StickersManager::set_old_featured_sticker_set_count(StickerType sticker_typ old_featured_sticker_set_count_[type] = count; need_update_featured_sticker_sets_[type] = true; - if (!G()->parameters().use_file_db) { + if (!G()->use_file_database()) { return; } @@ -7579,7 +7579,7 @@ void StickersManager::on_get_featured_sticker_sets( if (offset >= 0) { if (generation == old_featured_sticker_set_generation_[type] && sticker_type == StickerType::Regular) { - if (G()->parameters().use_file_db && !G()->close_flag()) { + if (G()->use_file_database() && !G()->close_flag()) { LOG(INFO) << "Save old trending sticker sets to database with offset " << old_featured_sticker_set_ids_[type].size(); CHECK(old_featured_sticker_set_ids_[type].size() % OLD_FEATURED_STICKER_SET_SLICE_SIZE == 0); @@ -7599,7 +7599,7 @@ void StickersManager::on_get_featured_sticker_sets( LOG_IF(ERROR, featured_sticker_sets_hash_[type] != featured_stickers->hash_) << "Trending sticker sets hash mismatch"; - if (G()->parameters().use_file_db && !G()->close_flag()) { + if (G()->use_file_database() && !G()->close_flag()) { LOG(INFO) << "Save trending sticker sets to database"; StickerSetListLogEvent log_event(featured_sticker_set_ids_[type], are_featured_sticker_sets_premium_[type]); G()->td_db()->get_sqlite_pmc()->set(PSTRING() << "sssfeatured" << get_featured_sticker_suffix(sticker_type), @@ -7635,7 +7635,7 @@ void StickersManager::load_featured_sticker_sets(StickerType sticker_type, Promi } load_featured_sticker_sets_queries_[type].push_back(std::move(promise)); if (load_featured_sticker_sets_queries_[type].size() == 1u) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Trying to load trending sticker sets from database"; G()->td_db()->get_sqlite_pmc()->get(PSTRING() << "sssfeatured" << get_featured_sticker_suffix(sticker_type), PromiseCreator::lambda([sticker_type](string value) { @@ -7716,7 +7716,7 @@ void StickersManager::load_old_featured_sticker_sets(StickerType sticker_type, P CHECK(old_featured_sticker_set_ids_[type].size() % OLD_FEATURED_STICKER_SET_SLICE_SIZE == 0); load_old_featured_sticker_sets_queries_.push_back(std::move(promise)); if (load_old_featured_sticker_sets_queries_.size() == 1u) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Trying to load old trending sticker sets from database with offset " << old_featured_sticker_set_ids_[type].size(); G()->td_db()->get_sqlite_pmc()->get( @@ -8904,7 +8904,7 @@ void StickersManager::send_update_installed_sticker_sets(bool from_database) { installed_sticker_sets_hash_[type] = get_sticker_sets_hash(installed_sticker_set_ids_[type]); send_closure(G()->td(), &Td::send_update, get_update_installed_sticker_sets_object(sticker_type)); - if (G()->parameters().use_file_db && !from_database && !G()->close_flag()) { + if (G()->use_file_database() && !from_database && !G()->close_flag()) { LOG(INFO) << "Save installed " << sticker_type << " sticker sets to database"; StickerSetListLogEvent log_event(installed_sticker_set_ids_[type], false); G()->td_db()->get_sqlite_pmc()->set(PSTRING() << "sss" << type, log_event_store(log_event).as_slice().str(), @@ -9028,7 +9028,7 @@ void StickersManager::load_recent_stickers(bool is_attached, Promise &&pro } load_recent_stickers_queries_[is_attached].push_back(std::move(promise)); if (load_recent_stickers_queries_[is_attached].size() == 1u) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Trying to load recent " << (is_attached ? "attached " : "") << "stickers from database"; G()->td_db()->get_sqlite_pmc()->get( is_attached ? "ssr1" : "ssr0", PromiseCreator::lambda([is_attached](string value) { @@ -9332,7 +9332,7 @@ void StickersManager::send_update_recent_stickers(bool is_attached, bool from_da } void StickersManager::save_recent_stickers_to_database(bool is_attached) { - if (G()->parameters().use_file_db && !G()->close_flag()) { + if (G()->use_file_database() && !G()->close_flag()) { LOG(INFO) << "Save recent " << (is_attached ? "attached " : "") << "stickers to database"; StickerListLogEvent log_event(recent_sticker_ids_[is_attached]); G()->td_db()->get_sqlite_pmc()->set(is_attached ? "ssr1" : "ssr0", log_event_store(log_event).as_slice().str(), @@ -9426,7 +9426,7 @@ void StickersManager::load_favorite_stickers(Promise &&promise) { } load_favorite_stickers_queries_.push_back(std::move(promise)); if (load_favorite_stickers_queries_.size() == 1u) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { LOG(INFO) << "Trying to load favorite stickers from database"; G()->td_db()->get_sqlite_pmc()->get("ssfav", PromiseCreator::lambda([](string value) { send_closure(G()->stickers_manager(), @@ -9696,7 +9696,7 @@ void StickersManager::send_update_favorite_stickers(bool from_database) { } void StickersManager::save_favorite_stickers_to_database() { - if (G()->parameters().use_file_db && !G()->close_flag()) { + if (G()->use_file_database() && !G()->close_flag()) { LOG(INFO) << "Save favorite stickers to database"; StickerListLogEvent log_event(favorite_sticker_ids_); G()->td_db()->get_sqlite_pmc()->set("ssfav", log_event_store(log_event).as_slice().str(), Auto()); @@ -9866,7 +9866,7 @@ void StickersManager::on_get_language_codes(const string &key, Resultsecond != language_codes) { LOG(INFO) << "Update emoji language codes for " << key << " to " << language_codes; if (!G()->close_flag()) { - CHECK(G()->parameters().use_file_db); + CHECK(G()->use_file_database()); G()->td_db()->get_sqlite_pmc()->set(key, implode(language_codes, '$'), Auto()); } it->second = std::move(language_codes); @@ -10017,7 +10017,7 @@ void StickersManager::on_get_emoji_keywords( } } if (is_good && !G()->close_flag()) { - CHECK(G()->parameters().use_file_db); + CHECK(G()->use_file_database()); G()->td_db()->get_sqlite_pmc()->set(get_language_emojis_database_key(language_code, text), implode(keyword->emoticons_, '$'), mpas.get_promise()); } @@ -10031,7 +10031,7 @@ void StickersManager::on_get_emoji_keywords( } } if (!G()->close_flag()) { - CHECK(G()->parameters().use_file_db); + CHECK(G()->use_file_database()); G()->td_db()->get_sqlite_pmc()->set(get_emoji_language_code_version_database_key(language_code), to_string(version), mpas.get_promise()); G()->td_db()->get_sqlite_pmc()->set(get_emoji_language_code_last_difference_time_database_key(language_code), @@ -10140,7 +10140,7 @@ void StickersManager::on_get_emoji_keywords_difference( UNREACHABLE(); } } - CHECK(G()->parameters().use_file_db); + CHECK(G()->use_file_database()); G()->td_db()->get_sqlite_pmc()->set_all( std::move(key_values), PromiseCreator::lambda([actor_id = actor_id(this), language_code, version](Unit) mutable { send_closure(actor_id, &StickersManager::finish_get_emoji_keywords_difference, std::move(language_code), @@ -10161,7 +10161,7 @@ void StickersManager::finish_get_emoji_keywords_difference(string language_code, vector StickersManager::search_emojis(const string &text, bool exact_match, const vector &input_language_codes, bool force, Promise &&promise) { - if (text.empty() || !G()->parameters().use_file_db /* have SQLite PMC */) { + if (text.empty() || !G()->use_file_database() /* have SQLite PMC */) { promise.set_value(Unit()); return {}; } @@ -10276,7 +10276,7 @@ void StickersManager::get_emoji_groups(EmojiGroupType group_type, return; } - if (G()->parameters().use_file_db /* have SQLite PMC */) { + if (G()->use_file_database() /* have SQLite PMC */) { G()->td_db()->get_sqlite_pmc()->get( get_emoji_groups_database_key(group_type), PromiseCreator::lambda( @@ -10380,7 +10380,7 @@ void StickersManager::on_get_emoji_groups( auto groups = telegram_api::move_object_as(emoji_groups); EmojiGroupList group_list = EmojiGroupList(used_language_codes, groups->hash_, std::move(groups->groups_)); - if (!used_language_codes.empty() && G()->parameters().use_file_db /* have SQLite PMC */) { + if (!used_language_codes.empty() && G()->use_file_database() /* have SQLite PMC */) { G()->td_db()->get_sqlite_pmc()->set(get_emoji_groups_database_key(group_type), log_event_store(group_list).as_slice().str(), Auto()); } diff --git a/td/telegram/TopDialogManager.cpp b/td/telegram/TopDialogManager.cpp index 72fcf6cfa..d1eedf1d0 100644 --- a/td/telegram/TopDialogManager.cpp +++ b/td/telegram/TopDialogManager.cpp @@ -529,7 +529,7 @@ void TopDialogManager::init() { return; } - is_active_ = G()->parameters().use_chat_info_db && !td_->auth_manager_->is_bot(); + is_active_ = G()->use_chat_info_database() && !td_->auth_manager_->is_bot(); is_enabled_ = !G()->get_option_boolean("disable_top_chats"); update_rating_e_decay(); diff --git a/td/telegram/UpdatesManager.cpp b/td/telegram/UpdatesManager.cpp index 62fee692d..4291043f6 100644 --- a/td/telegram/UpdatesManager.cpp +++ b/td/telegram/UpdatesManager.cpp @@ -1507,8 +1507,7 @@ void UpdatesManager::init_state() { return; } - bool drop_state = !G()->parameters().use_file_db && !G()->parameters().use_secret_chats && - td_->auth_manager_->is_bot() && + bool drop_state = !G()->use_file_database() && !G()->use_secret_chats() && td_->auth_manager_->is_bot() && td_->option_manager_->get_option_integer("since_last_open") >= 2 * 86400; auto pmc = G()->td_db()->get_binlog_pmc(); diff --git a/td/telegram/WebPagesManager.cpp b/td/telegram/WebPagesManager.cpp index 50c046136..2eb9d52d7 100644 --- a/td/telegram/WebPagesManager.cpp +++ b/td/telegram/WebPagesManager.cpp @@ -450,7 +450,7 @@ WebPageId WebPagesManager::on_get_web_page(tl_object_ptr } on_web_page_changed(web_page_id, false); - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { LOG(INFO) << "Delete " << web_page_id << " from database"; G()->td_db()->get_sqlite_pmc()->erase(get_web_page_database_key(web_page_id), Auto()); G()->td_db()->get_sqlite_pmc()->erase(get_web_page_instant_view_database_key(web_page_id), Auto()); @@ -594,7 +594,7 @@ void WebPagesManager::update_web_page_instant_view(WebPageId web_page_id, WebPag if (new_instant_view.is_empty && !new_from_database) { // new_instant_view is from server and is empty, need to delete the instant view - if (G()->parameters().use_message_db && (!old_instant_view.is_empty || !old_from_database)) { + if (G()->use_message_database() && (!old_instant_view.is_empty || !old_from_database)) { // we have no instant view and probably want it to be deleted from database LOG(INFO) << "Erase instant view of " << web_page_id << " from database"; new_instant_view.was_loaded_from_database = true; @@ -607,7 +607,7 @@ void WebPagesManager::update_web_page_instant_view(WebPageId web_page_id, WebPag new_instant_view = std::move(old_instant_view); } - if (G()->parameters().use_message_db && !new_instant_view.is_empty && new_instant_view.is_loaded) { + if (G()->use_message_database() && !new_instant_view.is_empty && new_instant_view.is_loaded) { // we have instant view and probably want it to be saved if (!new_from_database && !old_from_database) { // if it wasn't loaded from the database, load it first @@ -674,7 +674,7 @@ void WebPagesManager::on_get_web_page_instant_view_view_count(WebPageId web_page return; } instant_view->view_count = view_count; - if (G()->parameters().use_message_db) { + if (G()->use_message_database()) { LOG(INFO) << "Save instant view of " << web_page_id << " to database after updating view count to " << view_count; G()->td_db()->get_sqlite_pmc()->set(get_web_page_instant_view_database_key(web_page_id), log_event_store(*instant_view).as_slice().str(), Auto()); @@ -683,7 +683,7 @@ void WebPagesManager::on_get_web_page_instant_view_view_count(WebPageId web_page void WebPagesManager::on_get_web_page_by_url(const string &url, WebPageId web_page_id, bool from_database) { auto &cached_web_page_id = url_to_web_page_id_[url]; - if (!from_database && G()->parameters().use_message_db) { + if (!from_database && G()->use_message_database()) { if (web_page_id.is_valid()) { if (cached_web_page_id != web_page_id) { // not already saved G()->td_db()->get_sqlite_pmc()->set(get_web_page_url_database_key(url), to_string(web_page_id.get()), Auto()); @@ -859,7 +859,7 @@ void WebPagesManager::load_web_page_instant_view(WebPageId web_page_id, bool for const WebPageInstantView *web_page_instant_view = get_web_page_instant_view(web_page_id); CHECK(web_page_instant_view != nullptr); - if (G()->parameters().use_message_db && !web_page_instant_view->was_loaded_from_database) { + if (G()->use_message_database() && !web_page_instant_view->was_loaded_from_database) { LOG(INFO) << "Trying to load " << web_page_id << " instant view from database"; G()->td_db()->get_sqlite_pmc()->get( get_web_page_instant_view_database_key(web_page_id), @@ -894,7 +894,7 @@ void WebPagesManager::on_load_web_page_instant_view_from_database(WebPageId web_ if (G()->close_flag()) { return; } - CHECK(G()->parameters().use_message_db); + CHECK(G()->use_message_database()); LOG(INFO) << "Successfully loaded " << web_page_id << " instant view of size " << value.size() << " from database"; // G()->td_db()->get_sqlite_pmc()->erase(get_web_page_instant_view_database_key(web_page_id), Auto()); // value.clear(); @@ -1035,7 +1035,7 @@ void WebPagesManager::load_web_page_by_url(string url, Promise &&prom if (url.empty()) { return promise.set_value(WebPageId()); } - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return reload_web_page_by_url(url, std::move(promise)); } @@ -1490,7 +1490,7 @@ class WebPagesManager::WebPageLogEvent { }; void WebPagesManager::save_web_page(const WebPage *web_page, WebPageId web_page_id, bool from_binlog) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return; } @@ -1518,7 +1518,7 @@ string WebPagesManager::get_web_page_url_database_key(const string &url) { } void WebPagesManager::on_binlog_web_page_event(BinlogEvent &&event) { - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { binlog_erase(G()->td_db()->get_binlog(), event.id_); return; } @@ -1568,8 +1568,7 @@ void WebPagesManager::on_save_web_page_to_database(WebPageId web_page_id, bool s } void WebPagesManager::load_web_page_from_database(WebPageId web_page_id, Promise promise) { - if (!G()->parameters().use_message_db || loaded_from_database_web_pages_.count(web_page_id) || - !web_page_id.is_valid()) { + if (!G()->use_message_database() || loaded_from_database_web_pages_.count(web_page_id) || !web_page_id.is_valid()) { promise.set_value(Unit()); return; } @@ -1634,7 +1633,7 @@ const WebPagesManager::WebPage *WebPagesManager::get_web_page_force(WebPageId we if (web_page != nullptr) { return web_page; } - if (!G()->parameters().use_message_db) { + if (!G()->use_message_database()) { return nullptr; } if (!web_page_id.is_valid() || loaded_from_database_web_pages_.count(web_page_id)) { diff --git a/td/telegram/files/FileGcWorker.cpp b/td/telegram/files/FileGcWorker.cpp index 7abbfbe57..ff2465e6b 100644 --- a/td/telegram/files/FileGcWorker.cpp +++ b/td/telegram/files/FileGcWorker.cpp @@ -38,7 +38,7 @@ void FileGcWorker::run_gc(const FileGcParameters ¶meters, std::vector immune_types{{false}}; - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { // immune by default immune_types[narrow_cast(FileType::Sticker)] = true; immune_types[narrow_cast(FileType::ProfilePhoto)] = true; @@ -61,7 +61,7 @@ void FileGcWorker::run_gc(const FileGcParameters ¶meters, std::vectorparameters().use_file_db) { + if (G()->use_file_database()) { immune_types[narrow_cast(FileType::EncryptedThumbnail)] = true; } diff --git a/td/telegram/files/FileLoadManager.cpp b/td/telegram/files/FileLoadManager.cpp index d5c385e39..f50b36f35 100644 --- a/td/telegram/files/FileLoadManager.cpp +++ b/td/telegram/files/FileLoadManager.cpp @@ -25,7 +25,7 @@ FileLoadManager::FileLoadManager(ActorShared callback, ActorShared<> p void FileLoadManager::start_up() { constexpr int64 MAX_UPLOAD_RESOURCE_LIMIT = 4 << 20; upload_resource_manager_ = create_actor("UploadResourceManager", MAX_UPLOAD_RESOURCE_LIMIT, - !G()->parameters().use_file_db /*tdlib_engine*/ + !G()->use_file_database() /*tdlib_engine*/ ? ResourceManager::Mode::Greedy : ResourceManager::Mode::Baseline); if (G()->get_option_boolean("is_premium")) { diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index 1b7d96c44..61a53f6fa 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -821,7 +821,7 @@ void prepare_path_for_pmc(FileType file_type, string &path) { } // namespace FileManager::FileManager(unique_ptr context) : context_(std::move(context)) { - if (G()->parameters().use_file_db) { + if (G()->use_file_database()) { file_db_ = G()->td_db()->get_file_db_shared(); } diff --git a/td/telegram/files/FileStatsWorker.cpp b/td/telegram/files/FileStatsWorker.cpp index 1f5e001da..4d7f1a614 100644 --- a/td/telegram/files/FileStatsWorker.cpp +++ b/td/telegram/files/FileStatsWorker.cpp @@ -146,7 +146,7 @@ void scan_fs(CancellationToken &token, CallbackT &&callback) { } // namespace void FileStatsWorker::get_stats(bool need_all_files, bool split_by_owner_dialog_id, Promise promise) { - if (!G()->parameters().use_chat_info_db) { + if (!G()->use_chat_info_database()) { split_by_owner_dialog_id = false; } if (!split_by_owner_dialog_id) {