From ea06aa19d60bd3ddb74c22ae44f05a761f959132 Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 6 Jan 2019 22:11:02 +0300 Subject: [PATCH] Forward-declare BinlogEvent. GitOrigin-RevId: 4ea183c04ec8e5ffd0c2851db399b2a2155557ea --- td/telegram/ContactsManager.cpp | 1 + td/telegram/ContactsManager.h | 14 +++++++------- td/telegram/MessagesManager.cpp | 1 + td/telegram/MessagesManager.h | 4 ++-- td/telegram/SecretChatsManager.cpp | 6 ++++-- td/telegram/SecretChatsManager.h | 5 +++-- td/telegram/TdDb.h | 9 ++++----- td/telegram/WebPagesManager.cpp | 1 + td/telegram/WebPagesManager.h | 4 ++-- tddb/td/db/binlog/BinlogHelper.h | 2 ++ 10 files changed, 27 insertions(+), 20 deletions(-) diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index 9a3c2a13..accea57a 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -13,6 +13,7 @@ #include "td/actor/PromiseFuture.h" #include "td/actor/SleepActor.h" +#include "td/db/binlog/BinlogEvent.h" #include "td/db/binlog/BinlogHelper.h" #include "td/db/SqliteKeyValueAsync.h" diff --git a/td/telegram/ContactsManager.h b/td/telegram/ContactsManager.h index 45119ab5..a8fe1778 100644 --- a/td/telegram/ContactsManager.h +++ b/td/telegram/ContactsManager.h @@ -9,13 +9,6 @@ #include "td/telegram/td_api.h" #include "td/telegram/telegram_api.h" -#include "td/actor/actor.h" -#include "td/actor/MultiPromise.h" -#include "td/actor/PromiseFuture.h" -#include "td/actor/Timeout.h" - -#include "td/db/binlog/BinlogEvent.h" - #include "td/telegram/AccessRights.h" #include "td/telegram/ChannelId.h" #include "td/telegram/ChatId.h" @@ -28,6 +21,11 @@ #include "td/telegram/SecretChatId.h" #include "td/telegram/UserId.h" +#include "td/actor/actor.h" +#include "td/actor/MultiPromise.h" +#include "td/actor/PromiseFuture.h" +#include "td/actor/Timeout.h" + #include "td/utils/common.h" #include "td/utils/Hints.h" #include "td/utils/Slice.h" @@ -41,6 +39,8 @@ namespace td { +struct BinlogEvent; + class Td; struct BotData { diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 99c71386..df67d47b 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -47,6 +47,7 @@ #include "td/actor/PromiseFuture.h" #include "td/actor/SleepActor.h" +#include "td/db/binlog/BinlogEvent.h" #include "td/db/binlog/BinlogHelper.h" #include "td/db/SqliteKeyValueAsync.h" diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index 168e23b4..16e0b9c6 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -34,8 +34,6 @@ #include "td/telegram/SecretInputMedia.h" #include "td/telegram/UserId.h" -#include "td/db/binlog/BinlogEvent.h" - #include "td/actor/actor.h" #include "td/actor/MultiPromise.h" #include "td/actor/PromiseFuture.h" @@ -63,6 +61,8 @@ namespace td { +struct BinlogEvent; + class Td; class MultiSequenceDispatcher; diff --git a/td/telegram/SecretChatsManager.cpp b/td/telegram/SecretChatsManager.cpp index 09f5d22f..e915c5f6 100644 --- a/td/telegram/SecretChatsManager.cpp +++ b/td/telegram/SecretChatsManager.cpp @@ -6,8 +6,6 @@ // #include "td/telegram/SecretChatsManager.h" -#include "td/actor/PromiseFuture.h" - #include "td/telegram/ConfigShared.h" #include "td/telegram/ContactsManager.h" #include "td/telegram/DhCache.h" @@ -22,6 +20,10 @@ #include "td/telegram/secret_api.h" #include "td/telegram/telegram_api.hpp" +#include "td/actor/PromiseFuture.h" + +#include "td/db/binlog/BinlogEvent.h" + #include "td/utils/format.h" #include "td/utils/logging.h" #include "td/utils/misc.h" diff --git a/td/telegram/SecretChatsManager.h b/td/telegram/SecretChatsManager.h index 50309034..dee976da 100644 --- a/td/telegram/SecretChatsManager.h +++ b/td/telegram/SecretChatsManager.h @@ -17,14 +17,15 @@ #include "td/actor/actor.h" #include "td/actor/PromiseFuture.h" -#include "td/db/binlog/BinlogEvent.h" - #include "td/utils/Time.h" #include #include namespace td { + +struct BinlogEvent; + class SecretChatsManager : public Actor { public: explicit SecretChatsManager(ActorShared<> parent); diff --git a/td/telegram/TdDb.h b/td/telegram/TdDb.h index 7e7f7184..68136167 100644 --- a/td/telegram/TdDb.h +++ b/td/telegram/TdDb.h @@ -50,11 +50,6 @@ class TdDb { TdDb &operator=(TdDb &&) = delete; ~TdDb(); - struct Events; - static Result> open(int32 scheduler_id, const TdParameters ¶meters, DbKey key, Events &events); - static Result check_encryption(const TdParameters ¶meters); - static Status destroy(const TdParameters ¶meters); - struct Events { vector to_secret_chats_manager; vector user_events; @@ -65,6 +60,10 @@ class TdDb { vector to_messages_manager; }; + static Result> open(int32 scheduler_id, const TdParameters ¶meters, DbKey key, Events &events); + static Result check_encryption(const TdParameters ¶meters); + static Status destroy(const TdParameters ¶meters); + std::shared_ptr get_file_db_shared(); std::shared_ptr &get_sqlite_connection_safe(); ConcurrentBinlog *get_binlog(); diff --git a/td/telegram/WebPagesManager.cpp b/td/telegram/WebPagesManager.cpp index 1375e268..a5c0285e 100644 --- a/td/telegram/WebPagesManager.cpp +++ b/td/telegram/WebPagesManager.cpp @@ -38,6 +38,7 @@ #include "td/actor/PromiseFuture.h" +#include "td/db/binlog/BinlogEvent.h" #include "td/db/binlog/BinlogHelper.h" #include "td/db/SqliteKeyValueAsync.h" diff --git a/td/telegram/WebPagesManager.h b/td/telegram/WebPagesManager.h index 7abcd0b1..ac4ce2d5 100644 --- a/td/telegram/WebPagesManager.h +++ b/td/telegram/WebPagesManager.h @@ -19,8 +19,6 @@ #include "td/actor/PromiseFuture.h" #include "td/actor/Timeout.h" -#include "td/db/binlog/BinlogEvent.h" - #include "td/utils/common.h" #include "td/utils/Status.h" @@ -30,6 +28,8 @@ namespace td { +struct BinlogEvent; + class Td; class WebPagesManager : public Actor { diff --git a/tddb/td/db/binlog/BinlogHelper.h b/tddb/td/db/binlog/BinlogHelper.h index 3e53a722..78ea564d 100644 --- a/tddb/td/db/binlog/BinlogHelper.h +++ b/tddb/td/db/binlog/BinlogHelper.h @@ -14,6 +14,7 @@ #include "td/utils/Storer.h" namespace td { + template uint64 binlog_add(const BinlogT &binlog_ptr, int32 type, const StorerT &storer, Promise<> promise = Promise<>()) { auto logevent_id = binlog_ptr->next_id(); @@ -42,4 +43,5 @@ uint64 binlog_erase_impl(BinlogDebugInfo info, const BinlogT &binlog_ptr, uint64 std::move(promise)); return seq_no; } + } // namespace td