M module-sys/PhoneModes/Observer.cpp => module-sys/PhoneModes/Observer.cpp +5 -32
@@ 1,4 1,4 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include <PhoneModes/Observer.hpp>
@@ 7,25 7,6 @@
namespace sys::phone_modes
{
- namespace
- {
- template <typename F> void onChanged(const F &onChanged, const Observer::OnFinishedCallbacks &onFinished)
- {
- try {
- onChanged();
- if (onFinished.onComplete) {
- onFinished.onComplete();
- }
- }
- catch (const std::exception &error) {
- if (onFinished.onError) {
- onFinished.onError(error);
- }
- throw;
- }
- }
- } // namespace
-
void Observer::connect(Service *owner)
{
owner->connect(typeid(PhoneModeChanged), [this](sys::Message *request) -> sys::MessagePointer {
@@ 36,22 17,14 @@ namespace sys::phone_modes
});
}
- void Observer::subscribe(OnPhoneModeChangedCallback &&onChange,
- OnCompleteCallback &&onComplete,
- OnErrorCallback &&onError) noexcept
+ void Observer::subscribe(OnPhoneModeChangedCallback &&onChange) noexcept
{
onPhoneModeChangedCallback = std::move(onChange);
- onPhoneModeChangeFinished.onComplete = std::move(onComplete);
- onPhoneModeChangeFinished.onError = std::move(onError);
}
- void Observer::subscribe(OnTetheringChangedCallback &&onChange,
- OnCompleteCallback &&onComplete,
- OnErrorCallback &&onError) noexcept
+ void Observer::subscribe(OnTetheringChangedCallback &&onChange) noexcept
{
onTetheringChangedCallback = std::move(onChange);
- onTetheringChangeFinished.onComplete = std::move(onComplete);
- onTetheringChangeFinished.onError = std::move(onError);
}
bool Observer::isInMode(PhoneMode mode) const noexcept
@@ 78,7 51,7 @@ namespace sys::phone_modes
}
try {
- onChanged([this]() { onPhoneModeChangedCallback(phoneMode); }, onPhoneModeChangeFinished);
+ onPhoneModeChangedCallback(phoneMode);
}
catch (const std::exception &) {
return std::make_shared<ChangeFailed>();
@@ 95,7 68,7 @@ namespace sys::phone_modes
}
try {
- onChanged([this]() { onTetheringChangedCallback(tetheringMode); }, onTetheringChangeFinished);
+ onTetheringChangedCallback(tetheringMode);
}
catch (const std::exception &) {
return std::make_shared<ChangeFailed>();
M module-sys/PhoneModes/include/PhoneModes/Observer.hpp => module-sys/PhoneModes/include/PhoneModes/Observer.hpp +3 -16
@@ 1,4 1,4 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
+// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
@@ 20,21 20,10 @@ namespace sys::phone_modes
public:
using OnPhoneModeChangedCallback = std::function<void(PhoneMode)>;
using OnTetheringChangedCallback = std::function<void(Tethering)>;
- using OnCompleteCallback = std::function<void()>;
- using OnErrorCallback = std::function<void(const std::exception &)>;
- struct OnFinishedCallbacks
- {
- OnCompleteCallback onComplete;
- OnErrorCallback onError;
- };
void connect(Service *owner);
- void subscribe(OnPhoneModeChangedCallback &&onChange,
- OnCompleteCallback &&onComplete = {},
- OnErrorCallback &&onError = {}) noexcept;
- void subscribe(OnTetheringChangedCallback &&onChange,
- OnCompleteCallback &&onComplete = {},
- OnErrorCallback &&onError = {}) noexcept;
+ void subscribe(OnPhoneModeChangedCallback &&onChange) noexcept;
+ void subscribe(OnTetheringChangedCallback &&onChange) noexcept;
bool isInMode(PhoneMode mode) const noexcept;
PhoneMode getCurrentPhoneMode() const noexcept;
@@ 46,8 35,6 @@ namespace sys::phone_modes
OnPhoneModeChangedCallback onPhoneModeChangedCallback;
OnTetheringChangedCallback onTetheringChangedCallback;
- OnFinishedCallbacks onPhoneModeChangeFinished;
- OnFinishedCallbacks onTetheringChangeFinished;
PhoneMode phoneMode = PhoneMode::Connected;
Tethering tetheringMode = Tethering::Off;
};