// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include "PhoneModes/PhoneMode.hpp" #include "PhoneModes/Tethering.hpp" class CellularMux; class ServiceCellular; namespace call::api { class Api { public: virtual bool answerIncomingCall() = 0; virtual bool hangupCall() = 0; virtual bool rejectCall() = 0; virtual bool areCallsFromFavouritesEnabled() = 0; virtual sys::phone_modes::PhoneMode getMode() = 0; virtual sys::phone_modes::Tethering getTethering() = 0; virtual ~Api() = default; }; } // namespace call::api namespace cellular { class Api : public call::api::Api { private: ServiceCellular *cellular = nullptr; CellularMux *cmux = nullptr; public: Api() = default; Api(ServiceCellular *cellular, CellularMux *); bool answerIncomingCall() override; bool hangupCall() override; bool rejectCall() override; bool areCallsFromFavouritesEnabled() override; sys::phone_modes::PhoneMode getMode() override; sys::phone_modes::Tethering getTethering() override; }; } // namespace cellular