From 71aa152460deaebbdb218e921b9120e765416352 Mon Sep 17 00:00:00 2001 From: levlam Date: Fri, 15 Feb 2019 23:22:40 +0300 Subject: [PATCH] Add FileLocationSource::FromBinlog. GitOrigin-RevId: cedd828bbd79a8cfc04efa0ecb239dafbfed4eab --- td/telegram/files/FileManager.cpp | 5 ++++- td/telegram/files/FileManager.h | 2 +- td/telegram/files/FileManager.hpp | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index ac67bd55..c1bf4521 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -50,6 +50,8 @@ StringBuilder &operator<<(StringBuilder &string_builder, FileLocationSource sour return string_builder << "None"; case FileLocationSource::FromUser: return string_builder << "User"; + case FileLocationSource::FromBinlog: + return string_builder << "Binlog"; case FileLocationSource::FromDatabase: return string_builder << "Database"; case FileLocationSource::FromServer: @@ -966,7 +968,8 @@ Result FileManager::register_file(FileData &&data, FileLocationSource fi bool has_remote = data.remote_.type() == RemoteFileLocation::Type::Full; bool has_generate = data.generate_ != nullptr; if (data.local_.type() == LocalFileLocation::Type::Full && !force) { - if (file_location_source == FileLocationSource::FromDatabase) { + if (file_location_source == FileLocationSource::FromBinlog || + file_location_source == FileLocationSource::FromDatabase) { PathView path_view(data.local_.full().path_); if (path_view.is_relative()) { data.local_.full().path_ = PSTRING() diff --git a/td/telegram/files/FileManager.h b/td/telegram/files/FileManager.h index 8c9bd53e..78b1a947 100644 --- a/td/telegram/files/FileManager.h +++ b/td/telegram/files/FileManager.h @@ -46,7 +46,7 @@ extern int VERBOSITY_NAME(update_file); class FileData; class FileDbInterface; -enum class FileLocationSource : int8 { None, FromUser, FromDatabase, FromServer }; +enum class FileLocationSource : int8 { None, FromUser, FromBinlog, FromDatabase, FromServer }; struct NewRemoteFileLocation { NewRemoteFileLocation() = default; diff --git a/td/telegram/files/FileManager.hpp b/td/telegram/files/FileManager.hpp index 8f9d397d..3b4f2de6 100644 --- a/td/telegram/files/FileManager.hpp +++ b/td/telegram/files/FileManager.hpp @@ -155,7 +155,7 @@ FileId FileManager::parse_file(ParserT &parser) { if (parser.version() >= static_cast(Version::StoreFileOwnerId)) { parse(owner_dialog_id, parser); } - return register_remote(full_remote_location, FileLocationSource::FromDatabase, owner_dialog_id, size, + return register_remote(full_remote_location, FileLocationSource::FromBinlog, owner_dialog_id, size, expected_size, name); } case FileStoreType::Local: { @@ -200,7 +200,7 @@ FileId FileManager::parse_file(ParserT &parser) { full_generated_location.conversion_ = PSTRING() << "#file_id#" << download_file_id.get(); } - auto r_file_id = register_generate(full_generated_location.file_type_, FileLocationSource::FromDatabase, + auto r_file_id = register_generate(full_generated_location.file_type_, FileLocationSource::FromBinlog, full_generated_location.original_path_, full_generated_location.conversion_, owner_dialog_id, expected_size); if (r_file_id.is_ok()) { @@ -217,7 +217,7 @@ FileId FileManager::parse_file(ParserT &parser) { if (parser.version() >= static_cast(Version::StoreFileOwnerId)) { parse(owner_dialog_id, parser); } - return register_url(url, type, FileLocationSource::FromDatabase, owner_dialog_id); + return register_url(url, type, FileLocationSource::FromBinlog, owner_dialog_id); } } return FileId();