From 099e767b6b3ee35be3e478260eff81c1dd2b33a5 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 26 Nov 2019 19:33:18 +0300 Subject: [PATCH] Add ServerMessageId.h. GitOrigin-RevId: f71d1f41f84c2263890875271f47f938e792aa55 --- CMakeLists.txt | 1 + benchmark/bench_tddb.cpp | 1 + td/telegram/ContactsManager.cpp | 1 + td/telegram/DialogDate.h | 1 + td/telegram/DraftMessage.cpp | 1 + td/telegram/MessageContent.cpp | 1 + td/telegram/MessageId.h | 39 +-------------------- td/telegram/MessagesDb.h | 1 + td/telegram/MessagesManager.h | 1 + td/telegram/NotificationManager.cpp | 1 + td/telegram/Payments.h | 2 +- td/telegram/SecretChatActor.cpp | 1 + td/telegram/ServerMessageId.h | 53 +++++++++++++++++++++++++++++ td/telegram/UpdatesManager.cpp | 1 + 14 files changed, 66 insertions(+), 39 deletions(-) create mode 100644 td/telegram/ServerMessageId.h diff --git a/CMakeLists.txt b/CMakeLists.txt index e1200ed18..be7f0ab46 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -630,6 +630,7 @@ set(TDLIB_SOURCE td/telegram/SecureValue.h td/telegram/SendCodeHelper.h td/telegram/SequenceDispatcher.h + td/telegram/ServerMessageId.h td/telegram/SetWithPosition.h td/telegram/StateManager.h td/telegram/StickerSetId.h diff --git a/benchmark/bench_tddb.cpp b/benchmark/bench_tddb.cpp index 3c8d485d3..3e2687cc7 100644 --- a/benchmark/bench_tddb.cpp +++ b/benchmark/bench_tddb.cpp @@ -8,6 +8,7 @@ #include "td/telegram/MessageId.h" #include "td/telegram/MessagesDb.h" #include "td/telegram/NotificationId.h" +#include "td/telegram/ServerMessageId.h" #include "td/telegram/UserId.h" #include "td/actor/actor.h" diff --git a/td/telegram/ContactsManager.cpp b/td/telegram/ContactsManager.cpp index f9e42f148..5fbe3f3e0 100644 --- a/td/telegram/ContactsManager.cpp +++ b/td/telegram/ContactsManager.cpp @@ -30,6 +30,7 @@ #include "td/telegram/Photo.h" #include "td/telegram/Photo.hpp" #include "td/telegram/SecretChatActor.h" +#include "td/telegram/ServerMessageId.h" #include "td/telegram/StickerSetId.hpp" #include "td/telegram/StickersManager.h" #include "td/telegram/Td.h" diff --git a/td/telegram/DialogDate.h b/td/telegram/DialogDate.h index 2c8c9a039..a5fd7fb2f 100644 --- a/td/telegram/DialogDate.h +++ b/td/telegram/DialogDate.h @@ -8,6 +8,7 @@ #include "td/telegram/DialogId.h" #include "td/telegram/MessageId.h" +#include "td/telegram/ServerMessageId.h" #include "td/utils/StringBuilder.h" diff --git a/td/telegram/DraftMessage.cpp b/td/telegram/DraftMessage.cpp index ca8f987e5..36e5baf0c 100644 --- a/td/telegram/DraftMessage.cpp +++ b/td/telegram/DraftMessage.cpp @@ -8,6 +8,7 @@ #include "td/telegram/MessageEntity.h" #include "td/telegram/misc.h" +#include "td/telegram/ServerMessageId.h" #include "td/utils/logging.h" diff --git a/td/telegram/MessageContent.cpp b/td/telegram/MessageContent.cpp index 2e1229209..2b33c9d07 100644 --- a/td/telegram/MessageContent.cpp +++ b/td/telegram/MessageContent.cpp @@ -46,6 +46,7 @@ #include "td/telegram/secret_api.hpp" #include "td/telegram/SecureValue.h" #include "td/telegram/SecureValue.hpp" +#include "td/telegram/ServerMessageId.h" #include "td/telegram/StickersManager.h" #include "td/telegram/StickersManager.hpp" #include "td/telegram/Td.h" diff --git a/td/telegram/MessageId.h b/td/telegram/MessageId.h index 8632487b5..ba8958ab0 100644 --- a/td/telegram/MessageId.h +++ b/td/telegram/MessageId.h @@ -7,6 +7,7 @@ #pragma once #include "td/telegram/DialogId.h" +#include "td/telegram/ServerMessageId.h" #include "td/utils/common.h" #include "td/utils/StringBuilder.h" @@ -18,44 +19,6 @@ namespace td { -class ServerMessageId { - int32 id = 0; - - public: - ServerMessageId() = default; - - explicit ServerMessageId(int32 message_id) : id(message_id) { - } - template ::value>> - ServerMessageId(T message_id) = delete; - - bool is_valid() const { - return id > 0; - } - - int32 get() const { - return id; - } - - bool operator==(const ServerMessageId &other) const { - return id == other.id; - } - - bool operator!=(const ServerMessageId &other) const { - return id != other.id; - } - - template - void store(StorerT &storer) const { - storer.store_int(id); - } - - template - void parse(ParserT &parser) { - id = parser.fetch_int(); - } -}; - enum class MessageType : int32 { None, Server, Local, YetUnsent }; class MessageId { diff --git a/td/telegram/MessagesDb.h b/td/telegram/MessagesDb.h index c838c7072..05556636c 100644 --- a/td/telegram/MessagesDb.h +++ b/td/telegram/MessagesDb.h @@ -9,6 +9,7 @@ #include "td/telegram/DialogId.h" #include "td/telegram/MessageId.h" #include "td/telegram/NotificationId.h" +#include "td/telegram/ServerMessageId.h" #include "td/actor/PromiseFuture.h" diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index d039cd420..a980ce2d1 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -38,6 +38,7 @@ #include "td/telegram/RestrictionReason.h" #include "td/telegram/SecretChatId.h" #include "td/telegram/SecretInputMedia.h" +#include "td/telegram/ServerMessageId.h" #include "td/telegram/UserId.h" #include "td/actor/actor.h" diff --git a/td/telegram/NotificationManager.cpp b/td/telegram/NotificationManager.cpp index 424f46ebf..96cd63482 100644 --- a/td/telegram/NotificationManager.cpp +++ b/td/telegram/NotificationManager.cpp @@ -24,6 +24,7 @@ #include "td/telegram/Photo.h" #include "td/telegram/Photo.hpp" #include "td/telegram/SecretChatId.h" +#include "td/telegram/ServerMessageId.h" #include "td/telegram/StateManager.h" #include "td/telegram/Td.h" #include "td/telegram/TdDb.h" diff --git a/td/telegram/Payments.h b/td/telegram/Payments.h index 416e31aff..7bc22a85c 100644 --- a/td/telegram/Payments.h +++ b/td/telegram/Payments.h @@ -8,8 +8,8 @@ #include "td/actor/PromiseFuture.h" -#include "td/telegram/MessageId.h" #include "td/telegram/Photo.h" +#include "td/telegram/ServerMessageId.h" #include "td/utils/common.h" #include "td/utils/Slice.h" diff --git a/td/telegram/SecretChatActor.cpp b/td/telegram/SecretChatActor.cpp index 7428cb47a..e9f23ed05 100644 --- a/td/telegram/SecretChatActor.cpp +++ b/td/telegram/SecretChatActor.cpp @@ -8,6 +8,7 @@ #include "td/telegram/net/NetQueryCreator.h" #include "td/telegram/SecretChatId.h" +#include "td/telegram/ServerMessageId.h" #include "td/telegram/UniqueId.h" #include "td/telegram/secret_api.hpp" diff --git a/td/telegram/ServerMessageId.h b/td/telegram/ServerMessageId.h new file mode 100644 index 000000000..39055794d --- /dev/null +++ b/td/telegram/ServerMessageId.h @@ -0,0 +1,53 @@ +// +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2019 +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +#pragma once + +#include "td/utils/common.h" + +#include + +namespace td { + +class ServerMessageId { + int32 id = 0; + + public: + ServerMessageId() = default; + + explicit ServerMessageId(int32 message_id) : id(message_id) { + } + template ::value>> + ServerMessageId(T message_id) = delete; + + bool is_valid() const { + return id > 0; + } + + int32 get() const { + return id; + } + + bool operator==(const ServerMessageId &other) const { + return id == other.id; + } + + bool operator!=(const ServerMessageId &other) const { + return id != other.id; + } + + template + void store(StorerT &storer) const { + storer.store_int(id); + } + + template + void parse(ParserT &parser) { + id = parser.fetch_int(); + } +}; + +} // namespace td diff --git a/td/telegram/UpdatesManager.cpp b/td/telegram/UpdatesManager.cpp index 6d3bbcf16..38e41ec7e 100644 --- a/td/telegram/UpdatesManager.cpp +++ b/td/telegram/UpdatesManager.cpp @@ -33,6 +33,7 @@ #include "td/telegram/PrivacyManager.h" #include "td/telegram/SecretChatId.h" #include "td/telegram/SecretChatsManager.h" +#include "td/telegram/ServerMessageId.h" #include "td/telegram/StateManager.h" #include "td/telegram/StickerSetId.h" #include "td/telegram/StickersManager.h"