mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-10-25 16:08:30 -04:00
34 lines
850 B
C++
34 lines
850 B
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 "Common.hpp"
|
|
|
|
namespace sys
|
|
{
|
|
class Service; // Forward declaration
|
|
} // namespace sys
|
|
|
|
namespace sys::phone_modes
|
|
{
|
|
class Subject
|
|
{
|
|
public:
|
|
explicit Subject(Service *owner);
|
|
|
|
void setMode(PhoneMode _phoneMode, Tethering _tetheringMode);
|
|
void setPhoneMode(PhoneMode mode);
|
|
void setTetheringMode(Tethering mode);
|
|
|
|
private:
|
|
void notifyChange();
|
|
bool changePhoneMode(PhoneMode mode) noexcept;
|
|
bool changeTetheringMode(Tethering mode) noexcept;
|
|
|
|
Service *owner;
|
|
PhoneMode phoneMode = PhoneMode::Connected;
|
|
Tethering tetheringMode = Tethering::Off;
|
|
};
|
|
} // namespace sys::phone_modes
|