Files
MuditaOS/module-sys/PhoneModes/Common.hpp
Piotr Tański b9661350f8 [EGD-5697] Framework for phone modes introduced
It allows to transmit phone modes information to listening services.
2021-02-16 14:05:42 +01:00

50 lines
1.1 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 <Service/Message.hpp>
namespace sys::phone_modes
{
enum class PhoneMode
{
Connected,
DoNotDisturb,
Offline
};
enum class Tethering
{
Off,
On
};
class PhoneModeChanged : public DataMessage
{
public:
PhoneModeChanged(PhoneMode phoneMode, Tethering tetheringMode)
: DataMessage{MessageType::MessageTypeUninitialized}, phoneMode{phoneMode}, tethering{tetheringMode}
{}
[[nodiscard]] auto getPhoneMode() const noexcept
{
return phoneMode;
}
[[nodiscard]] auto getTetheringMode() const noexcept
{
return tethering;
}
private:
PhoneMode phoneMode;
Tethering tethering;
};
class PhoneModeChangedSuccessfully : public ResponseMessage
{};
class PhoneModeChangeFailed : public ResponseMessage
{};
} // namespace sys::phone_modes