From 3e7b94dc05844c2aee890a683aec193b7e80494d Mon Sep 17 00:00:00 2001 From: Alek Rudnik Date: Tue, 18 Jan 2022 15:23:31 +0100 Subject: [PATCH] [EGD-8137] Fix system pre closure procedure Added some services specific implementations of pre closure procedure. If one request pre closre, all mesagges (except system ones) recieved by service are ignored. --- .../service-antenna/ServiceAntenna.cpp | 7 +------ .../include/service-antenna/ServiceAntenna.hpp | 4 +--- .../model/ApplicationManagerCommon.cpp | 3 +-- module-services/service-audio/ServiceAudio.cpp | 3 +-- .../service-bluetooth/ServiceBluetooth.cpp | 5 +++-- .../service-cellular/ServiceCellular.cpp | 6 ++---- module-services/service-db/ServiceDBCommon.cpp | 3 +-- .../service-desktop/ServiceDesktop.cpp | 3 +-- module-services/service-eink/ServiceEink.cpp | 7 +------ module-services/service-eink/ServiceEink.hpp | 3 +-- module-services/service-evtmgr/EventManager.cpp | 5 +++-- .../service-evtmgr/EventManagerCommon.hpp | 4 ++-- .../service-fileindexer/ServiceFileIndexer.cpp | 6 ++++-- .../service-fileindexer/StartupIndexer.cpp | 9 +++++++-- .../service-fileindexer/StartupIndexer.hpp | 3 ++- module-services/service-time/ServiceTime.cpp | 7 +------ module-services/service-time/ServiceTime.hpp | 3 +-- module-sys/Service/Service.cpp | 12 ++++++++++-- module-sys/Service/include/Service/Service.hpp | 17 ++++++++++++++++- .../BellHybrid/services/audio/ServiceAudio.cpp | 3 +-- .../PurePhone/services/evtmgr/EventManager.cpp | 3 +-- 21 files changed, 61 insertions(+), 55 deletions(-) diff --git a/module-services/service-antenna/ServiceAntenna.cpp b/module-services/service-antenna/ServiceAntenna.cpp index 65fda5ed2720c824c52998a5b2ba796599fefc30..b41c2c80f6249e289fc9d8a2fe54baa881e438fe 100644 --- a/module-services/service-antenna/ServiceAntenna.cpp +++ b/module-services/service-antenna/ServiceAntenna.cpp @@ -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 @@ -148,11 +148,6 @@ sys::ReturnCodes ServiceAntenna::DeinitHandler() return sys::ReturnCodes::Success; } -void ServiceAntenna::ProcessCloseReason(sys::CloseReason closeReason) -{ - sendCloseReadyMessage(this); -} - sys::ReturnCodes ServiceAntenna::SwitchPowerModeHandler(const sys::ServicePowerMode mode) { LOG_FATAL("[ServiceEvtMgr] PowerModeHandler: %s", c_str(mode)); diff --git a/module-services/service-antenna/include/service-antenna/ServiceAntenna.hpp b/module-services/service-antenna/include/service-antenna/ServiceAntenna.hpp index 8871f97de142d5d6d57ac490769e1420f6b1ef28..757b0b4216f9c3104bf56ae96c572eef95c5290b 100644 --- a/module-services/service-antenna/include/service-antenna/ServiceAntenna.hpp +++ b/module-services/service-antenna/include/service-antenna/ServiceAntenna.hpp @@ -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 @@ -77,8 +77,6 @@ class ServiceAntenna : public sys::Service sys::ReturnCodes DeinitHandler() override; - void ProcessCloseReason(sys::CloseReason closeReason) override; - sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override final; void storeCurrentState(void); diff --git a/module-services/service-appmgr/model/ApplicationManagerCommon.cpp b/module-services/service-appmgr/model/ApplicationManagerCommon.cpp index 1b18eee3fdd166a0c9036d69bba29daf8da1b00d..f8ad421d6fafa1ca69c91852b4e1bddeb9bb6373 100644 --- a/module-services/service-appmgr/model/ApplicationManagerCommon.cpp +++ b/module-services/service-appmgr/model/ApplicationManagerCommon.cpp @@ -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 "ApplicationManagerCommon.hpp" @@ -169,7 +169,6 @@ namespace app::manager break; } handleActionRequest(&act); - sendCloseReadyMessage(this); } auto ApplicationManagerCommon::DataReceivedHandler([[maybe_unused]] sys::DataMessage *msgl, diff --git a/module-services/service-audio/ServiceAudio.cpp b/module-services/service-audio/ServiceAudio.cpp index 5b9e6534cef5533caea10663576c337ed8d101fb..eb6a8e162f004a7fa3d80b738766369edd84bd12 100644 --- a/module-services/service-audio/ServiceAudio.cpp +++ b/module-services/service-audio/ServiceAudio.cpp @@ -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 @@ -165,7 +165,6 @@ void ServiceAudio::ProcessCloseReason(sys::CloseReason closeReason) const auto activeInput = activeInputOpt.value(); activeInput->audio->Stop(); } - sendCloseReadyMessage(this); } std::optional ServiceAudio::AudioServicesCallback(const sys::Message *msg) diff --git a/module-services/service-bluetooth/ServiceBluetooth.cpp b/module-services/service-bluetooth/ServiceBluetooth.cpp index 741f9e44817e6c360088dfd00a42af28f4f0d154..94ee793354441bb2ce7c1f81cac9ef3b492ec784 100644 --- a/module-services/service-bluetooth/ServiceBluetooth.cpp +++ b/module-services/service-bluetooth/ServiceBluetooth.cpp @@ -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 "service-bluetooth/ServiceBluetooth.hpp" @@ -129,7 +129,8 @@ sys::ReturnCodes ServiceBluetooth::DeinitHandler() void ServiceBluetooth::ProcessCloseReason(sys::CloseReason closeReason) { - sendCloseReadyMessage(this); + sendWorkerCommand(bluetooth::Command(bluetooth::Command::Type::DisconnectAudio)); + sendWorkerCommand(bluetooth::Command(bluetooth::Command::Type::PowerOff)); } sys::MessagePointer ServiceBluetooth::DataReceivedHandler([[maybe_unused]] sys::DataMessage *msg, diff --git a/module-services/service-cellular/ServiceCellular.cpp b/module-services/service-cellular/ServiceCellular.cpp index 44c3ef516f09bdbb3571d367004803bc26d0e4f8..30131e695a5fa7768a355e464644a9a591bfa6fd 100644 --- a/module-services/service-cellular/ServiceCellular.cpp +++ b/module-services/service-cellular/ServiceCellular.cpp @@ -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 "endpoints/developerMode/event/ATRequest.hpp" @@ -266,9 +266,7 @@ sys::ReturnCodes ServiceCellular::DeinitHandler() } void ServiceCellular::ProcessCloseReason(sys::CloseReason closeReason) -{ - sendCloseReadyMessage(this); -} +{} sys::ReturnCodes ServiceCellular::SwitchPowerModeHandler(const sys::ServicePowerMode mode) { diff --git a/module-services/service-db/ServiceDBCommon.cpp b/module-services/service-db/ServiceDBCommon.cpp index 16b5e3bac6ccdb079cc626f2ef7a70d8b1d43610..b119048d8099819219cbc090adcddad5529c358f 100644 --- a/module-services/service-db/ServiceDBCommon.cpp +++ b/module-services/service-db/ServiceDBCommon.cpp @@ -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 @@ -72,7 +72,6 @@ void ServiceDBCommon::ProcessCloseReason(sys::CloseReason closeReason) } factoryReset(); } - sendCloseReadyMessage(this); } void ServiceDBCommon::factoryReset() const diff --git a/module-services/service-desktop/ServiceDesktop.cpp b/module-services/service-desktop/ServiceDesktop.cpp index 709a61dd4a2a8effd624abd4a2d9d5f939642a8e..5f8e7d8fe72cd720a67e9f1a8e7b2b3ccfdcc873 100644 --- a/module-services/service-desktop/ServiceDesktop.cpp +++ b/module-services/service-desktop/ServiceDesktop.cpp @@ -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 @@ -237,7 +237,6 @@ void ServiceDesktop::ProcessCloseReason(sys::CloseReason closeReason) { LOG_DEBUG(".. close with reason .."); DeinitHandler(); - sendCloseReadyMessage(this); } sys::ReturnCodes ServiceDesktop::SwitchPowerModeHandler(const sys::ServicePowerMode mode) diff --git a/module-services/service-eink/ServiceEink.cpp b/module-services/service-eink/ServiceEink.cpp index 3a2ee7f9ba885d62345322197f8f4720dffc2097..e87d2b09a90251c690f48d9fdf93cc0850aefda0 100644 --- a/module-services/service-eink/ServiceEink.cpp +++ b/module-services/service-eink/ServiceEink.cpp @@ -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 @@ -106,11 +106,6 @@ namespace service::eink return sys::ReturnCodes::Success; } - void ServiceEink::ProcessCloseReason(sys::CloseReason closeReason) - { - sendCloseReadyMessage(this); - } - sys::ReturnCodes ServiceEink::SwitchPowerModeHandler(const sys::ServicePowerMode mode) { LOG_INFO("PowerModeHandler: %s", c_str(mode)); diff --git a/module-services/service-eink/ServiceEink.hpp b/module-services/service-eink/ServiceEink.hpp index f1a1477ab800e760a620878bd57fe9a2b39a3252..95602464ddc4f64d43a9ed365e6b2db0327aef3c 100644 --- a/module-services/service-eink/ServiceEink.hpp +++ b/module-services/service-eink/ServiceEink.hpp @@ -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 @@ -38,7 +38,6 @@ namespace service::eink sys::MessagePointer DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *response) override; sys::ReturnCodes InitHandler() override; sys::ReturnCodes DeinitHandler() override; - void ProcessCloseReason(sys::CloseReason closeReason) override; sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override; private: diff --git a/module-services/service-evtmgr/EventManager.cpp b/module-services/service-evtmgr/EventManager.cpp index ebf8e455df76ee2773bdfdf7adca802d0db4b4ee..acfaa1d5805dd26fe25666ec11de143968b08ea0 100644 --- a/module-services/service-evtmgr/EventManager.cpp +++ b/module-services/service-evtmgr/EventManager.cpp @@ -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 "service-evtmgr/BatteryMessages.hpp" @@ -258,8 +258,9 @@ sys::ReturnCodes EventManagerCommon::DeinitHandler() return sys::ReturnCodes::Success; } -void EventManagerCommon::ProcessCloseReason(sys::CloseReason closeReason) +void EventManagerCommon::ProcessCloseReasonHandler(sys::CloseReason closeReason) { + ProcessCloseReason(closeReason); sendCloseReadyMessage(this); } diff --git a/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp b/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp index a19cfe43239228acde4ae93c02c43830da0fd652..af60f6714f09a1d2e4b380d7784be89a199e9eb7 100644 --- a/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp +++ b/module-services/service-evtmgr/service-evtmgr/EventManagerCommon.hpp @@ -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 @@ -48,7 +48,7 @@ class EventManagerCommon : public sys::Service sys::ReturnCodes DeinitHandler() override; - void ProcessCloseReason(sys::CloseReason closeReason) override; + void ProcessCloseReasonHandler(sys::CloseReason closeReason) override; sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override final; diff --git a/module-services/service-fileindexer/ServiceFileIndexer.cpp b/module-services/service-fileindexer/ServiceFileIndexer.cpp index 05dbbdc18df95f78373c80ec609fc9ecca026202..e4dcdd5af3f47fa6051ec226d28e61abd4833f85 100644 --- a/module-services/service-fileindexer/ServiceFileIndexer.cpp +++ b/module-services/service-fileindexer/ServiceFileIndexer.cpp @@ -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 @@ -60,6 +60,8 @@ namespace service if (closeReason == sys::CloseReason::FactoryReset) { mStartupIndexer.reset(); } - sendCloseReadyMessage(this); + else { + mStartupIndexer.stop(); + } } } // namespace service diff --git a/module-services/service-fileindexer/StartupIndexer.cpp b/module-services/service-fileindexer/StartupIndexer.cpp index 56f9bf5a13d0f127c3a81109065b65370a02522e..2bba370f04759716e9545d4c3b2836e41e2dd4f7 100644 --- a/module-services/service-fileindexer/StartupIndexer.cpp +++ b/module-services/service-fileindexer/StartupIndexer.cpp @@ -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 "Common.hpp" @@ -99,10 +99,15 @@ namespace service::detail } } - void StartupIndexer::reset() + void StartupIndexer::stop() { mForceStop = true; mIdxTimer.stop(); + } + + void StartupIndexer::reset() + { + stop(); removeLockFile(); } diff --git a/module-services/service-fileindexer/include/service-fileindexer/StartupIndexer.hpp b/module-services/service-fileindexer/include/service-fileindexer/StartupIndexer.hpp index ea4064c5bdee8e3f35b02667503c2df92dddd217..774bca50718da479da29d0cb5d4d5d34ecbbcf6c 100644 --- a/module-services/service-fileindexer/include/service-fileindexer/StartupIndexer.hpp +++ b/module-services/service-fileindexer/include/service-fileindexer/StartupIndexer.hpp @@ -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 @@ -19,6 +19,7 @@ namespace service::detail StartupIndexer &operator=(StartupIndexer) = delete; auto start(std::shared_ptr svc, std::string_view svc_name) -> void; void reset(); + void stop(); private: // Process single entry diff --git a/module-services/service-time/ServiceTime.cpp b/module-services/service-time/ServiceTime.cpp index ccb9395cc5d2251d6bbd71b80d73002cfbea56a0..053b4d810327dd4b10f31ad02d832836ac94052a 100644 --- a/module-services/service-time/ServiceTime.cpp +++ b/module-services/service-time/ServiceTime.cpp @@ -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 "AlarmMessageHandler.hpp" @@ -71,11 +71,6 @@ namespace stm return sys::ReturnCodes::Success; } - void ServiceTime::ProcessCloseReason(sys::CloseReason closeReason) - { - sendCloseReadyMessage(this); - } - sys::ReturnCodes ServiceTime::SwitchPowerModeHandler(const sys::ServicePowerMode mode) { LOG_FATAL("[ServiceTime] PowerModeHandler: %s", c_str(mode)); diff --git a/module-services/service-time/ServiceTime.hpp b/module-services/service-time/ServiceTime.hpp index 86228105ad0fb69a9a79f0303756c783555ad775..934b0221ac052a97b371eefb82c3fd5f0e4a2dd0 100644 --- a/module-services/service-time/ServiceTime.hpp +++ b/module-services/service-time/ServiceTime.hpp @@ -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 @@ -57,7 +57,6 @@ namespace stm sys::ReturnCodes InitHandler() override; sys::ReturnCodes DeinitHandler() override; - void ProcessCloseReason(sys::CloseReason closeReason) override; sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override final; sys::MessagePointer DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp = nullptr) override; diff --git a/module-sys/Service/Service.cpp b/module-sys/Service/Service.cpp index f952c1622598962cd74542aa6e7f328c16a2f7b3..98d167a0bf7c4f5e986e5e97968b535b30c642f4 100644 --- a/module-sys/Service/Service.cpp +++ b/module-sys/Service/Service.cpp @@ -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 @@ -207,6 +207,14 @@ namespace sys auto Service::ProcessCloseReason(CloseReason closeReason) -> void{}; + auto Service::ProcessCloseReasonHandler(CloseReason closeReason) -> void + { + ProcessCloseReason(closeReason); + // to reject all messages except system ones + isReady = false; + sendCloseReadyMessage(this); + }; + auto Service::TimerHandle(SystemMessage &message) -> ReturnCodes { auto timer_message = dynamic_cast(&message); @@ -292,7 +300,7 @@ namespace sys } break; case SystemMessageType::ServiceCloseReason: - service->ProcessCloseReason(static_cast(message)->getCloseReason()); + service->ProcessCloseReasonHandler(static_cast(message)->getCloseReason()); break; } return std::make_shared(ret); diff --git a/module-sys/Service/include/Service/Service.hpp b/module-sys/Service/include/Service/Service.hpp index 740f67dbbc032ddc316caa6adb2dea0c801643a3..3823791685f83c6a901957468f5062d35442f173 100644 --- a/module-sys/Service/include/Service/Service.hpp +++ b/module-sys/Service/include/Service/Service.hpp @@ -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 @@ -55,8 +55,23 @@ namespace sys */ virtual ReturnCodes DeinitHandler() = 0; + /** + * @brief Pre close clean up service specific procedure. + * Should be implemented in derived class. Empty by default. + * + * Should not be called directly - part of strategy pattern + */ virtual auto ProcessCloseReason(CloseReason closeReason) -> void; + /** + * @brief Pre close clean up procedure. + * It calls ProcessCloseReason and disable all messages handling + * except system ones. + * + * Should be requested before full service closure. + */ + virtual auto ProcessCloseReasonHandler(CloseReason closeReason) -> void; + virtual ReturnCodes SwitchPowerModeHandler(const ServicePowerMode mode) = 0; /** diff --git a/products/BellHybrid/services/audio/ServiceAudio.cpp b/products/BellHybrid/services/audio/ServiceAudio.cpp index 06dbfb2be307481f255527c85fe03538e5c64391..d278a117e10bc34bb459cd2018091f77873218e6 100644 --- a/products/BellHybrid/services/audio/ServiceAudio.cpp +++ b/products/BellHybrid/services/audio/ServiceAudio.cpp @@ -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 "ServiceAudio.hpp" @@ -120,7 +120,6 @@ namespace service const auto activeInput = activeInputOpt.value(); activeInput->audio->Stop(); } - sendCloseReadyMessage(this); } auto Audio::handleStart(const audio::Operation::Type opType, const std::string &fileName, diff --git a/products/PurePhone/services/evtmgr/EventManager.cpp b/products/PurePhone/services/evtmgr/EventManager.cpp index 33ccadea44fbb56277e8f0f037d085ef9971fdef..e38c5bfed17febcd396c7864b22332213d6a6491 100644 --- a/products/PurePhone/services/evtmgr/EventManager.cpp +++ b/products/PurePhone/services/evtmgr/EventManager.cpp @@ -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 @@ -125,7 +125,6 @@ void EventManager::toggleTorchColor() void EventManager::ProcessCloseReason(sys::CloseReason closeReason) { bsp::torch::turn(bsp::torch::State::off); - EventManagerCommon::ProcessCloseReason(closeReason); } sys::MessagePointer EventManager::DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp)