diff --git a/inc/Platform/x86/ECSS_Configuration.hpp b/inc/Platform/x86/ECSS_Configuration.hpp index 07a47a4c254d5fb787f806e4c21aaeb4ae572d8a..a8aba07c492158ed30807f7b6cb9905805535c1a 100644 --- a/inc/Platform/x86/ECSS_Configuration.hpp +++ b/inc/Platform/x86/ECSS_Configuration.hpp @@ -21,18 +21,19 @@ #define SERVICE_ALL ///< Enables compilation of all the ECSS services #ifdef SERVICE_ALL -#define SERVICE_EVENTACTION ///< Compile ST[19] event-action -#define SERVICE_EVENTREPORT ///< Compile ST[05] event reporting -#define SERVICE_FUNCTION ///< Compile ST[08] function management -#define SERVICE_HOUSEKEEPING ///< Compile ST[03] housekeeping -#define SERVICE_LARGEPACKET ///< Compile ST[13] large packet transfer -#define SERVICE_MEMORY ///< Compile ST[06] memory management -#define SERVICE_PARAMETER ///< Compile ST[20] parameter management -#define SERVICE_PARAMETERSTATISTICS ///< Compile ST[04] parameter statistics -#define SERVICE_REQUESTVERIFICATION ///< Compile ST[01] request verification -#define SERVICE_TEST ///< Compile ST[17] test -#define SERVICE_TIME ///< Compile ST[09] time management -#define SERVICE_TIMESCHEDULING ///< Compile ST[11] time-based scheduling +#define SERVICE_EVENTACTION ///< Compile ST[19] event-action +#define SERVICE_EVENTREPORT ///< Compile ST[05] event reporting +#define SERVICE_FUNCTION ///< Compile ST[08] function management +#define SERVICE_HOUSEKEEPING ///< Compile ST[03] housekeeping +#define SERVICE_LARGEPACKET ///< Compile ST[13] large packet transfer +#define SERVICE_MEMORY ///< Compile ST[06] memory management +#define SERVICE_PARAMETER ///< Compile ST[20] parameter management +#define SERVICE_PARAMETERSTATISTICS ///< Compile ST[04] parameter statistics +#define SERVICE_REALTIMEFORWARDINGCONTROL ///< Compile ST[14] real time forwarding control +#define SERVICE_REQUESTVERIFICATION ///< Compile ST[01] request verification +#define SERVICE_TEST ///< Compile ST[17] test +#define SERVICE_TIME ///< Compile ST[09] time management +#define SERVICE_TIMESCHEDULING ///< Compile ST[11] time-based scheduling #endif /** @} */ diff --git a/inc/ServicePool.hpp b/inc/ServicePool.hpp index 544b7460c93ca76b53d3ff76d5f321750085efb3..20fc4ab559a68fbdb02a6381b5e280186247f52e 100644 --- a/inc/ServicePool.hpp +++ b/inc/ServicePool.hpp @@ -13,6 +13,7 @@ #include "Services/FunctionManagementService.hpp" #include "Services/HousekeepingService.hpp" #include "Services/ParameterStatisticsService.hpp" +#include "Services/RealTimeForwardingControlService.hpp" /** * Defines a class that contains instances of all Services. @@ -68,6 +69,10 @@ public: ParameterService parameterManagement; #endif +#ifdef SERVICE_REALTIMEFORWARDINGCONTROL + RealTimeForwardingControlService realTimeForwarding; +#endif + #ifdef SERVICE_REQUESTVERIFICATION RequestVerificationService requestVerification; #endif diff --git a/inc/Services/RealTimeForwardingControlService.hpp b/inc/Services/RealTimeForwardingControlService.hpp index 2f522cc04f28573198f2a39a516c3da855f5abe5..46bf4490c63df1e0362bff92b2bad2b32509e2eb 100644 --- a/inc/Services/RealTimeForwardingControlService.hpp +++ b/inc/Services/RealTimeForwardingControlService.hpp @@ -36,6 +36,8 @@ public: EventReportConfigurationContentReport = 16, }; + RealTimeForwardingControlService() = default; + private: /** * Contains the Application IDs, controlled by the Service. diff --git a/src/MessageParser.cpp b/src/MessageParser.cpp index c35c525bb5d3f1fb8b5010d1104a9c845da387af..2b164eaad5193d8c0528032e2c929b5e5d92e2fc 100644 --- a/src/MessageParser.cpp +++ b/src/MessageParser.cpp @@ -61,6 +61,12 @@ void MessageParser::execute(Message& message) { break; #endif +#ifdef SERVICE_REALTIMEFORWARDINGCONTROL + case RealTimeForwardingControlService::ServiceType: + Services.realTimeForwarding.execute(message); + break; +#endif + default: ErrorHandler::reportInternalError(ErrorHandler::OtherMessageType); }