From 3bc0d8eb9a1e0879f0f4b7ec5e65a3996f19a067 Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 19 Jan 2019 05:44:31 +0300 Subject: [PATCH] Add FileSourceId.h. GitOrigin-RevId: 98707d3c9248fb4873ccb8b1e890bb0926bfed73 --- CMakeLists.txt | 1 + td/telegram/FileReferenceManager.h | 2 ++ td/telegram/MessagesManager.h | 1 + td/telegram/files/FileId.h | 45 ------------------------ td/telegram/files/FileManager.h | 1 + td/telegram/files/FileSourceId.h | 55 ++++++++++++++++++++++++++++++ 6 files changed, 60 insertions(+), 45 deletions(-) create mode 100644 td/telegram/files/FileSourceId.h diff --git a/CMakeLists.txt b/CMakeLists.txt index fd3a7993f..79dfc6dc9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -500,6 +500,7 @@ set(TDLIB_SOURCE td/telegram/files/FileLoadManager.h td/telegram/files/FileLocation.h td/telegram/files/FileManager.h + td/telegram/files/FileSourceId.h td/telegram/files/FileStats.h td/telegram/files/FileStatsWorker.h td/telegram/files/FileUploader.h diff --git a/td/telegram/FileReferenceManager.h b/td/telegram/FileReferenceManager.h index fdb01470b..88d44f539 100644 --- a/td/telegram/FileReferenceManager.h +++ b/td/telegram/FileReferenceManager.h @@ -11,7 +11,9 @@ #include "td/telegram/ChatId.h" #include "td/telegram/ChannelId.h" +#include "td/telegram/files/FileId.h" #include "td/telegram/files/FileManager.h" +#include "td/telegram/files/FileSourceId.h" #include "td/telegram/MessageId.h" #include "td/telegram/SetWithPosition.h" #include "td/telegram/UserId.h" diff --git a/td/telegram/MessagesManager.h b/td/telegram/MessagesManager.h index f2bc85ae7..c4b01081f 100644 --- a/td/telegram/MessagesManager.h +++ b/td/telegram/MessagesManager.h @@ -17,6 +17,7 @@ #include "td/telegram/DialogId.h" #include "td/telegram/DialogParticipant.h" #include "td/telegram/files/FileId.h" +#include "td/telegram/files/FileSourceId.h" #include "td/telegram/Global.h" #include "td/telegram/MessageContent.h" #include "td/telegram/MessageEntity.h" diff --git a/td/telegram/files/FileId.h b/td/telegram/files/FileId.h index e17896330..32aa075a1 100644 --- a/td/telegram/files/FileId.h +++ b/td/telegram/files/FileId.h @@ -14,51 +14,6 @@ namespace td { -class FileSourceId { - int32 id = 0; - - public: - FileSourceId() = default; - - explicit FileSourceId(int32 file_id) : id(file_id) { - } - template ::value>> - FileSourceId(T1 file_id) = delete; - - bool empty() const { - return id <= 0; - } - bool is_valid() const { - return id > 0; - } - - int32 get() const { - return id; - } - - bool operator<(const FileSourceId &other) const { - return id < other.id; - } - - bool operator==(const FileSourceId &other) const { - return id == other.id; - } - - bool operator!=(const FileSourceId &other) const { - return id != other.id; - } -}; - -struct FileSourceIdHash { - std::size_t operator()(FileSourceId file_id) const { - return std::hash()(file_id.get()); - } -}; - -inline StringBuilder &operator<<(StringBuilder &string_builder, FileSourceId file_id) { - return string_builder << "FileSourceId(" << file_id.get() << ")"; -} - class FileId { int32 id = 0; int32 remote_id = 0; diff --git a/td/telegram/files/FileManager.h b/td/telegram/files/FileManager.h index 6963167bb..931273374 100644 --- a/td/telegram/files/FileManager.h +++ b/td/telegram/files/FileManager.h @@ -16,6 +16,7 @@ #include "td/telegram/files/FileId.h" #include "td/telegram/files/FileLoadManager.h" #include "td/telegram/files/FileLocation.h" +#include "td/telegram/files/FileSourceId.h" #include "td/telegram/files/FileStats.h" #include "td/telegram/Location.h" diff --git a/td/telegram/files/FileSourceId.h b/td/telegram/files/FileSourceId.h new file mode 100644 index 000000000..430c786d2 --- /dev/null +++ b/td/telegram/files/FileSourceId.h @@ -0,0 +1,55 @@ +// +// 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 "td/utils/StringBuilder.h" + +#include +#include + +namespace td { + +class FileSourceId { + int32 id = 0; + + public: + FileSourceId() = default; + + explicit FileSourceId(int32 file_source_id) : id(file_source_id) { + } + template ::value>> + FileSourceId(T1 file_source_id) = delete; + + bool is_valid() const { + return id > 0; + } + + int32 get() const { + return id; + } + + bool operator==(const FileSourceId &other) const { + return id == other.id; + } + + bool operator!=(const FileSourceId &other) const { + return id != other.id; + } +}; + +struct FileSourceIdHash { + std::size_t operator()(FileSourceId file_source_id) const { + return std::hash()(file_source_id.get()); + } +}; + +inline StringBuilder &operator<<(StringBuilder &string_builder, FileSourceId file_source_id) { + return string_builder << "FileSourceId(" << file_source_id.get() << ")"; +} + +} // namespace td