ara::idsm
Overview
The Intrusion Detection System Manager Functional Cluster collects security events
from sensors and qualifies them. This page specifies the public API of the
ara::idsm namespace — event reporting, context and timestamp providers, the
qualified-event receiver, and the associated error domain — organized by header file.
Library · Headers · Linking
- Library:
lib/libpara_idsm.so - CMake:
find_package(para-idsm)→para::idsm - Standard headers:
include/ara/idsm/ - Runtime daemon:
bin/idsm
1 Header: ara/idsm/common.h
1.1 Non-Member Types
1.1.1 Type Alias: ContextDataType
| Kind: | type alias | |
| Header file: | #include "ara/idsm/common.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | ContextDataType | |
| Syntax: | using ContextDataType = ara::core::Span<const std::uint8_t>; | |
| Description: | ContextDataType used for sending context data to the IdsM . | |
1.1.2 Type Alias: CountType
| Kind: | type alias | |
| Header file: | #include "ara/idsm/common.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | CountType | |
| Syntax: | using CountType = std::uint16_t; | |
| Description: | CountType used for setting optional count for events pre-qualified by sensors . | |
1.1.3 Type Alias: EventIdType
| Kind: | type alias | |
| Header file: | #include "ara/idsm/common.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | EventIdType | |
| Syntax: | using EventIdType = std::uint16_t; | |
| Description: | EventIdType for an event . | |
1.1.4 Enumeration: ReportingModeType
| Kind: | enumeration | |
| Header file: | #include "ara/idsm/common.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | ReportingModeType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ReportingModeType : std::uint8_t {...}; | |
| Values: | kOff | -- |
| kBrief | -- | |
| kDetailed | -- | |
| kBriefBypassingFilters | -- | |
| kDetailedBypassingFilters | -- | |
| Description: | Defines an enumeration class for the Reporting Modes. See SWS_AIDSM_00201 for definition. . | |
1.1.5 Type Alias: TimestampType
| Kind: | type alias | |
| Header file: | #include "ara/idsm/common.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | TimestampType | |
| Syntax: | using TimestampType = std::uint64_t; | |
| Description: | TimestampType used for setting optional sensor-specific timestamp for events. | |
| Notes: | Only 62 least-significant bits are used as timestamp value and stored or transmitted, respectively | |
1.1.6 Type Alias: VersionedContextDataType
| Kind: | type alias | |
| Header file: | #include "ara/idsm/common.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | VersionedContextDataType | |
| Syntax: | using VersionedContextDataType = std::pair<ContextDataType, std::uint16_t>; | |
| Description: | VersionedContextDataType used for sending a versioned context data to the IdsM. | |
2 Header: ara/idsm/context_data_provider.h
2.1 Class: ContextDataProvider
| Kind: | class | |
| Port Interfaces: | IdsmContextProviderInterface | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | ContextDataProvider | |
| Syntax: | class ContextDataProvider {...}; | |
| Description: | Class for providing context data to the IdsM . | |
2.1.1 Public Member Functions
2.1.1.1 Special Member Functions
2.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | ContextDataProvider (ContextDataProvider &&ra) noexcept; | |
| Parameters (in): | ra | The ContextDataProvider object to be moved. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor for ContextDataProvider. | |
2.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | ContextDataProvider (const ContextDataProvider &) noexcept=delete; | |
| Description: | The copy constructor for ContextDataProvider shall not be used. | |
2.1.1.1.3 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | ara::idsm::ContextDataProvider & operator= (const ara::idsm::ContextDataProvider &) noexcept=delete; | |
| Description: | The copy assignment operator for ContextDataProvider shall not be used. | |
2.1.1.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | ara::idsm::ContextDataProvider & operator= (ara::idsm::ContextDataProvider &&ra) noexcept; | |
| Parameters (in): | ra | The ContextDataProvider object to be moved. |
| Return value: | ContextDataProvider & | The moved ContextDataProvider object. |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Move assignment operator for ContextDataProvider. | |
2.1.1.1.5 Destructor
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | virtual ~ContextDataProvider () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Destructor for ContextDataProvider. | |
2.1.1.2 Constructors
2.1.1.2.1 ContextDataProvider
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | explicit ContextDataProvider (const ara::core::InstanceSpecifier &instance, std::size_t additionalBytes, std::size_t originalContextDataOffset) noexcept; | |
| Parameters (in): | instance | instance specifier identifying the PPortPrototype of a IdsmContextDataProviderInterface |
| additionalBytes | The number of bytes to be additionally allocated by IdsM for the context data buffer. | |
| originalContextDataOffset | The offset of the original context data in the context data buffer. This value has to be smaller or equal to the parameter additionalBytes. | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Violations: | InvalidOriginalContextDataOffsetViolation | If the parameter originalContextDataOffset is larger than the parameter additionalBytes. |
| InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of your executable, or it refers to a model element other than a PortPrototype. | |
| PortInterfaceMappingViolation | The type of mapping does not match the expected type of PortInterface: IdsmContextProviderInterface referenced by a IdsmContextProviderMapping. | |
| ProcessMappingViolation | Matching InstanceRef exists, but no matching (modelled) Process found that matches the (runtime) process. | |
| InstanceSpecifierAlreadyInUseViolation | Violation message that is sent in case a constructor in the ara framework was called with an InstanceSpecifier already in use in this process. | |
| Description: | Creation of a ContextDataProvider. | |
2.1.1.3 Member Functions
2.1.1.3.1 ModifyContextData
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | virtual ara::core::Result< std::size_t > ModifyContextData (ara::core::Span< std::uint8_t > contextData, ara::idsm::EventIdType event) noexcept=0; | |
| Parameters (in): | event | Event ID of the QSEv |
| Parameters (inout): | contextData | Span to the context data buffer in big endian format to be modified by application with a size of the original context data plus additionalBytes. |
| Return value: | ara::core::Result< std::size_t > | Size of modified context data. |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | ModifyContextData to be invoked by IdsM. IdsM will place the original context data according to the parameter originalContextDataOffset passed to the constructor of the ContextDataProvider. The application that implements this function may modify the context data arbitrarily. | |
2.1.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | A Result, being either empty or containing any of the errors defined below. |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Enables potential invocations of ModifyContextData by IdsM. Offer() ignores repeated calls without calling StopOffer() in between. . | |
2.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/idsm/context_data_provider.h" | |
| Scope: | ara::idsm::ContextDataProvider | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Disables invocations of ModifyContextData. StopOffer ignores repeated calls without calling Offer() in between. . | |
3 Header: ara/idsm/event_reporter.h
3.1 Class: EventReporter
| Kind: | class | |
| Port Interfaces: | SecurityEventReportInterface | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | EventReporter | |
| Syntax: | class EventReporter {...}; | |
| Description: | Class for reporting security events to the IdsM . | |
3.1.1 Public Member Functions
3.1.1.1 Constructors
3.1.1.1.1 EventReporter
| Kind: | function | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Scope: | ara::idsm::EventReporter | |
| Syntax: | EventReporter (const ara::core::InstanceSpecifier &instanceSpecifier) noexcept; | |
| Parameters (in): | instanceSpecifier | InstanceSpecifier of the RPortPrototype of type SecurityEventReportInterface that is mapped to the SecurityEventDefinition by means of the SecurityEventMapping (in case an Application reports the security event) or InstanceSpecifier of the FunctionalClusterToSecurityEventDefinitionMapping that maps a module instantiation to the SecurityEventDefinition (in case a module instantiation reports the security event). |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of your executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | The type of mapping does not match the expected type of PortInterface: SecurityEventReportInterface referenced by a SecurityEventMapping. | |
| ProcessMappingViolation | Matching InstanceRef exists, but no matching (modelled) Process found that matches the (runtime) process. | |
| Description: | Construct a new Event Reporter object. Called by the sensor for each event type using the instance specified of the event type . | |
3.1.1.2 Member Functions
3.1.1.2.1 ReportEvent(ContextDataType, const CountType)
| Kind: | function | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Scope: | ara::idsm::EventReporter | |
| Syntax: | void ReportEvent (ara::idsm::ContextDataType contextData, const ara::idsm::CountType count=1) noexcept; | |
| Parameters (in): | contextData | context data in big endian format |
| count | optional application provided number of event occurences to be reported | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new security event with sensor-provided context data at the IdsM. Please check chapter 7 for more information about context data endianess. . | |
3.1.1.2.2 ReportEvent(ContextDataType, const TimestampType, const CountType)
| Kind: | function | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Scope: | ara::idsm::EventReporter | |
| Syntax: | void ReportEvent (ara::idsm::ContextDataType contextData, const ara::idsm::TimestampType timestamp, const ara::idsm::CountType count=1) noexcept; | |
| Parameters (in): | contextData | context data in big endian format |
| timestamp | application provided timestamp | |
| count | optional application provided number of event occurences to be reported | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new security event with sensor-provided context data and with a sensor-provided timestamp at the IdsM. Please check chapter 7 for more information about context data endianess. . | |
3.1.1.2.3 ReportEvent(VersionedContextDataType, const CountType)
| Kind: | function | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Scope: | ara::idsm::EventReporter | |
| Syntax: | void ReportEvent (ara::idsm::VersionedContextDataType contextData, const ara::idsm::CountType count=1) noexcept; | |
| Parameters (in): | contextData | context data in big endian format |
| count | optional application provided number of event occurences to be reported | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new security event with sensor-provided, versioned context data at the IdsM. Please check chapter 7 for more information about context data endianess. . | |
3.1.1.2.4 ReportEvent(VersionedContextDataType, const TimestampType, const CountType)
| Kind: | function | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Scope: | ara::idsm::EventReporter | |
| Syntax: | void ReportEvent (ara::idsm::VersionedContextDataType contextData, const ara::idsm::TimestampType timestamp, const ara::idsm::CountType count=1) noexcept; | |
| Parameters (in): | contextData | context data in big endian format |
| timestamp | application provided timestamp | |
| count | optional application provided number of event occurences to be reported | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new security event with sensor-provided, versioned context data and with a sensor-provided timestamp at the IdsM. Please check chapter 7 for more information about context data endianess. . | |
3.1.1.2.5 ReportEvent(const CountType)
| Kind: | function | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Scope: | ara::idsm::EventReporter | |
| Syntax: | void ReportEvent (const ara::idsm::CountType count=1) noexcept; | |
| Parameters (in): | count | optional application provided number of event occurences to be reported |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new security event at the IdsM. . | |
3.1.1.2.6 ReportEvent(const TimestampType, const CountType)
| Kind: | function | |
| Header file: | #include "ara/idsm/event_reporter.h" | |
| Scope: | ara::idsm::EventReporter | |
| Syntax: | void ReportEvent (const ara::idsm::TimestampType timestamp, const ara::idsm::CountType count=1) noexcept; | |
| Parameters (in): | timestamp | application provided timestamp |
| count | optional application provided number of event occurences to be reported | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new security event with a sensor-provided timestamp at the IdsM. . | |
4 Header: ara/idsm/idsm_error_domain.h
4.1 Non-Member Types
4.1.1 Enumeration: IdsmErrc
| Kind: | enumeration | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | IdsmErrc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class IdsmErrc : ara::core::ErrorDomain::CodeType {...}; | |
| Values: | kUnknownEventId | = 3 |
| An unknown event ID was provided. | ||
| Description: | Defines the error codes for the ara::idsm::IdsmErrorDomain | |
4.2 Non-Member Functions
4.2.1 Other
4.2.1.1 GetIdsmErrorDomain
| Kind: | function | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | namespace ara::idsm | |
| Syntax: | constexpr const ara::core::ErrorDomain & GetIdsmErrorDomain () noexcept; | |
| Return value: | const ara::core::ErrorDomain & | Reference to the ara::idsm::IdsmErrorDomain object |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Returns a reference to the ara::idsm::IdsmErrorDomain object | |
4.2.1.2 MakeErrorCode
| Kind: | function | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | namespace ara::idsm | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode (ara::idsm::IdsmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | Error code number. |
| data | Vendor defined data associated with the error | |
| Return value: | ara::core::ErrorCode | An ara::core::ErrorCode object. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Creates an instance of ara::core::ErrorCode | |
4.3 Class: IdsmErrorDomain
| Kind: | class | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | IdsmErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class IdsmErrorDomain final : public ara::core::ErrorDomain {...}; | |
| Description: | A class representing a firewall error domain. | |
4.3.1 Public Member Types
4.3.1.1 Type Alias: Errc
| Kind: | type alias | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | ara::idsm::IdsmErrorDomain | |
| Symbol: | Errc | |
| Syntax: | using Errc = IdsmErrc; | |
| Description: | Alias for the error code value enumeration | |
4.3.1.2 Type Alias: Exception
| Kind: | type alias | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | ara::idsm::IdsmErrorDomain | |
| Symbol: | Exception | |
| Syntax: | using Exception = IdsmException; | |
| Description: | Alias for the exception base class | |
4.3.2 Public Member Functions
4.3.2.1 Special Member Functions
4.3.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | ara::idsm::IdsmErrorDomain | |
| Syntax: | IdsmErrorDomain ()=delete; | |
| Description: | Constructs a new ara::idsm::IdsmErrorDomain object | |
4.3.2.2 Member Functions
4.3.2.2.1 Message
| Kind: | function | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | ara::idsm::IdsmErrorDomain | |
| Syntax: | const char * Message (CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | The error code number. |
| Return value: | const char * | The message associated with the error code |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Returns the message associated with the error code | |
4.3.2.2.2 Name
| Kind: | function | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | ara::idsm::IdsmErrorDomain | |
| Syntax: | const char * Name () const noexcept override; | |
| Return value: | const char * | As per ara::idsm::IdsmErrorDomain in SWS_CORE_90023 |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Retrieve the name of the error domain | |
4.3.2.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | ara::idsm::IdsmErrorDomain | |
| Syntax: | void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | The error to throw. |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Throws the exception associated with the error code. As per SWS_CORE_10304, this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. | |
4.4 Class: IdsmException
| Kind: | class | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | IdsmException | |
| Base class: | ara::core::Exception | |
| Syntax: | class IdsmException : public ara::core::Exception {...}; | |
| Description: | Defines a class for exceptions to be thrown by the API. | |
4.4.1 Public Member Functions
4.4.1.1 Constructors
4.4.1.1.1 IdsmException
| Kind: | function | |
| Header file: | #include "ara/idsm/idsm_error_domain.h" | |
| Scope: | ara::idsm::IdsmException | |
| Syntax: | explicit IdsmException (ara::core::ErrorCode errorCode) noexcept; | |
| Parameters (in): | errorCode | The error code. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Constructs a new ara::idsm::IdsmException containing an ara::core::ErrorCode | |
5 Header: ara/idsm/qualified_events_receiver.h
5.1 Class: QualifiedEventsReceiver
| Kind: | class | |
| Port Interfaces: | IdsmQualifiedEventReceiverInterface | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | QualifiedEventsReceiver | |
| Syntax: | class QualifiedEventsReceiver {...}; | |
| Description: | Class for receiving qualified events from the IdsM . | |
5.1.1 Public Member Functions
5.1.1.1 Special Member Functions
5.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | QualifiedEventsReceiver (QualifiedEventsReceiver &&ra) noexcept; | |
| Parameters (in): | ra | The QualifiedEventsReceiver object to be moved. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor for QualifiedEventsReceiver. | |
5.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | QualifiedEventsReceiver (const QualifiedEventsReceiver &)=delete; | |
| Description: | The copy constructor for QualifiedEventsReceiver shall not be used. | |
5.1.1.1.3 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | ara::idsm::QualifiedEventsReceiver & operator= (ara::idsm::QualifiedEventsReceiver &&ra) noexcept; | |
| Parameters (in): | ra | The QualifiedEventsReceiver object to be moved. |
| Return value: | QualifiedEventsReceiver & | The moved QualifiedEventsReceiver object . |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Move assignment operator for QualifiedEventsReceiver. | |
5.1.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | ara::idsm::QualifiedEventsReceiver & operator= (const ara::idsm::QualifiedEventsReceiver &)=delete; | |
| Description: | The copy assignment operator for QualifiedEventsReceiver shall not be used. | |
5.1.1.1.5 Destructor
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | virtual ~QualifiedEventsReceiver () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Destructor for QualifiedEventsReceiver. | |
5.1.1.2 Constructors
5.1.1.2.1 QualifiedEventsReceiver
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | explicit QualifiedEventsReceiver (const ara::core::InstanceSpecifier &instance) noexcept; | |
| Parameters (in): | instance | instance specifier to the PPortPrototype of a IdsmQualifiedEventReceiverInterface |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of your executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | The type of mapping does not match the expected type of PortInterface: IdsmQualifiedEventReceiverInterface referenced by a IdsmQualifiedEventReceiverMapping. | |
| ProcessMappingViolation | Matching InstanceRef exists, but no matching (modelled) Process found that matches the (runtime) process. | |
| InstanceSpecifierAlreadyInUseViolation | Violation message that is sent in case a constructor in the ara framework was called with an InstanceSpecifier already in use in this process. | |
| Description: | Creation of an QualifiedEventsReceiver. | |
5.1.1.3 Member Functions
5.1.1.3.1 Offer
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | A Result, being either empty or containing an error |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Enables potential invocations of OnEventQualification by IdsM. Offer ignores repeated calls (without calling StopOffer in between). | |
5.1.1.3.2 OnEventQualification(EventIdType, ara::core::Optional<ContextDataType>, ara::core::Optional<TimestampType>)
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | virtual void OnEventQualification (ara::idsm::EventIdType event, ara::core::Optional< ara::idsm::ContextDataType > contextData, ara::core::Optional< ara::idsm::TimestampType > timestamp) noexcept=0; | |
| Parameters (in): | event | The eventId of the qualified security event |
| contextData | The optional unversioned context data of the qualified security event | |
| timestamp | The optional timestamp of the qualified security event | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | OnEventQualification is implementated by the application and invoked by IdsM on qualification of a security event with unversioned context data. The invocation needs to be enabled before by a call of QualifiedEventsReceiver::Offer. | |
5.1.1.3.3 OnEventQualification(EventIdType, ara::core::Optional<VersionedContextDataType>, ara::core::Optional<TimestampType>)
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | virtual void OnEventQualification (ara::idsm::EventIdType event, ara::core::Optional< ara::idsm::VersionedContextDataType > contextData, ara::core::Optional< ara::idsm::TimestampType > timestamp) noexcept=0; | |
| Parameters (in): | event | The eventId of the qualified security event |
| contextData | The optional versionedcontext data of the qualified security event | |
| timestamp | The optional timestamp of the qualified security event | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | OnEventQualification is implementated by the application and invoked by IdsM on qualification of a security event with versioned context data. The invocation needs to be enabled before by a call of QualifiedEventsReceiver::Offer. | |
5.1.1.3.4 StopOffer
| Kind: | function | |
| Header file: | #include "ara/idsm/qualified_events_receiver.h" | |
| Scope: | ara::idsm::QualifiedEventsReceiver | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Disables invocations of OnEventQualification. | |
6 Header: ara/idsm/reporting_mode_provider.h
6.1 Class: ReportingModeProvider
| Kind: | class | |
| Port Interfaces: | IdsmReportingModeProviderInterface | |
| Header file: | #include "ara/idsm/reporting_mode_provider.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | ReportingModeProvider | |
| Syntax: | class ReportingModeProvider final {...}; | |
| Description: | Class for providing ReportingModes to the IdsM . | |
6.1.1 Public Member Functions
6.1.1.1 Constructors
6.1.1.1.1 ReportingModeProvider
| Kind: | function | |
| Header file: | #include "ara/idsm/reporting_mode_provider.h" | |
| Scope: | ara::idsm::ReportingModeProvider | |
| Syntax: | explicit ReportingModeProvider (const ara::core::InstanceSpecifier &instance) noexcept; | |
| Parameters (in): | instance | instance specifier to the PPortPrototype of a IdsmReportingModeProviderInterface |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of your executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | The type of mapping does not match the expected type of PortInterface: IdsmReportingModeProviderInterface referenced by a IdsmReportingModeProviderMapping. | |
| ProcessMappingViolation | Matching InstanceRef exists, but no matching (modelled) Process found that matches the (runtime) process. | |
| InstanceSpecifierAlreadyInUseViolation | Violation message that is sent in case a constructor in the ara framework was called with an InstanceSpecifier already in use in this process. | |
| Description: | Creation of an ReportingModeProvider. | |
6.1.1.2 Member Functions
6.1.1.2.1 GetReportingMode
| Kind: | function | |
| Header file: | #include "ara/idsm/reporting_mode_provider.h" | |
| Scope: | ara::idsm::ReportingModeProvider | |
| Syntax: | ara::core::Result< ara::idsm::ReportingModeType > GetReportingMode (ara::idsm::EventIdType eventId) noexcept; | |
| Parameters (in): | eventId | ID of the event for which the reporting mode shall be queried. |
| Return value: | ara::core::Result< ReportingModeType > | A Result, being either the current reporting mode, or containing any of the errors defined below. |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Errors: | IdsmErrc::kUnknownEventId | rollback_semantics |
| Returned if the eventId does not identify a configured event. | ||
| Description: | Get the ReportingMode for the event identified by an Event ID. . | |
6.1.1.2.2 SetReportingMode
| Kind: | function | |
| Header file: | #include "ara/idsm/reporting_mode_provider.h" | |
| Scope: | ara::idsm::ReportingModeProvider | |
| Syntax: | ara::core::Result< void > SetReportingMode (ara::idsm::EventIdType eventId, ara::idsm::ReportingModeType reportingMode) noexcept; | |
| Parameters (in): | eventId | ID of the event for which the reporting mode shall be changed. |
| reportingMode | The reporting mode to be set. | |
| Return value: | ara::core::Result< void > | A Result, being either empty or containing any of the errors defined below. |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Errors: | IdsmErrc::kUnknownEventId | rollback_semantics |
| Returned if the eventId does not identify a configured event. | ||
| Description: | Set the ReportingMode for the event identified by an Event ID. | |
7 Header: ara/idsm/timestamp_provider.h
7.1 Class: TimestampProvider
| Kind: | class | |
| Port Interfaces: | IdsmTimestampProviderInterface | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Forwarding header file: | #include "ara/idsm/idsm_fwd.h" | |
| Scope: | namespace ara::idsm | |
| Symbol: | TimestampProvider | |
| Syntax: | class TimestampProvider {...}; | |
| Description: | Class for providing timestamps to the IdsM . | |
7.1.1 Public Member Functions
7.1.1.1 Special Member Functions
7.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | TimestampProvider (TimestampProvider &&ra) noexcept; | |
| Parameters (in): | ra | The TimestampProvider object to be moved. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor for TimestampProvider. | |
7.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | TimestampProvider (const TimestampProvider &) noexcept=delete; | |
| Description: | The copy constructor for TimestampProvider shall not be used. | |
7.1.1.1.3 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | ara::idsm::TimestampProvider & operator= (const ara::idsm::TimestampProvider &) noexcept=delete; | |
| Description: | The copy assignment operator for TimestampProvider shall not be used. | |
7.1.1.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | ara::idsm::TimestampProvider & operator= (ara::idsm::TimestampProvider &&ra) noexcept; | |
| Parameters (in): | ra | The TimestampProvider object to be moved. |
| Return value: | TimestampProvider & | The moved TimestampProvider object. |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Move assignment operator for TimestampProvider. | |
7.1.1.1.5 Destructor
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | virtual ~TimestampProvider () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Destructor for TimestampProvider. | |
7.1.1.2 Constructors
7.1.1.2.1 TimestampProvider
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | explicit TimestampProvider (const ara::core::InstanceSpecifier &instance) noexcept; | |
| Parameters (in): | instance | instance specifier to the PPortPrototype of a IdsmTimestampProviderInterface |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of your executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | The type of mapping does not match the expected type of PortInterface: IdsmTimestampProviderInterface referenced by a IdsmTimestampProviderMapping. | |
| ProcessMappingViolation | Matching InstanceRef exists, but no matching (modelled) Process found that matches the (runtime) process. | |
| InstanceSpecifierAlreadyInUseViolation | Violation message that is sent in case a constructor in the ara framework was called with an InstanceSpecifier already in use in this process. | |
| Description: | Creation of an TimestampProvider. | |
7.1.1.3 Member Functions
7.1.1.3.1 GetTimestamp
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | virtual ara::idsm::TimestampType GetTimestamp () noexcept=0; | |
| Return value: | TimestampType | The application provided Timestamp |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | GetTimestamp to be invoked by IdsM. The invocation needs to be enabled before by a call of TimestampProvider::Offer. | |
7.1.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | A Result, being either empty or containing any of the errors defined below. |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Enables potential invocations of GetTimestamp by IdsM. Offer() ignores repeated calls without calling StopOffer() in between. . | |
7.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/idsm/timestamp_provider.h" | |
| Scope: | ara::idsm::TimestampProvider | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | non_threadsafe | |
| Description: | Disables invocations of GetTimestamp. StopOffer ignores repeated calls without calling Offer() in between. . | |
See also
- Security event reporting in the runtime model: PARA Overview
- Security event configuration: SecurityEventDefinition, SecurityEventMapping