From 6855704b524bfc037c3525c4baae3608e3eba136 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 14 Mar 2018 22:47:08 +0300 Subject: [PATCH] Better AuthManager storers and parsers. GitOrigin-RevId: 20e1e7ed3591d1f99c0661164360822dd6d0b3e6 --- td/telegram/AuthManager.cpp | 8 ++++---- td/telegram/AuthManager.h | 4 ++-- td/telegram/AuthManager.hpp | 12 ++++-------- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/td/telegram/AuthManager.cpp b/td/telegram/AuthManager.cpp index e157bbe6..cf8d00af 100644 --- a/td/telegram/AuthManager.cpp +++ b/td/telegram/AuthManager.cpp @@ -844,20 +844,20 @@ bool AuthManager::load_state() { DbState db_state; auto status = log_event_parse(db_state, data); if (status.is_error()) { - LOG(INFO) << "Ignore auth_state :" << status; + LOG(INFO) << "Ignore auth_state: " << status; return false; } CHECK(db_state.state_ == State::WaitCode); if (db_state.api_id_ != api_id_ || db_state.api_hash_ != api_hash_) { - LOG(INFO) << "Ignore auth_state : api_id or api_hash changed"; + LOG(INFO) << "Ignore auth_state: api_id or api_hash changed"; return false; } if (!db_state.state_timestamp_.is_in_past()) { - LOG(INFO) << "Ignore auth_state : timestamp in future"; + LOG(INFO) << "Ignore auth_state: timestamp in future"; return false; } if (Timestamp::at(db_state.state_timestamp_.at() + 5 * 60).is_in_past()) { - LOG(INFO) << "Ignore auth_state : expired " << db_state.state_timestamp_.in(); + LOG(INFO) << "Ignore auth_state: expired " << db_state.state_timestamp_.in(); return false; } LOG(INFO) << "Load auth_state from db"; diff --git a/td/telegram/AuthManager.h b/td/telegram/AuthManager.h index f15a3c77..6d46d1b9 100644 --- a/td/telegram/AuthManager.h +++ b/td/telegram/AuthManager.h @@ -51,7 +51,7 @@ class SendCodeHelper { static constexpr int32 SENT_CODE_FLAG_HAS_TIMEOUT = 1 << 2; struct AuthenticationCodeInfo { - enum class Type { None, Message, Sms, Call, FlashCall }; + enum class Type : int32 { None, Message, Sms, Call, FlashCall }; Type type = Type::None; int32 length = 0; string pattern; @@ -141,7 +141,7 @@ class AuthManager : public NetActor { private: static constexpr size_t MAX_NAME_LENGTH = 255; // server side limit - enum class State { None, WaitPhoneNumber, WaitCode, WaitPassword, Ok, LoggingOut, Closing } state_ = State::None; + enum class State : int32 { None, WaitPhoneNumber, WaitCode, WaitPassword, Ok, LoggingOut, Closing } state_ = State::None; enum class NetQueryType { None, SignIn, diff --git a/td/telegram/AuthManager.hpp b/td/telegram/AuthManager.hpp index 41ae996d..77b16690 100644 --- a/td/telegram/AuthManager.hpp +++ b/td/telegram/AuthManager.hpp @@ -12,16 +12,14 @@ namespace td { template void SendCodeHelper::AuthenticationCodeInfo::store(T &storer) const { using td::store; - store(static_cast(type), storer); + store(type, storer); store(length, storer); store(pattern, storer); } template void SendCodeHelper::AuthenticationCodeInfo::parse(T &parser) { using td::parse; - int32 type_int; - parse(type_int, parser); - type = narrow_cast(type_int); + parse(type, parser); parse(length, parser); parse(pattern, parser); } @@ -52,7 +50,7 @@ template void AuthManager::DbState::store(T &storer) const { using td::store; CHECK(state_ == State::WaitCode); - store(static_cast(state_), storer); + store(state_, storer); store(api_id_, storer); store(api_hash_, storer); store(send_code_helper_, storer); @@ -61,9 +59,7 @@ void AuthManager::DbState::store(T &storer) const { template void AuthManager::DbState::parse(T &parser) { using td::parse; - int32 state; - parse(state, parser); - state_ = narrow_cast(state); + parse(state_, parser); parse(api_id_, parser); parse(api_hash_, parser); parse(send_code_helper_, parser);