1 //
2 // Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2021
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 #include "td/telegram/ConnectionState.h"
8 
9 #include "td/utils/logging.h"
10 
11 namespace td {
12 
get_connection_state_object(ConnectionState state)13 static td_api::object_ptr<td_api::ConnectionState> get_connection_state_object(ConnectionState state) {
14   switch (state) {
15     case ConnectionState::Empty:
16       UNREACHABLE();
17       return nullptr;
18     case ConnectionState::WaitingForNetwork:
19       return td_api::make_object<td_api::connectionStateWaitingForNetwork>();
20     case ConnectionState::ConnectingToProxy:
21       return td_api::make_object<td_api::connectionStateConnectingToProxy>();
22     case ConnectionState::Connecting:
23       return td_api::make_object<td_api::connectionStateConnecting>();
24     case ConnectionState::Updating:
25       return td_api::make_object<td_api::connectionStateUpdating>();
26     case ConnectionState::Ready:
27       return td_api::make_object<td_api::connectionStateReady>();
28     default:
29       LOG(FATAL) << "State = " << static_cast<int32>(state);
30       return nullptr;
31   }
32 }
33 
get_update_connection_state_object(ConnectionState state)34 td_api::object_ptr<td_api::updateConnectionState> get_update_connection_state_object(ConnectionState state) {
35   return td_api::make_object<td_api::updateConnectionState>(get_connection_state_object(state));
36 }
37 
38 }  // namespace td
39