Files
MuditaOS/module-apps/application-call/data/CallSwitchData.hpp
Kuba 106440c78d [MOS-326] Change call logic removed from call window
Call logic is now removed from call window and call app.
There was spaghetti logic mixed in window and app, now
call logic is based on notificatins from service cellular.
2022-04-22 12:59:29 +02:00

67 lines
1.6 KiB
C++

// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include "SwitchData.hpp"
#include <PhoneNumber.hpp>
#include <string>
namespace app
{
class CallSwitchData : public gui::SwitchData
{
public:
enum class Type
{
UNDEFINED,
INCOMING_CALL,
EXECUTE_CALL
};
static constexpr auto descriptionStr = "CallSwitchData";
protected:
Type type = Type::UNDEFINED;
utils::PhoneNumber::View phoneNumber;
public:
CallSwitchData(const utils::PhoneNumber::View &phoneNumber, Type type = Type::UNDEFINED)
: SwitchData(descriptionStr), type(type), phoneNumber(phoneNumber){};
const Type &getType() const
{
return type;
};
const utils::PhoneNumber::View &getPhoneNumber() const
{
return phoneNumber;
};
};
class EnterNumberData : public gui::SwitchData
{
std::string phoneNumber;
public:
static constexpr auto descriptionStr = "EnterNumberSwitchData";
EnterNumberData(const std::string &phoneNumber) : SwitchData(descriptionStr), phoneNumber(phoneNumber)
{}
const std::string &getPhoneNumber() const
{
return phoneNumber;
}
};
class ExecuteCallData : public CallSwitchData
{
public:
ExecuteCallData(const utils::PhoneNumber::View &phoneNumber)
: CallSwitchData(phoneNumber, app::CallSwitchData::Type::EXECUTE_CALL){};
};
} /* namespace app */