#include "Services/EventActionService.hpp" #include "Message.hpp" #include "MessageParser.hpp" /** * @todo: Should a check be added for lastAddedEventDefinitionIndex to not exceed the * eventActionDefinitionArray ? */ void EventActionService::addEventActionDefinitions(Message message){ // TC[19,1] if (message.messageType == 1 && message.packetType == Message::TC && message.serviceType == 19){ uint8_t *data; uint16_t N = message.readUint16(); for (uint16_t i = 0; i < N; i++){ eventActionDefinitionArray[].applicationId = message .readEnum16(); eventActionDefinitionArray[].eventDefinitionID = message.readEnum16(); message.readString(data,ECSS_MAX_STRING_SIZE); eventActionDefinitionArray[].request = String<256>(data); } } } void EventActionService::deleteEventActionDefinitions(Message message) { // TC[19,2] if (message.messageType == 2 && message.packetType == Message::TC && message.serviceType == 19){ uint16_t N = message.readUint16(); for (uint16_t i = 0; i < N; i++){ } } } void EventActionService::deleteAllEventActionDefinitions(Message message) { // TC[19,3] if (message.messageType == 3 && message.packetType == Message::TC && message.serviceType == 19){ } } void EventActionService::enableEventActionDefinitions(Message message) { // TC[19,4] if (message.messageType == 4 && message.packetType == Message::TC && message.serviceType == 19){ uint16_t N = message.readUint16(); for (uint16_t i = 0; i < N; i++){ } } } void EventActionService::disableEventActionDefinitions(Message message) { // TC[19,5] if (message.messageType == 5 && message.packetType == Message::TC && message.serviceType == 19){ uint16_t N = message.readUint16(); for (uint16_t i = 0; i < N; i++){ } } } void EventActionService::requestEventActionDefinitionStatus(Message message) { // TC[19,6] if (message.messageType == 6 && message.packetType == Message::TC && message.serviceType == 19){ } } void EventActionService::eventActionStatusReport() { // TM[19,7] Message report = createTM(7); storeMessage(report); } void EventActionService::enableEventActionFunction(Message message) { // TC[19,8] if (message.messageType == 8 && message.packetType == Message::TC && message.serviceType == 19){ setEventActionFunctionStatus(EventActionFunctionStatus::enabledFunction); } } void EventActionService::disableEventActionFunction(Message message) { // TC[19,9] if (message.messageType == 9 && message.packetType == Message::TC && message.serviceType == 19){ setEventActionFunctionStatus(EventActionFunctionStatus::disabledFunction); } } void EventActionService::executeAction() { // Custom function if (enabledFunction){ } }