diff --git a/inc/Services/EventActionService.hpp b/inc/Services/EventActionService.hpp index 9a542fa7a9aec8717af0192e57426f080c278e0e..19886d5c8460650effd566d525b278d89a3b54e1 100644 --- a/inc/Services/EventActionService.hpp +++ b/inc/Services/EventActionService.hpp @@ -40,7 +40,7 @@ public: EventActionService() { serviceType = 19; eventActionFunctionStatus = enabledFunction; - stateOfEventAction.set(); + stateOfEventAction.reset(); } /** diff --git a/src/Services/EventActionService.cpp b/src/Services/EventActionService.cpp index 6985bb25cdc01cc1c13eb86dc14813a6c06e7cd2..a8feab201f897836b98e812c3aed180315c81f77 100644 --- a/src/Services/EventActionService.cpp +++ b/src/Services/EventActionService.cpp @@ -40,13 +40,12 @@ void EventActionService::deleteEventActionDefinitions(Message message) { == 19) { uint16_t N = message.readUint16(); uint8_t index = 0; - uint8_t flag = 0; // used as boolean 0 is false, 1 is true for (uint16_t i = 0; i < N; i++) { uint16_t applicationID = message.readEnum16(); uint16_t eventDefinitionID = message.readEnum16(); - while (index<256){ + while (index<255){ if (eventActionDefinitionArray[index].applicationId == applicationID && - eventActionDefinitionArray[index].eventDefinitionID== eventDefinitionID) { + eventActionDefinitionArray[index].eventDefinitionID == eventDefinitionID) { eventActionDefinitionArray[index].empty = 1; eventActionDefinitionArray[index].eventDefinitionID = 65535; eventActionDefinitionArray[index].request = ""; @@ -81,11 +80,10 @@ void EventActionService::enableEventActionDefinitions(Message message) { == 19) { uint16_t N = message.readUint16(); uint8_t index = 0; - uint8_t flag = 0; // used as boolean 0 is false, 1 is true for (uint16_t i = 0; i < N; i++) { uint16_t applicationID = message.readEnum16(); uint16_t eventDefinitionID = message.readEnum16(); - while (index<256){ + while (index<255){ if (eventActionDefinitionArray[index].applicationId == applicationID && eventActionDefinitionArray[index].eventDefinitionID== eventDefinitionID) { stateOfEventAction[index] = 1; @@ -103,11 +101,10 @@ void EventActionService::disableEventActionDefinitions(Message message) { == 19) { uint16_t N = message.readUint16(); uint8_t index = 0; - uint8_t flag = 0; // used as boolean 0 is false, 1 is true for (uint16_t i = 0; i < N; i++) { uint16_t applicationID = message.readEnum16(); uint16_t eventDefinitionID = message.readEnum16(); - while (index<256){ + while (index<255){ if (eventActionDefinitionArray[index].applicationId == applicationID && eventActionDefinitionArray[index].eventDefinitionID== eventDefinitionID) { stateOfEventAction[index] = 0; diff --git a/test/Services/EventActionService.cpp b/test/Services/EventActionService.cpp index ab10c0aae56db38c8c56d18a46d9e0b4a76106fc..f088322a8408dffd72bd0dd7627d10ef17628eaf 100644 --- a/test/Services/EventActionService.cpp +++ b/test/Services/EventActionService.cpp @@ -40,7 +40,6 @@ TEST_CASE("Add event-action definitions TC[19,1]", "[service][st09]") { TEST_CASE("Delete event-action definitions TC[19,2]", "[service][st09]") { EventActionService eventActionService; - char checkString[256]; Message message0(19, 1, Message::TC, 0); message0.appendEnum16(1); message0.appendEnum16(0); @@ -154,6 +153,19 @@ TEST_CASE("Enable event-action definitions TC[19,4]", "[service][st09]") { String<64> data = "0"; message0.appendString(data); eventActionService.addEventActionDefinitions(message0); + Message message1(19, 1, Message::TC, 0); + message1.appendEnum16(1); + message1.appendEnum16(0); + data = "00"; + message1.appendString(data); + eventActionService.addEventActionDefinitions(message1); + Message message2(19, 4, Message::TC, 0); + message2.appendUint16(1); + message2.appendEnum16(1); + message2.appendEnum16(0); + eventActionService.enableEventActionDefinitions(message2); + CHECK(eventActionService.stateOfEventAction[0] == 1); + CHECK(eventActionService.stateOfEventAction[1] == 1); }