M module-services/service-time/AlarmMessageHandler.cpp => module-services/service-time/AlarmMessageHandler.cpp +5 -0
@@ 16,6 16,11 @@ namespace alarms
std::unique_ptr<IAlarmOperations> &&alarmOperations)
: service{service}, alarmOperations{std::move(alarmOperations)} {};
+ auto AlarmMessageHandler::handleTimeUpdate(TimePoint time) -> void
+ {
+ alarmOperations->updateEventsCache(time);
+ }
+
auto AlarmMessageHandler::handleGetAlarm(AlarmGetRequestMessage *request)
-> std::shared_ptr<AlarmGetResponseMessage>
{
M module-services/service-time/AlarmMessageHandler.hpp => module-services/service-time/AlarmMessageHandler.hpp +1 -0
@@ 21,6 21,7 @@ namespace alarms
public:
AlarmMessageHandler(stm::ServiceTime *service, std::unique_ptr<IAlarmOperations> &&alarmOperations);
+ auto handleTimeUpdate(TimePoint time) -> void;
auto handleGetAlarm(AlarmGetRequestMessage *request) -> std::shared_ptr<AlarmGetResponseMessage>;
auto handleAddAlarm(AlarmAddRequestMessage *request) -> std::shared_ptr<AlarmAddResponseMessage>;
auto handleUpdateAlarm(AlarmUpdateRequestMessage *request) -> std::shared_ptr<AlarmUpdateResponseMessage>;
M module-services/service-time/ServiceTime.cpp => module-services/service-time/ServiceTime.cpp +5 -0
@@ 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<sys::ResponseMessage>();
}
+ else if (msgl->messageType == MessageType::EVMTimeUpdated) {
+ alarmMessageHandler->handleTimeUpdate(TimePointNow());
+ return std::make_shared<sys::ResponseMessage>();
+ }
else {
return std::make_shared<sys::ResponseMessage>(sys::ReturnCodes::Unresolved);
}