From 76dfa98656ced9f73b291e80e26be3b2b325de97 Mon Sep 17 00:00:00 2001 From: Wojtek Rzepecki Date: Mon, 18 Oct 2021 14:24:02 +0200 Subject: [PATCH] [EGD-7666] Fix alarms time zones update of the events cache every time change --- module-services/service-time/AlarmMessageHandler.cpp | 5 +++++ module-services/service-time/AlarmMessageHandler.hpp | 1 + module-services/service-time/ServiceTime.cpp | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/module-services/service-time/AlarmMessageHandler.cpp b/module-services/service-time/AlarmMessageHandler.cpp index 115d92114ac6578b314dda9889f9955c38e2b9d6..b766f3228c0444ae0231f5330b95701b78c65184 100644 --- a/module-services/service-time/AlarmMessageHandler.cpp +++ b/module-services/service-time/AlarmMessageHandler.cpp @@ -16,6 +16,11 @@ namespace alarms std::unique_ptr &&alarmOperations) : service{service}, alarmOperations{std::move(alarmOperations)} {}; + auto AlarmMessageHandler::handleTimeUpdate(TimePoint time) -> void + { + alarmOperations->updateEventsCache(time); + } + auto AlarmMessageHandler::handleGetAlarm(AlarmGetRequestMessage *request) -> std::shared_ptr { diff --git a/module-services/service-time/AlarmMessageHandler.hpp b/module-services/service-time/AlarmMessageHandler.hpp index 40cceba38270db7670c51b5ce1e2a571d35f854f..6c9541a9cbea5ef7835ee7515b03a2192ff7fa1d 100644 --- a/module-services/service-time/AlarmMessageHandler.hpp +++ b/module-services/service-time/AlarmMessageHandler.hpp @@ -21,6 +21,7 @@ namespace alarms public: AlarmMessageHandler(stm::ServiceTime *service, std::unique_ptr &&alarmOperations); + auto handleTimeUpdate(TimePoint time) -> void; auto handleGetAlarm(AlarmGetRequestMessage *request) -> std::shared_ptr; auto handleAddAlarm(AlarmAddRequestMessage *request) -> std::shared_ptr; auto handleUpdateAlarm(AlarmUpdateRequestMessage *request) -> std::shared_ptr; diff --git a/module-services/service-time/ServiceTime.cpp b/module-services/service-time/ServiceTime.cpp index 74e8ee309bcf6dd04c7e27705fba036b2ff649d7..6b4ab5cb0d7b97274f454c7883992f2dfa82ef66 100644 --- a/module-services/service-time/ServiceTime.cpp +++ b/module-services/service-time/ServiceTime.cpp @@ -41,6 +41,7 @@ namespace stm { LOG_INFO("[ServiceTime] Initializing"); bus.channels.push_back(sys::BusChannel::ServiceDBNotifications); + bus.channels.push_back(sys::BusChannel::ServiceEvtmgrNotifications); } ServiceTime::~ServiceTime() @@ -97,6 +98,10 @@ namespace stm alarmMessageHandler->handleMinuteUpdated(); return std::make_shared(); } + else if (msgl->messageType == MessageType::EVMTimeUpdated) { + alarmMessageHandler->handleTimeUpdate(TimePointNow()); + return std::make_shared(); + } else { return std::make_shared(sys::ReturnCodes::Unresolved); }