mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-04-19 06:30:46 -04:00
50 lines
1.9 KiB
C++
50 lines
1.9 KiB
C++
// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include <PhoneNumber.hpp>
|
|
#include <Tables/CalllogTable.hpp>
|
|
|
|
namespace sys
|
|
{
|
|
class Service;
|
|
}
|
|
|
|
namespace call::api
|
|
{
|
|
class Multicast
|
|
{
|
|
public:
|
|
virtual void notifyIncomingCall() = 0;
|
|
virtual void notifyIdentifiedCall(const utils::PhoneNumber::View &number) = 0;
|
|
virtual void notifyCallActive() = 0;
|
|
virtual void notifyCallAborted() = 0;
|
|
virtual void notifyOutgoingCallAnswered() = 0;
|
|
virtual void notifyCallStarted(const utils::PhoneNumber &number, const CallType &type) = 0;
|
|
virtual void notifyCallEnded() = 0;
|
|
virtual void notifyCallMissed() = 0;
|
|
virtual void notifyCallDurationUpdate(const time_t &duration) = 0;
|
|
|
|
virtual ~Multicast() = default;
|
|
};
|
|
} // namespace call::api
|
|
|
|
class CallMulticast : public call::api::Multicast
|
|
{
|
|
sys::Service *owner;
|
|
|
|
public:
|
|
explicit CallMulticast(sys::Service *owner) : owner(owner)
|
|
{}
|
|
void notifyIncomingCall() override;
|
|
void notifyIdentifiedCall(const utils::PhoneNumber::View &number) override;
|
|
void notifyCallActive() override;
|
|
void notifyCallAborted() override;
|
|
void notifyOutgoingCallAnswered() override;
|
|
void notifyCallStarted(const utils::PhoneNumber &number, const CallType &type) override;
|
|
void notifyCallEnded() override;
|
|
void notifyCallMissed() override;
|
|
void notifyCallDurationUpdate(const time_t &duration) override;
|
|
};
|