From ad81123d603dcba4c32e37832d81c7d82bc4c512 Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 1 Oct 2018 01:34:06 +0300 Subject: [PATCH] Make CallsDbState private to MessagesManager. GitOrigin-RevId: b1d4b01abff4a534765e3fc52b07db7bd9d07def --- td/telegram/MessagesManager.cpp | 26 ++++++++++++++------------ td/telegram/MessagesManager.h | 16 +++++++++++----- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index aec0736b..274a204e 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -4045,30 +4045,32 @@ void MessagesManager::Dialog::parse(ParserT &parser) { } template -static void store(const CallsDbState &state, StorerT &storer) { - store(static_cast(state.first_calls_database_message_id_by_index.size()), storer); - for (auto first_message_id : state.first_calls_database_message_id_by_index) { +void MessagesManager::CallsDbState::store(StorerT &storer) const { + using td::store; + store(static_cast(first_calls_database_message_id_by_index.size()), storer); + for (auto first_message_id : first_calls_database_message_id_by_index) { store(first_message_id, storer); } - store(static_cast(state.message_count_by_index.size()), storer); - for (auto message_count : state.message_count_by_index) { + store(static_cast(message_count_by_index.size()), storer); + for (auto message_count : message_count_by_index) { store(message_count, storer); } } template -static void parse(CallsDbState &state, ParserT &parser) { +void MessagesManager::CallsDbState::parse(ParserT &parser) { + using td::parse; int32 size; parse(size, parser); - CHECK(static_cast(size) <= state.first_calls_database_message_id_by_index.size()) - << size << " " << state.first_calls_database_message_id_by_index.size(); + CHECK(static_cast(size) <= first_calls_database_message_id_by_index.size()) + << size << " " << first_calls_database_message_id_by_index.size(); for (int32 i = 0; i < size; i++) { - parse(state.first_calls_database_message_id_by_index[i], parser); + parse(first_calls_database_message_id_by_index[i], parser); } parse(size, parser); - CHECK(static_cast(size) <= state.message_count_by_index.size()); + CHECK(static_cast(size) <= message_count_by_index.size()); for (int32 i = 0; i < size; i++) { - parse(state.message_count_by_index[i], parser); + parse(message_count_by_index[i], parser); } } @@ -20317,7 +20319,7 @@ void MessagesManager::delete_all_dialog_messages_from_database(DialogId dialog_i save_calls_db_state(); } } -*/ + */ G()->td_db()->get_messages_db_async()->delete_all_dialog_messages(dialog_id, message_id, Auto()); // TODO Promise } diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 7ea71f58..da570148 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -82,11 +82,6 @@ class dummyUpdate : public telegram_api::Update { void store(TlStorerToString &s, const char *field_name) const override; }; -struct CallsDbState { - std::array first_calls_database_message_id_by_index; - std::array message_count_by_index; -}; - class MessagesManager : public Actor { public: // static constexpr int32 MESSAGE_FLAG_IS_UNREAD = 1 << 0; @@ -2054,6 +2049,17 @@ class MessagesManager : public Actor { std::unordered_map>, DialogIdHash> pending_add_dialog_last_database_message_; // dialog -> dependency counter + message + struct CallsDbState { + std::array first_calls_database_message_id_by_index; + std::array message_count_by_index; + + template + void store(StorerT &storer) const; + + template + void parse(ParserT &parser); + }; + CallsDbState calls_db_state_; std::unordered_map>> yet_unsent_media_queues_;