// 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 "CalllogRecord.hpp" #include namespace sys { class Service; } namespace CellularCall { class Call; } namespace call::api { class DB { public: virtual void incrementNotAnsweredCallsNotification(const utils::PhoneNumber::View &number) = 0; // overrides record data virtual void startCall(CalllogRecord &rec) = 0; virtual void endCall(const CalllogRecord &rec) = 0; virtual bool isNumberInFavourites(const utils::PhoneNumber::View &number) = 0; virtual ~DB() = default; }; } // namespace call::api class CallDB : public call::api::DB { sys::Service *owner; public: explicit CallDB(sys::Service *); void incrementNotAnsweredCallsNotification(const utils::PhoneNumber::View &number) override; void startCall(CalllogRecord &rec) override; void endCall(const CalllogRecord &rec) override; bool isNumberInFavourites(const utils::PhoneNumber::View &number) override; };