// // 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) // #include "td/telegram/CallDiscardReason.h" #include "td/telegram/td_api.h" #include "td/telegram/telegram_api.h" #include "td/utils/common.h" namespace td { CallDiscardReason get_call_discard_reason(const tl_object_ptr &reason) { if (reason == nullptr) { return CallDiscardReason::Empty; } switch (reason->get_id()) { case telegram_api::phoneCallDiscardReasonMissed::ID: return CallDiscardReason::Missed; case telegram_api::phoneCallDiscardReasonDisconnect::ID: return CallDiscardReason::Disconnected; case telegram_api::phoneCallDiscardReasonHangup::ID: return CallDiscardReason::HungUp; case telegram_api::phoneCallDiscardReasonBusy::ID: return CallDiscardReason::Declined; default: UNREACHABLE(); return CallDiscardReason::Empty; } } tl_object_ptr get_input_phone_call_discard_reason(CallDiscardReason reason) { switch (reason) { case CallDiscardReason::Empty: return nullptr; case CallDiscardReason::Missed: return make_tl_object(); case CallDiscardReason::Disconnected: return make_tl_object(); case CallDiscardReason::HungUp: return make_tl_object(); case CallDiscardReason::Declined: return make_tl_object(); default: UNREACHABLE(); return nullptr; } } tl_object_ptr get_call_discard_reason_object(CallDiscardReason reason) { switch (reason) { case CallDiscardReason::Empty: return make_tl_object(); case CallDiscardReason::Missed: return make_tl_object(); case CallDiscardReason::Disconnected: return make_tl_object(); case CallDiscardReason::HungUp: return make_tl_object(); case CallDiscardReason::Declined: return make_tl_object(); default: UNREACHABLE(); return nullptr; } } } // namespace td