ara::diag
Overview
The Diagnostics Functional Cluster implements UDS diagnostic services, DoIP entity
control and diagnostic event handling. This page specifies the public API of the
ara::diag namespace, organized by header file in three groups: diagnostic
communication (§1–§28), DoIP (§29–§33), and diagnostic events and monitors
(§34–§45). The SOVD APIs are not covered here.
Library · Headers · Linking
- Library:
lib/libpara_diag.so - CMake:
find_package(para-diag)→para::diag - Standard headers:
include/ara/diag/ - Vendor headers:
include/para/diag/ - Runtime daemon:
bin/DM
1 Header: ara/diag/authentication.h
1.1 Class: Authentication
| Kind: | class | |
| Port Interfaces: | DiagnosticAuthenticationInterface | |
| Header file: | #include "ara/diag/authentication.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | Authentication | |
| Syntax: | class Authentication {...}; | |
| Description: | Class to implement the Service Authentication interfaces to application. | |
1.1.1 Public Member Functions
1.1.1.1 Special Member Functions
1.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | Authentication (Authentication &&) noexcept=delete; | |
| Description: | Move constructor of Authentication. | |
1.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | ara::diag::Authentication & operator= (ara::diag::Authentication &&)=delete; | |
| Description: | Move assignment operator of Authentication. | |
1.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | virtual ~Authentication () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of Authentication. | |
1.1.1.2 Constructors
1.1.1.2.1 Authentication(const InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | explicit Authentication (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticAuthenticationInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is referenced by a DiagnosticAuthenticationPortMapping needs to be typed by a DiagnosticAuthenticationInterface. | |
| 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: | Constructor of Authentication. | |
1.1.1.2.2 Authentication(Authentication&)
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | Authentication (Authentication &)=delete; | |
| Description: | Authentication shall be a single not copy-able instance. | |
1.1.1.3 Member Functions
1.1.1.3.1 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
1.1.1.3.2 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
1.1.1.3.3 VerifyCertificateBidirectional
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | virtual ara::core::Future< std::tuple< ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte > > > VerifyCertificateBidirectional (ara::core::Byte communicationConfiguration, ara::core::Span< const ara::core::Byte > clientCertificate, ara::core::Span< const ara::core::Byte > clientChallenge, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | communicationConfiguration | As defined in ISO 14229-1:2020, this parameter provides information about how to proceed with security in further diagnostic communication after the Authentication. |
| clientCertificate | The certificate that is received from the tester during Bidirectional Authentication. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| clientChallenge | As defined in ISO14229-1:2020, this parameter provides the challenge received from the tester during Bidirectional Authentication, Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< std::tuple< ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte > > > | Returns the challenge created by the application, Certificate of the server, ProofOfOwnership calculated by the server, Ephemeral Public Key of server. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | This function accepts the certificate and challenge received from the tester, verifies the certificate, and creates a challenge, Ephemeral Public Key and Proof Of Ownership that must be returned to the tester. The function also returns the server certificate that will be used by the tester to verify the Proof Of Ownership. This callback may be called re-entrant to requests from different clients. | |
1.1.1.3.4 VerifyCertificateUnidirectional
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | virtual ara::core::Future< std::tuple< ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte > > > VerifyCertificateUnidirectional (ara::core::Byte communicationConfiguration, ara::core::Span< const ara::core::Byte > clientCertificate, ara::core::Span< const ara::core::Byte > clientChallenge, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | communicationConfiguration | As defined in ISO14229-1:2020 ISO-14229-1-2020, this parameter provides information about how to proceed with security in further diagnostic communication after the Authentication. |
| clientCertificate | The certificate that is received from the tester during Unidirectional Authentication. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| clientChallenge | As defined in ISO14229-1:2020 ISO-14229-1-2020, this parameter provides the challenge received fom the tester during Unidirectional Authentication. This parameter has a dependency on the CommunicationConfiguration used. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< std::tuple< ara::core::Vector< ara::core::Byte >, ara::core::Vector< ara::core::Byte > > > | Returns challenge created by the application, Ephemeral Public Key of Server |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | This function accepts the certificate received from the tester, verifies it, and creates a challenge and ephemeral public key that must be returned to the tester. This callback may be called re-entrant to requests from different clients | |
1.1.1.3.5 VerifyOwnership
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | virtual ara::core::Future< ara::core::Vector< ara::core::Byte > > VerifyOwnership (ara::core::Span< const ara::core::Byte > clientPOWN, ara::core::Span< const ara::core::Byte > clientEphemeralPublicKey, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | clientPOWN | The Proof Of Ownership provided by the Tester to the previously exchanged Server Challenge, Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| clientEphemeralPublicKey | As defined in ISO14229-1:2020, this is the Ephemeral public key generated by the client for Diffie-Hellman key agreement, Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Vector< ara::core::Byte > > | Session Key Info or error |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | This function accepts the Proof Of Ownership received from the tester and verifies it with the Public Key of the certificate received in the verifyCertificateUnidirectional / verifyCertificateBidirectional against the server challenge created in the last call to verifyCertificateUnidirectional / verifyCertificateBidirectional. | |
1.1.1.3.6 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/authentication.h" | |
| Scope: | ara::diag::Authentication | |
| Syntax: | ara::diag::Authentication & operator= (ara::diag::Authentication &)=delete; | |
| Description: | Authentication shall be a single not assignable instance. | |
2 Header: ara/diag/cancellation_handler.h
2.1 Class: CancellationHandler
| Kind: | class | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | CancellationHandler | |
| Syntax: | class CancellationHandler final {...}; | |
| Description: | CancellationHandler contains a shared state if the processing should be cancelled. | |
2.1.1 Public Member Types
2.1.1.1 Type Alias: CancellationHandlerSetNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Symbol: | CancellationHandlerSetNotifier | |
| Syntax: | using CancellationHandlerSetNotifier = std::function<void(void)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Notifier function which is called if the diagnostic service execution is cancelled in DM. | |
2.1.2 Public Member Functions
2.1.2.1 Special Member Functions
2.1.2.1.1 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Syntax: | CancellationHandler (const CancellationHandler &)=delete; | |
| Description: | CancellationHandler shall be a single not copy-able instance. | |
2.1.2.1.2 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Syntax: | CancellationHandler ()=delete; | |
| Description: | CancellationHandler shall not be constructable by applications but the DM core only. | |
2.1.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Syntax: | CancellationHandler (CancellationHandler &&other) noexcept=default; | |
| Parameters (in): | other | Object to move-construct from. |
| Exception Safety: | exception safe | |
| Description: | Move constructor of CancellationHandler. | |
2.1.2.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Syntax: | ara::diag::CancellationHandler & operator= (ara::diag::CancellationHandler &&other) noexcept=default; | |
| Parameters (in): | other | Object to move-assign from |
| Return value: | CancellationHandler & | CancellationHandler & Reference to self. |
| Exception Safety: | exception safe | |
| Description: | Move assignment operator of CancellationHandler. | |
2.1.2.2 Member Functions
2.1.2.2.1 IsCanceled
| Kind: | function | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Syntax: | bool IsCanceled () const noexcept; | |
| Return value: | bool | bool Returns true, if the diagnostic service execution is cancelled in DM. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Reports whether the diagnostic service execution is cancelled in DM. | |
2.1.2.2.2 SetNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Syntax: | void SetNotifier (ara::diag::CancellationHandler::CancellationHandlerSetNotifier notifier) noexcept; | |
| Parameters (in): | notifier | Notification function that is called upon diagnostic service execution is cancelled in DM. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Registering a notifier function which is called if the diagnostic service execution is cancelled in DM. A consecutive call of this method will overwrite the previous registered notifier. | |
2.1.2.2.3 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/cancellation_handler.h" | |
| Scope: | ara::diag::CancellationHandler | |
| Syntax: | ara::diag::CancellationHandler & operator= (ara::diag::CancellationHandler &)=delete; | |
| Description: | CancellationHandler shall be a single not assignable instance. | |
3 Header: ara/diag/client_authentication.h
3.1 Class: ClientAuthentication
| Kind: | class | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ClientAuthentication | |
| Syntax: | class ClientAuthentication final {...}; | |
| Description: | Interface for the application to inform the Diagnostic Server instance about the authentication states and the user roles that are currently authenticated. | |
3.1.1 Public Member Types
3.1.1.1 Type Alias: ClientAuthenticationSetNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Symbol: | ClientAuthenticationSetNotifier | |
| Syntax: | using ClientAuthenticationSetNotifier = std::function<void(DiagnosticAuthState)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Notifier Function that is called by the Diagnostic Server instance when an Authentication Status Change Occurs. This may be used, for e.g, to notify the application when a transition to ara::diag::ClientAuthentication::DiagnosticAuthState.kDeAuthenticated State occurred due to an S3 timeout. | |
3.1.1.2 Type Alias: DiagnosticAuthRole
| Kind: | type alias | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Symbol: | DiagnosticAuthRole | |
| Syntax: | using DiagnosticAuthRole = ara::core::String; | |
| Description: | The supported values for the Diagnostic Authentication roles are specified in the Diagnostic Extract. | |
3.1.1.3 Enumeration: DiagnosticAuthState
| Kind: | enumeration | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Symbol: | DiagnosticAuthState | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class DiagnosticAuthState : std::uint8_t {...}; | |
| Values: | kDeAuthenticated | = 0x00 |
| No Diagnostic Clients are currently authenticated. | ||
| kAuthenticated | = 0x01 | |
| A Diagnostic Client is currently authenticated. | ||
| Description: | Possible values of the Authentication State of the client. | |
3.1.2 Public Member Functions
3.1.2.1 Special Member Functions
3.1.2.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | ClientAuthentication (ClientAuthentication &&other) noexcept=default; | |
| Parameters (in): | other | Object to move-construct from |
| Exception Safety: | exception safe | |
| Description: | Move constructor of ClientAuthentication. | |
3.1.2.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | ~ClientAuthentication () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of ClientAuthentication. | |
3.1.2.2 Constructors
3.1.2.2.1 ClientAuthentication
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | ClientAuthentication (ClientAuthentication const &other)=delete; | |
| Description: | Copy constructor of ClientAuthentication cannot be used. | |
3.1.2.3 Member Functions
3.1.2.3.1 Authenticate
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | ara::core::Result< ara::diag::ClientAuthenticationHandle > Authenticate (ara::core::Vector< ara::diag::ClientAuthentication::DiagnosticAuthRole > userRoles) noexcept; | |
| Parameters (in): | userRoles | The user roles to set on the diagnostic client |
| Return value: | ara::core::Result< ClientAuthenticationHandle > | A handler of the Authentication State, which can be used by the application to set or extend the DynamicAccessList |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to report the authenticated state to the Diagnostic Server instance. The authentication could be either done using the Authentication interfaces of the Diagnostic Server instance, or through other means in the application. | |
3.1.2.3.2 GetState
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | ara::core::Result< ara::diag::ClientAuthentication::DiagnosticAuthState > GetState () const noexcept; | |
| Return value: | ara::core::Result< DiagnosticAuthState > | The Authentication State of the Diagnostic Client or error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to query the current authentication state of the diagnostic client. | |
3.1.2.3.3 OverrideDefaultRoles
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | ara::core::Result< ara::diag::ClientAuthenticationHandle > OverrideDefaultRoles (ara::core::Vector< ara::diag::ClientAuthentication::DiagnosticAuthRole > defaultRoles, std::chrono::milliseconds timeout) noexcept; | |
| Parameters (in): | defaultRoles | The default roles requested by the application, to be set on the diagnostic client |
| timeout | The timeout until which the override request is active | |
| Return value: | ara::core::Result< ClientAuthenticationHandle > | Operation result |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This method is used by the application to temporarily change the default AuthenticationRole for a Diagnostic Server Instance. The diagnostic services allowed in the passed defaultRoles are now accessible to the tester for a time period defined in the parameter timeout. | |
3.1.2.3.4 SetNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | ara::core::Result< void > SetNotifier (ara::diag::ClientAuthentication::ClientAuthenticationSetNotifier notifier) noexcept; | |
| Parameters (in): | notifier | The notifier to call on state transition |
| Return value: | ara::core::Result< void > | Returns void. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | This function is used by the application to set a Notifier function that shall be called by the Diagnostic Server instance when an Authentication Status Change occurs. This may be used, e.g, to notify the application when a transition to ara::diag::ClientAuthentication::DiagnosticAuthState.kDeAuthenticated state occurred due to an S3 timeout. A consecutive call of this method will overwrite the previous registered notifier. | |
3.1.2.3.5 operator=(ClientAuthentication&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | auto operator= (ara::diag::ClientAuthentication &&other) & noexcept -> ara::diag::ClientAuthentication & =default; | |
| Parameters (in): | other | Object to move-assign from. |
| Return value: | ClientAuthentication | ClientAuthentication& Reference to self. |
| Exception Safety: | exception safe | |
| Description: | Move assignment operator of ClientAuthentication. | |
3.1.2.3.6 operator=(ClientAuthentication const&)
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication.h" | |
| Scope: | ara::diag::ClientAuthentication | |
| Syntax: | auto operator= (ara::diag::ClientAuthentication const &other) -> ara::diag::ClientAuthentication &=delete; | |
| Description: | Copy assignment operator of ClientAuthentication cannot be used. | |
4 Header: ara/diag/client_authentication_handle.h
4.1 Class: ClientAuthenticationHandle
| Kind: | class | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ClientAuthenticationHandle | |
| Syntax: | class ClientAuthenticationHandle final {...}; | |
| Description: | Definition of the ClientAuthenticationHandle which is returned to the application when an AuthenticationState is set by the application. | |
4.1.1 Public Member Functions
4.1.1.1 Special Member Functions
4.1.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ClientAuthenticationHandle () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Constructor of ClientAuthenticationHandle. | |
4.1.1.1.2 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ClientAuthenticationHandle (ClientAuthenticationHandle &&other) noexcept=default; | |
| Parameters (in): | other | Object to move-construct from |
| Exception Safety: | exception safe | |
| Description: | Move constructor of ClientAuthenticationHandle. | |
4.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ~ClientAuthenticationHandle () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of ClientAuthenticationHandle. | |
4.1.1.2 Constructors
4.1.1.2.1 ClientAuthenticationHandle
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ClientAuthenticationHandle (ClientAuthenticationHandle const &other)=delete; | |
| Description: | Copy constructor of ClientAuthenticationHandle cannot be used. | |
4.1.1.3 Member Functions
4.1.1.3.1 Append
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ara::core::Result< void > Append (ara::diag::DiagnosticServiceDynamicAccessList dynamicAccessList) noexcept; | |
| Parameters (in): | dynamicAccessList | The DynamicAccessList to be appended in the client. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to append a DynamicAccessList to the already existing DynamicAccessList of a Diagnostic Conversation. | |
4.1.1.3.2 Refresh
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ara::core::Result< void > Refresh () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to refresh the timer that was started by SWS_DM_01142.ara::diag::ClientAuthentication::Authenticate or SWS_DM_01141.ara::diag::ClientAuthentication::OverrideDefaultRoles. If both Methods were previously called, both timers are refreshed. | |
4.1.1.3.3 Revoke
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ara::core::Result< void > Revoke () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to de-authenticate a client, and also to clear the DynamicAccessList and any overridden defaults. | |
4.1.1.3.4 Set
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | ara::core::Result< void > Set (ara::diag::DiagnosticServiceDynamicAccessList dynamicAccessList) noexcept; | |
| Parameters (in): | dynamicAccessList | The new DynamicAccessList to be set in the client. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to set/replace a DynamicAccessList of a Diagnostic Conversation. | |
4.1.1.3.5 operator=(ClientAuthenticationHandle&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | auto operator= (ara::diag::ClientAuthenticationHandle &&other) & noexcept -> ara::diag::ClientAuthenticationHandle & =default; | |
| Parameters (in): | other | Object to move-assign from. |
| Return value: | ClientAuthenticationHandle | ClientAuthenticationHandle& Reference to self. |
| Exception Safety: | exception safe | |
| Description: | Move assignment operator of ClientAuthenticationHandle. | |
4.1.1.3.6 operator=(ClientAuthenticationHandle const&)
| Kind: | function | |
| Header file: | #include "ara/diag/client_authentication_handle.h" | |
| Scope: | ara::diag::ClientAuthenticationHandle | |
| Syntax: | auto operator= (ara::diag::ClientAuthenticationHandle const &other) -> ara::diag::ClientAuthenticationHandle &=delete; | |
| Description: | Copy assignment operator of CancellationHandler cannot be used. | |
5 Header: ara/diag/communication_control.h
5.1 Class: CommunicationControl
| Kind: | class | |
| Port Interfaces: | DiagnosticComControlInterface | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | CommunicationControl | |
| Syntax: | class CommunicationControl {...}; | |
| Description: | 0x28 CommunicationControl interface | |
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/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | CommunicationControl (CommunicationControl &&) noexcept=delete; | |
| Description: | Move constructor of CommunicationControl. | |
5.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | ara::diag::CommunicationControl & operator= (ara::diag::CommunicationControl &&)=delete; | |
| Description: | Move assignment operator of CommunicationControl. | |
5.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | virtual ~CommunicationControl () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class CommunicationControl. | |
5.1.1.2 Constructors
5.1.1.2.1 CommunicationControl(const InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | explicit CommunicationControl (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticComControlInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent).. | |
| 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 | A PortPrototype that is typed by a DiagnosticComControlInterface needs to be referenced by a DiagnosticServiceGenericMapping. | |
| 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: | Constructor of CommunicationControl. | |
5.1.1.2.2 CommunicationControl(CommunicationControl&)
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | CommunicationControl (CommunicationControl &)=delete; | |
| Description: | CommunicationControl shall be a single not copy-able instance. | |
5.1.1.3 Member Functions
5.1.1.3.1 CommCtrlRequest
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | virtual ara::core::Future< void > CommCtrlRequest (ara::diag::CommunicationControl::ComCtrlRequestParamsType controlType, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | controlType | All UDS request parameters packed into a structure since it holds optional elements |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for CommunicationControl (0x28) with any subfunction as subfunction value is part of the argument list. | |
5.1.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
5.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
5.1.1.3.4 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Syntax: | ara::diag::CommunicationControl & operator= (ara::diag::CommunicationControl &)=delete; | |
| Description: | CommunicationControl shall be a single not assignable instance. | |
5.2 Struct: ComCtrlRequestParamsType
| Kind: | struct | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::CommunicationControl | |
| Symbol: | ComCtrlRequestParamsType | |
| Syntax: | struct ComCtrlRequestParamsType {...}; | |
| Description: | ComCtrlRequestParamsType is a structure, which holds all parameters of an UDS 0x28 communicationControl request. | |
5.2.1 Public Member Variables
5.2.1.1 communicationType
| Kind: | variable | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl::ComCtrlRequestParamsType | |
| Symbol: | communicationType | |
| Type: | std::uint8_t | |
| Syntax: | std::uint8_t communicationType; | |
| Description: | CommunicationType from UDS request. | |
5.2.1.2 controlType
| Kind: | variable | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl::ComCtrlRequestParamsType | |
| Symbol: | controlType | |
| Type: | std::uint8_t | |
| Syntax: | std::uint8_t controlType; | |
| Description: | ControlType from UDS request. | |
5.2.1.3 nodeIdentificationNumber
| Kind: | variable | |
| Header file: | #include "ara/diag/communication_control.h" | |
| Scope: | ara::diag::CommunicationControl::ComCtrlRequestParamsType | |
| Symbol: | nodeIdentificationNumber | |
| Type: | std::uint16_t | |
| Syntax: | std::uint16_t nodeIdentificationNumber; | |
| Description: | Node identifier to which the request is addressed to. | |
6 Header: ara/diag/concurrency.h
6.1 Non-Member Types
6.1.1 Enumeration: ConcurrencyType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/concurrency.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ConcurrencyType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ConcurrencyType : std::uint8_t {...}; | |
| Values: | kConcurrent | = 0x00 |
| API allows concurrent access (thread-safe) | ||
| kNotConcurrent | = 0x01 | |
| Concurrent access not allowed (not thread-safe) | ||
| Description: | Specifies the Concurrency types. | |
6.2 Struct: DataIdentifierConcurrencyType
| Kind: | struct | |
| Header file: | #include "ara/diag/concurrency.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataIdentifierConcurrencyType | |
| Syntax: | struct DataIdentifierConcurrencyType {...}; | |
| Description: | Specifies the Concurrency type of a DataIdentifier related port. | |
6.2.1 Public Member Variables
6.2.1.1 read
| Kind: | variable | |
| Header file: | #include "ara/diag/concurrency.h" | |
| Scope: | ara::diag::DataIdentifierConcurrencyType | |
| Symbol: | read | |
| Type: | ConcurrencyType | |
| Syntax: | ConcurrencyType read {ConcurrencyType::kNotConcurrent}; | |
| Description: | Concurrency type for Reads. | |
6.2.1.2 readWrite
| Kind: | variable | |
| Header file: | #include "ara/diag/concurrency.h" | |
| Scope: | ara::diag::DataIdentifierConcurrencyType | |
| Symbol: | readWrite | |
| Type: | ConcurrencyType | |
| Syntax: | ConcurrencyType readWrite {ConcurrencyType::kNotConcurrent}; | |
| Description: | Concurrency type for calling Read and Write methods in a concurrent way. If set to ara::diag::ConcurrencyType.kConcurrent the DM can call Read and Write APIs concurrently. | |
6.2.1.3 write
| Kind: | variable | |
| Header file: | #include "ara/diag/concurrency.h" | |
| Scope: | ara::diag::DataIdentifierConcurrencyType | |
| Symbol: | write | |
| Type: | ConcurrencyType | |
| Syntax: | ConcurrencyType write {ConcurrencyType::kNotConcurrent}; | |
| Description: | Concurrency type for Writes. | |
7 Header: ara/diag/conversation.h
7.1 Non-Member Types
7.1.1 Enumeration: ActivityStatusType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/conversation.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ActivityStatusType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ActivityStatusType : std::uint8_t {...}; | |
| Values: | kActive | = 0x00 |
| Currently active; i.e. request is currently processed or non-default session is active. | ||
| kInactive | = 0x01 | |
| Currently not active. | ||
| Description: | Type for current activity status. | |
7.1.2 Type Alias: SecurityLevelType
| Kind: | type alias | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | SecurityLevelType | |
| Syntax: | using SecurityLevelType = std::uint8_t; | |
| Description: | Type for the active security level. . | |
7.1.3 Type Alias: SessionControlType
| Kind: | type alias | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | SessionControlType | |
| Syntax: | using SessionControlType = std::uint8_t; | |
| Description: | Type for the active diagnostic session. . | |
7.2 Global Variables
7.2.1 kDefaultSession
| Kind: | variable | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kDefaultSession | |
| Type: | SessionControlType | |
| Syntax: | constexpr SessionControlType kDefaultSession = 0x01; | |
| Description: | Default session according to IS0 14229-1. | |
7.2.2 kExtendedDiagnosticSession
| Kind: | variable | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kExtendedDiagnosticSession | |
| Type: | SessionControlType | |
| Syntax: | constexpr SessionControlType kExtendedDiagnosticSession = 0x03; | |
| Description: | Extended diagnostic session according to IS0 14229-1. | |
7.2.3 kLocked
| Kind: | variable | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kLocked | |
| Type: | SecurityLevelType | |
| Syntax: | constexpr SecurityLevelType kLocked = 0x00; | |
| Description: | Security level locked. | |
7.2.4 kProgrammingSession
| Kind: | variable | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kProgrammingSession | |
| Type: | SessionControlType | |
| Syntax: | constexpr SessionControlType kProgrammingSession = 0x02; | |
| Description: | Programming session according to IS0 14229-1. | |
7.2.5 kSafetySystemDiagnosticSession
| Kind: | variable | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kSafetySystemDiagnosticSession | |
| Type: | SessionControlType | |
| Syntax: | constexpr SessionControlType kSafetySystemDiagnosticSession = 0x04; | |
| Description: | Safety system diagnostic session according to IS0 14229-1. | |
7.3 Class: Conversation
| Kind: | class | |
| Header file: | #include "ara/diag/conversation.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | Conversation | |
| Syntax: | class Conversation final {...}; | |
| Description: | Conversation interface. | |
7.3.1 Public Member Types
7.3.1.1 Type Alias: ActivityStatusTypeNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Symbol: | ActivityStatusTypeNotifier | |
| Syntax: | using ActivityStatusTypeNotifier = std::function<void(ActivityStatusType)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if the activity is changed. | |
7.3.1.2 Type Alias: SecurityLevelTypeNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Symbol: | SecurityLevelTypeNotifier | |
| Syntax: | using SecurityLevelTypeNotifier = std::function<void(SecurityLevelType)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if the SecurityLevel is changed. | |
7.3.1.3 Type Alias: SessionControlTypeNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Symbol: | SessionControlTypeNotifier | |
| Syntax: | using SessionControlTypeNotifier = std::function<void(SessionControlType)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if the Session is changed. | |
7.3.2 Public Member Functions
7.3.2.1 Special Member Functions
7.3.2.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | Conversation (Conversation &&)=delete; | |
| Description: | Move constructor of conversation is deleted. | |
7.3.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | Conversation (const Conversation &)=delete; | |
| Description: | Copy constructor of conversation is deleted. | |
7.3.2.1.3 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::diag::Conversation & operator= (const ara::diag::Conversation &)=delete; | |
| Description: | Copy assignment operator of conversation is deleted. | |
7.3.2.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::diag::Conversation & operator= (ara::diag::Conversation &&)=delete; | |
| Description: | Move assignment operator of conversation is deleted. | |
7.3.2.2 Member Functions
7.3.2.2.1 GetActivityStatus
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< ara::diag::ActivityStatusType > GetActivityStatus () noexcept; | |
| Return value: | ara::core::Result< ActivityStatusType > | the activity status of the conversation |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Represents the status of an active conversation. | |
7.3.2.2.2 GetAllConversations
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | static ara::core::Vector< std::reference_wrapper< ara::diag::Conversation > > GetAllConversations () noexcept; | |
| Return value: | ara::core::Vector< std::reference_wrapper< Conversation > > | A Vector of all possible Conversation objects |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Get all possible conversations. | |
7.3.2.2.3 GetConversation
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | static ara::core::Result< ara::diag::Conversation & > GetConversation (const ara::diag::MetaInfo &metaInfo) noexcept; | |
| Parameters (in): | metaInfo | MetaInfo of the request. |
| Return value: | ara::core::Result< Conversation & > | Conversation object or error |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Get one conversation based on given MetaInfo. | |
7.3.2.2.4 GetConversationIdentifier
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< ara::diag::Conversation::ConversationIdentifierType > GetConversationIdentifier () noexcept; | |
| Return value: | ara::core::Result< ConversationIdentifierType > | Returns the conversation information |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Getter for the current identification properties of the active conversation. | |
7.3.2.2.5 GetCurrentActiveConversations
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | static ara::core::Vector< std::reference_wrapper< ara::diag::Conversation > > GetCurrentActiveConversations () noexcept; | |
| Return value: | ara::core::Vector< std::reference_wrapper< Conversation > > | A Vector of all currently active (GetActivityStatus() == ara::diag::ActivityStatusType.kActive) Conversation objects. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Get all currently active conversations. | |
7.3.2.2.6 GetDiagnosticSecurityLevel
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< ara::diag::SecurityLevelType > GetDiagnosticSecurityLevel () noexcept; | |
| Return value: | ara::core::Result< SecurityLevelType > | Returns the current SecurityLevel |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Represents the current active diagnostic SecurityLevel of an active conversation. | |
7.3.2.2.7 GetDiagnosticSecurityLevelShortName
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< ara::core::StringView > GetDiagnosticSecurityLevelShortName (ara::diag::SecurityLevelType securityLevel) noexcept; | |
| Parameters (in): | securityLevel | Security level enum the shortname shall be returned for. |
| Return value: | ara::core::Result< ara::core::StringView > | ara::core::Result<ara::core::StringView> the SecurityLevel as shortName; DiagnosticSecurityLevel.Referrable.shortName. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Converts the given diagnostic SecurityLevel into the ShortName. | |
7.3.2.2.8 GetDiagnosticSession
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< ara::diag::SessionControlType > GetDiagnosticSession () noexcept; | |
| Return value: | ara::core::Result< SessionControlType > | the current session |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Represents the current active diagnostic session of an active conversation. | |
7.3.2.2.9 GetDiagnosticSessionShortName
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< ara::core::StringView > GetDiagnosticSessionShortName (ara::diag::SessionControlType session) noexcept; | |
| Parameters (in): | session | Diagnostic session the shortname shall be returned for. |
| Return value: | ara::core::Result< ara::core::StringView > | ara::core::Result<ara::core::StringView> the session as shortName; DiagnosticSession.Referrable.shortName. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Converts the given diagnostic session into the ShortName. | |
7.3.2.2.10 ResetToDefaultSession
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< void > ResetToDefaultSession () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Method to reset the current session to default session. | |
7.3.2.2.11 SetActivityNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< void > SetActivityNotifier (ara::diag::Conversation::ActivityStatusTypeNotifier notifier) noexcept; | |
| Parameters (in): | notifier | notifier function to be called |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Register a notifier function which is called if the activity is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
7.3.2.2.12 SetDiagnosticSessionNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< void > SetDiagnosticSessionNotifier (ara::diag::Conversation::SessionControlTypeNotifier notifier) noexcept; | |
| Parameters (in): | notifier | notifier function to be called |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Register a notifier function which is called if the Session is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
7.3.2.2.13 SetSecurityLevelNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/conversation.h" | |
| Scope: | ara::diag::Conversation | |
| Syntax: | ara::core::Result< void > SetSecurityLevelNotifier (ara::diag::Conversation::SecurityLevelTypeNotifier notifier) noexcept; | |
| Parameters (in): | notifier | notifier function to be called |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Register a notifier function which is called if the SecurityLevel is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
7.4 Struct: ConversationIdentifierType
| Kind: | struct | |
| Header file: | #include "ara/diag/conversation.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::Conversation | |
| Symbol: | ConversationIdentifierType | |
| Syntax: | struct ConversationIdentifierType {...}; | |
| Description: | Properties allowing an identification of the conversation. | |
8 Header: ara/diag/data_transfer.h
8.1 Non-Member Types
8.1.1 Enumeration: DataTransferExitType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataTransferExitType | |
| Underlying type: | ara::core::Byte | |
| Syntax: | enum class DataTransferExitType : ara::core::Byte {...}; | |
| Values: | kkAcknowledge | The file transfer finished. |
| kAbort | The file transfer has been aborted. | |
| Description: | Determines transfer exit signal type. | |
8.2 Class: DataTransferReadByPullHandler
| Kind: | class | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataTransferReadByPullHandler | |
| Syntax: | class DataTransferReadByPullHandler {...}; | |
| Description: | Handles data transfers initiated by RequestReadFile/-Directory with data pulled by AraDiag from the implementation. | |
8.2.1 Public Member Functions
8.2.1.1 Special Member Functions
8.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | DataTransferReadByPullHandler (DataTransferReadByPullHandler &&other) noexcept=default; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Description: | Move constructs an instance of this class. | |
8.2.1.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | virtual ~DataTransferReadByPullHandler () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called. | |
8.2.1.2 Constructors
8.2.1.2.1 DataTransferReadByPullHandler
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | DataTransferReadByPullHandler (DataTransferReadByPullHandler const &)=delete; | |
| Description: | Handlers shall not be copyable since only one way usage i.e. per single file transfer session. | |
8.2.1.3 Member Functions
8.2.1.3.1 ExitRead
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | virtual auto ExitRead (ara::diag::DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_record, MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0; | |
| Parameters (in): | exit_type | Specifies the exit reason |
| transfer_request_parameter_record | This parameter record contains parameter(s), which are required by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| meta_info | MetaInfo of the request. | |
| cancellation_handler | This parameter is used to • Query the current cancellation status by calling cancellation_handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.SetNotifier(). The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Vector< ara::core::Byte > > | A Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with UDS ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.response_data will be placed after SID as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Exits an ongoing data transfer session. | |
8.2.1.3.2 Read
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | virtual auto Read (ara::core::Span< const ara::core::Byte > response_data, MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept -> ara::core::Future< std::uint32_t >=0; | |
| Parameters (in): | response_data | The view over a pre-allocated by AraDiag memory to write in this data chunk. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| meta_info | MetaInfo of the request. | |
| cancellation_handler | This parameter is used to • Query the current cancellation status by calling cancellation_handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.SetNotifier(). The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< std::uint32_t > | A Future, which either gets readied to actual amount of data provided in the Span (for a positive response message) or readied with UDS ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in response_data will be placed after blockSequenceCounter as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and copied into the provided by ara::diag Span with up to the requested Span size. | |
8.2.1.3.3 operator=(DataTransferReadByPullHandler&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferReadByPullHandler &&other) & noexcept -> ara::diag::DataTransferReadByPullHandler & =default; | |
| Parameters (out): | other | The other object |
| Return value: | DataTransferReadByPullHandler | Reference to self |
| Exception Safety: | exception safe | |
| Description: | Move assigns an instance of this class. | |
8.2.1.3.4 operator=(DataTransferReadByPullHandler const&)
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferReadByPullHandler const &) -> ara::diag::DataTransferReadByPullHandler &=delete; | |
| Description: | Handlers shall not be copy-able since only one way usage i.e. per single file transfer session. | |
8.2.2 Protected Member Functions
8.2.2.1 Special Member Functions
8.2.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPullHandler | |
| Syntax: | DataTransferReadByPullHandler () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Constructs an instance of this class. | |
| Visibility: | protected | |
8.3 Class: DataTransferReadByPushHandler
| Kind: | class | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataTransferReadByPushHandler | |
| Syntax: | class DataTransferReadByPushHandler {...}; | |
| Description: | Handles data transfers initiated by RequestReadFile/-Directory with data pushed by the implementation. | |
8.3.1 Public Member Functions
8.3.1.1 Special Member Functions
8.3.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | DataTransferReadByPushHandler (DataTransferReadByPushHandler &&other) noexcept=default; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Description: | Move constructs an instance of this class. | |
8.3.1.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | virtual ~DataTransferReadByPushHandler () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called | |
8.3.1.2 Constructors
8.3.1.2.1 DataTransferReadByPushHandler
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | DataTransferReadByPushHandler (DataTransferReadByPushHandler const &)=delete; | |
| Description: | Handlers shall not be copy-able since only one way usage i.e. per single file transfer session. | |
8.3.1.3 Member Functions
8.3.1.3.1 ExitRead
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | virtual auto ExitRead (ara::diag::DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_record, MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0; | |
| Parameters (in): | exit_type | Specifies the exit reason |
| transfer_request_parameter_record | This parameter record contains parameter(s), which are required by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| meta_info | MetaInfo of the request. | |
| cancellation_handler | This parameter is used to • Query the current cancellation status by calling cancellation_handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.SetNotifier(). The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Vector< ara::core::Byte > > | A Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with UDS ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.response_data will be placed after SID as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Exits an ongoing data transfer session. | |
8.3.1.3.2 Read
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | virtual auto Read (std::size_t recommended_number_bytes_to_return, MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0; | |
| Parameters (in): | recommended_number_bytes_to_return | The recommended number of bytes to send back to DM in order to get optimum data throughput. |
| meta_info | MetaInfo of the request. | |
| cancellation_handler | This parameter is used to • Query the current cancellation status by calling cancellation_handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.SetNotifier(). The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Vector< ara::core::Byte > > | A Future, which either gets readied to ReadPushOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for a negative response message). Data in ReadPushOutput.responseData will be placed after blockSequenceCounter as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and its ownership is passed as a result to ara::diag. | |
8.3.1.3.3 operator=(DataTransferReadByPushHandler&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferReadByPushHandler &&other) & noexcept -> ara::diag::DataTransferReadByPushHandler & =default; | |
| Parameters (out): | other | The other object |
| Return value: | DataTransferReadByPushHandler | Reference to self |
| Exception Safety: | exception safe | |
| Description: | Move assigns an instance of this class. | |
8.3.1.3.4 operator=(DataTransferReadByPushHandler const&)
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferReadByPushHandler const &) -> ara::diag::DataTransferReadByPushHandler &=delete; | |
| Description: | Handlers shall not be assignable since only one way usage i.e. per single file transfer session. | |
8.3.2 Protected Member Functions
8.3.2.1 Special Member Functions
8.3.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadByPushHandler | |
| Syntax: | DataTransferReadByPushHandler () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Constructs an instance of this class. | |
| Visibility: | protected | |
8.4 Class: DataTransferReadSession
| Kind: | class | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataTransferReadSession | |
| Syntax: | class DataTransferReadSession final {...}; | |
| Description: | Encapsulates all data transfer reading variants. | |
8.4.1 Public Member Functions
8.4.1.1 Special Member Functions
8.4.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSession | |
| Syntax: | DataTransferReadSession ()=delete; | |
| Description: | No default construction allowed. | |
8.4.1.1.2 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSession | |
| Syntax: | DataTransferReadSession (DataTransferReadSession &&other) noexcept=default; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Description: | Move constructs an instance of this class. | |
8.4.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSession | |
| Syntax: | ~DataTransferReadSession () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Destructs an instance of this class. | |
8.4.1.2 Constructors
8.4.1.2.1 DataTransferReadSession
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSession | |
| Syntax: | DataTransferReadSession (DataTransferReadSession const &)=delete; | |
| Description: | DataTransferReadSession shall be a single not copy-able instance. | |
8.4.1.3 Member Functions
8.4.1.3.1 operator=(DataTransferReadSession const&)
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSession | |
| Syntax: | auto operator= (ara::diag::DataTransferReadSession const &) -> ara::diag::DataTransferReadSession &=delete; | |
| Description: | DataTransferReadSession shall be a single not assign-able instance. | |
8.4.1.3.2 operator=(DataTransferReadSession&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSession | |
| Syntax: | auto operator= (ara::diag::DataTransferReadSession &&other) & noexcept -> ara::diag::DataTransferReadSession & =default; | |
| Parameters (out): | other | The other object |
| Return value: | DataTransferReadSession | Reference to self |
| Exception Safety: | exception safe | |
| Description: | Move assigns an instance of this class. | |
8.5 Class: DataTransferReadSharedDataHandler
| Kind: | class | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataTransferReadSharedDataHandler | |
| Syntax: | class DataTransferReadSharedDataHandler {...}; | |
| Description: | Handles data transfers initiated by RequestReadFile/-Directory with shared data from the implementation. | |
8.5.1 Public Member Functions
8.5.1.1 Special Member Functions
8.5.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | DataTransferReadSharedDataHandler () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Constructs an instance of this class. | |
8.5.1.1.2 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler &&other) noexcept=default; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Description: | Move constructs an instance of this class. | |
8.5.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | virtual ~DataTransferReadSharedDataHandler () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called. | |
8.5.1.2 Constructors
8.5.1.2.1 DataTransferReadSharedDataHandler
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler const &)=delete; | |
| Description: | Handlers shall not be copy-able since only one way usage i.e. per single file transfer session. | |
8.5.1.3 Member Functions
8.5.1.3.1 ExitRead
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | virtual auto ExitRead (ara::diag::DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_record, MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0; | |
| Parameters (in): | exit_type | Specifies the exit reason |
| transfer_request_parameter_record | This parameter record contains parameter(s), which are required by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| meta_info | contains additional meta information of the request. | |
| cancellation_handler | This parameter is used to • Query the current cancellation status by calling cancellation_handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.SetNotifier(). The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Vector< ara::core::Byte > > | Returns a Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.response_data will be placed after SID as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Exits an ongoing data transfer session. | |
8.5.1.3.2 Read
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | virtual auto Read (ara::diag::ReleaseHandler release_handler, MetaInfo const &meta_info, ara::diag::CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Span< ara::core::Byte > >=0; | |
| Parameters (in): | release_handler | The release shared resource handler to be stored and used by the application until a new one is passed for the same meta_info (UDS client). |
| meta_info | Contains additional meta information. | |
| cancellation_handler | This parameter is used to • Query the current cancellation status by calling cancellation_handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.SetNotifier(). The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Span< ara::core::Byte > > | Returns a Future, which either gets readied to ReadSharedOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in ReleaseSharedHandler.responseData will be placed after the blockSequenceCounter as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Provides the whole data to be read out from the application in form of a shared data view. The whole file/directory info content to be sent back to the UDS client will be allocated by the application and its shared ownership (view over the memory location) is passed as a result to AraDiag. The allocated memory must be kept until the ReleaseHandler's notifier is invoked or the status polled, signalling that the memory, addressed by the Span now can safely be released. | |
8.5.1.3.3 operator=(DataTransferReadSharedDataHandler&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferReadSharedDataHandler &&other) & noexcept -> ara::diag::DataTransferReadSharedDataHandler & =default; | |
| Parameters (out): | other | The other object |
| Return value: | DataTransferReadSharedDataHandler | Reference to self |
| Exception Safety: | exception safe | |
| Description: | Move assigns an instance of this class. | |
8.5.1.3.4 operator=(DataTransferReadSharedDataHandler const&)
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferReadSharedDataHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferReadSharedDataHandler const &) -> ara::diag::DataTransferReadSharedDataHandler &=delete; | |
| Description: | Handlers shall not be copy-able since only one way usage i.e. per single file transfer session. | |
8.6 Class: DataTransferWriteHandler
| Kind: | class | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataTransferWriteHandler | |
| Syntax: | class DataTransferWriteHandler {...}; | |
| Description: | Handles data transfers initiated by AddFile, ResumeFile or ReplaceFile ModeOfOperation handling per requested RequestWriteFile. | |
8.6.1 Public Member Functions
8.6.1.1 Special Member Functions
8.6.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | DataTransferWriteHandler (DataTransferWriteHandler &&other) noexcept=default; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Description: | Move constructs an instance of this class. | |
8.6.1.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | virtual ~DataTransferWriteHandler () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructs an instance of this class. An instance of this class must not be destroyed before ExitWrite() is called. | |
8.6.1.2 Constructors
8.6.1.2.1 DataTransferWriteHandler
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | DataTransferWriteHandler (DataTransferWriteHandler const &)=delete; | |
| Description: | Handlers shall not be copyable since only one way usage i.e. per single file transfer session. | |
8.6.1.3 Member Functions
8.6.1.3.1 ExitWrite
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | virtual auto ExitWrite (ara::diag::DataTransferExitType exitType, ara::core::Span< ara::core::Byte > transferRequestParameterRecord, MetaInfo const &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0; | |
| Parameters (in): | exitType | Specifies the exit reason |
| transferRequestParameterRecord | This parameter record contains parameter(s), which are required by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Vector< ara::core::Byte > > | Returns a Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message) Data in OperationOutput.response_data will be placed after SID as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Exits an ongoing data transfer session. | |
8.6.1.3.2 Write
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | virtual auto Write (ara::core::Span< ara::core::Byte > requestData, MetaInfo const &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept -> ara::core::Future< void >=0; | |
| Parameters (in): | requestData | The first or subsequent file content chunk received from the UDS client to be written into the file. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | A Future, which either is of type void or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Appends a data chunk into application memory. | |
8.6.1.3.3 operator=(DataTransferWriteHandler&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferWriteHandler &&other) & noexcept -> ara::diag::DataTransferWriteHandler & =default; | |
| Parameters (out): | other | The other object |
| Return value: | DataTransferWriteHandler | Reference to self |
| Exception Safety: | exception safe | |
| Description: | Move assigns an instance of this class. | |
8.6.1.3.4 operator=(DataTransferWriteHandler const&)
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | auto operator= (ara::diag::DataTransferWriteHandler const &) -> ara::diag::DataTransferWriteHandler &=delete; | |
| Description: | Handlers shall not be copyable since only one way usage i.e. per single file transfer session. | |
8.6.2 Protected Member Functions
8.6.2.1 Special Member Functions
8.6.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteHandler | |
| Syntax: | DataTransferWriteHandler () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Constructs an instance of this class. | |
| Visibility: | protected | |
8.7 Class: DataTransferWriteSession
| Kind: | class | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DataTransferWriteSession | |
| Syntax: | class DataTransferWriteSession final {...}; | |
| Description: | Encapsulates all data transfer writing variants. | |
8.7.1 Public Member Functions
8.7.1.1 Special Member Functions
8.7.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteSession | |
| Syntax: | DataTransferWriteSession ()=delete; | |
| Description: | No default construction allowed. | |
8.7.1.1.2 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteSession | |
| Syntax: | DataTransferWriteSession (DataTransferWriteSession &&other) noexcept=default; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Description: | Move constructs an instance of this class. | |
8.7.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteSession | |
| Syntax: | ~DataTransferWriteSession () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Destructs an instance of this class. | |
8.7.1.2 Constructors
8.7.1.2.1 DataTransferWriteSession
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteSession | |
| Syntax: | DataTransferWriteSession (DataTransferWriteSession const &)=delete; | |
| Description: | DataTransferWriteSession shall be a single not copy-able instance. | |
8.7.1.3 Member Functions
8.7.1.3.1 operator=(DataTransferWriteSession const&)
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteSession | |
| Syntax: | auto operator= (ara::diag::DataTransferWriteSession const &) -> ara::diag::DataTransferWriteSession &=delete; | |
| Description: | DataTransferWriteSession shall be a single not assignable instance. | |
8.7.1.3.2 operator=(DataTransferWriteSession&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/data_transfer.h" | |
| Scope: | ara::diag::DataTransferWriteSession | |
| Syntax: | auto operator= (ara::diag::DataTransferWriteSession &&other) & noexcept -> ara::diag::DataTransferWriteSession & =default; | |
| Parameters (out): | other | The other object |
| Return value: | DataTransferWriteSession | Reference to self |
| Exception Safety: | exception safe | |
| Description: | Move assigns an instance of this class. | |
9 Header: ara/diag/diag_error_domain.h
9.1 Non-Member Types
9.1.1 Enumeration: DiagErrc
| Kind: | enumeration | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagErrc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class DiagErrc : ara::core::ErrorDomain::CodeType {...}; | |
| Values: | kAlreadyOffered | = 101 |
| The service is already offered . | ||
| kConfigurationMismatch | = 102 | |
| Configuration does not match DEXT . | ||
| kDebouncingConfigurationInconsistent | = 103 | |
| monitor debouncing configuration invalid, e.g. passed threshold larger than failed threshold ... | ||
| kReportIgnored | = 104 | |
| Enable Conditions disabled, OC not started, ... . | ||
| kInvalidArgument | = 105 | |
| e.g. kPreFailed with internal debouncing. | ||
| kNotOffered | = 106 | |
| Offer not called before reporting. . | ||
| kNoSuchDTC | = 108 | |
| No mapped DTC exits for the requested event. | ||
| kBusy | = 109 | |
| Interface is busy with processing. | ||
| kFailed | = 110 | |
| Failed to process. | ||
| kMemoryError | = 111 | |
| A memory error occurred during processing. | ||
| kWrongDtc | = 112 | |
| A wrong DTC number was requested. | ||
| kRejected | = 113 | |
| Requested operation was rejected due to StateManagements/machines internal state. | ||
| kResetTypeNotSupported | = 114 | |
| The requested Diagnostic reset type is not supported by the Diagnostic Address instance. | ||
| kRequestFailed | = 115 | |
| Diagnostic request could not be performed successfully. . | ||
| kCustomResetTypeNotSupported | = 116 | |
| The requested Diagnostic custom reset type is not supported by the Diagnostic Address instance. | ||
| kSuppressionIgnored | = 117 | |
| In case a suppression of a DTC is requested, but the conditions are not met. | ||
| kServiceNotAvailable | = 118 | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Specifies the types of internal errors that can occur upon calling Offer or ReportMonitorAction. | |
9.1.2 Enumeration: DiagOfferErrc
| Kind: | enumeration | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagOfferErrc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class DiagOfferErrc : ara::core::ErrorDomain::CodeType {...}; | |
| Values: | kAlreadyOffered | = 101 |
| The service is already offered. | ||
| kConfigurationMismatch | = 102 | |
| Configuration does not match DEXT. | ||
| kDebouncingConfigurationInconsistent | = 103 | |
| monitor debouncing configuration invalid, e.g. passed threshold larger than failed threshold... | ||
| Description: | The DiagOfferErrc enumeration defines the error codes for the DiagOfferErrorDomain. | |
9.1.3 Enumeration: DiagReportingErrc
| Kind: | enumeration | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagReportingErrc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class DiagReportingErrc : ara::core::ErrorDomain::CodeType {...}; | |
| Values: | kAlreadyOffered | = 101 |
| The service is already offered. | ||
| kConfigurationMismatch | = 102 | |
| monitor configuration does not match DEXT | ||
| kDebouncingConfigurationInconsistent | = 103 | |
| monitor debouncing configuration invalid, e.g. passed threshold larger than failed threshold ... | ||
| kReportIgnored | = 104 | |
| Enable Conditions disabled, OC not started, ... | ||
| kInvalidArgument | = 105 | |
| e.g. kPreFailed with internal debouncing | ||
| kNotOffered | = 106 | |
| Offer not called before reporting. | ||
| kNoSuchDTC | = 108 | |
| No mapped DTC exits for the requested event. | ||
| Description: | The DiagReportingErrc enumeration defines the error codes for the DiagReportingErrorDomain. | |
9.2 Non-Member Functions
9.2.1 Other
9.2.1.1 GetDiagDomain
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr const ara::core::ErrorDomain & GetDiagDomain () noexcept; | |
| Return value: | const ara::core::ErrorDomain & | reference to the DiagErrorDomain instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Obtain the reference to the single global DiagErrorDomain instance. | |
9.2.1.2 GetDiagOfferDomain
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr const ara::core::ErrorDomain & GetDiagOfferDomain () noexcept; | |
| Return value: | const ara::core::ErrorDomain & | reference to the DiagOfferErrorDomain instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Obtain the reference to the single global DiagErrorDomain instance. | |
9.2.1.3 GetDiagReportingDomain
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr const ara::core::ErrorDomain & GetDiagReportingDomain () noexcept; | |
| Return value: | const ara::core::ErrorDomain & | reference to the DiagOfferErrorDomain instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Obtain the reference to the single global DiagReportingErrorDomain instance. | |
9.2.1.4 MakeErrorCode(DiagReportingErrc, ErrorDomain::SupportDataType)
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode (ara::diag::DiagReportingErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | an enumeration value from future_errc |
| data | a vendor-defined supplementary value | |
| Return value: | ara::core::ErrorCode | the new ErrorCode instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new ErrorCode for DiagReportingErrorDomain with the given support data type. | |
9.2.1.5 MakeErrorCode(DiagErrc, ErrorDomain::SupportDataType)
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode (ara::diag::DiagErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | an enumeration value from future_errc |
| data | a vendor-defined supplementary value | |
| Return value: | ara::core::ErrorCode | the new ErrorCode instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new ErrorCode for DiagErrorDomain with the given support data type. | |
9.2.1.6 MakeErrorCode(DiagOfferErrc, ErrorDomain::SupportDataType)
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode (ara::diag::DiagOfferErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | an enumeration value from future_errc |
| data | a vendor-defined supplementary value | |
| Return value: | ara::core::ErrorCode | the new ErrorCode instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new ErrorCode for DiagOfferErrorDomain with the given support data type. | |
9.3 Class: DiagErrorDomain
| Kind: | class | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class DiagErrorDomain final : public ara::core::ErrorDomain {...}; | |
| Description: | Error domain for diagnostic errors. | |
9.3.1 Public Member Types
9.3.1.1 Type Alias: Errc
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagErrorDomain | |
| Symbol: | Errc | |
| Syntax: | using Errc = DiagErrc; | |
| Description: | Alias for the error code value enumeration. | |
9.3.1.2 Type Alias: Exception
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagErrorDomain | |
| Symbol: | Exception | |
| Syntax: | using Exception = DiagException; | |
| Description: | Alias for the exception base class. | |
9.3.2 Public Member Functions
9.3.2.1 Special Member Functions
9.3.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagErrorDomain | |
| Syntax: | constexpr DiagErrorDomain () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Default constructor. | |
9.3.2.2 Member Functions
9.3.2.2.1 Message
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagErrorDomain | |
| Syntax: | const char * Message (ara::core::ErrorDomain::CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | the error code value |
| Return value: | const char * | the text message, never nullptr |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Translate an error code value into a text message. | |
9.3.2.2.2 Name
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagErrorDomain | |
| Syntax: | const char * Name () const noexcept override; | |
| Return value: | const char * | As per ara::diag::DiagErrorDomain in SWS_CORE_90023 |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Return the "shortname" ApApplicationErrorDomain.SN of this error domain. | |
9.3.2.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagErrorDomain | |
| Syntax: | void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | the ErrorCode instance |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Throw the exception type corresponding to the given ErrorCode. As per SWS_CORE_10304, this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. | |
9.4 Class: DiagException
| Kind: | class | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagException | |
| Base class: | ara::core::Exception | |
| Syntax: | class DiagException : public ara::core::Exception {...}; | |
| Description: | Exception type thrown by Diag classes. | |
9.4.1 Public Member Functions
9.4.1.1 Constructors
9.4.1.1.1 DiagException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagException | |
| Syntax: | explicit DiagException (ara::core::ErrorCode err) noexcept; | |
| Parameters (in): | err | the ErrorCode |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Construct a new DiagException from an ErrorCode. | |
9.5 Class: DiagOfferErrorDomain
| Kind: | class | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagOfferErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class DiagOfferErrorDomain final : public ara::core::ErrorDomain {...}; | |
| Description: | Error domain for diagnostic offer errors. | |
9.5.1 Public Member Types
9.5.1.1 Type Alias: Errc
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagOfferErrorDomain | |
| Symbol: | Errc | |
| Syntax: | using Errc = DiagOfferErrc; | |
| Description: | Alias for the error code value enumeration. | |
9.5.1.2 Type Alias: Exception
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagOfferErrorDomain | |
| Symbol: | Exception | |
| Syntax: | using Exception = DiagException; | |
| Description: | Alias for the exception base class. | |
9.5.2 Public Member Functions
9.5.2.1 Special Member Functions
9.5.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagOfferErrorDomain | |
| Syntax: | constexpr DiagOfferErrorDomain () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Default constructor. | |
9.5.2.2 Member Functions
9.5.2.2.1 Message
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagOfferErrorDomain | |
| Syntax: | const char * Message (ara::core::ErrorDomain::CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | the error code value |
| Return value: | const char * | the text message, never nullptr |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Translate an error code value into a text message. | |
9.5.2.2.2 Name
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagOfferErrorDomain | |
| Syntax: | const char * Name () const noexcept override; | |
| Return value: | const char * | As per ara::diag::DiagOfferErrorDomain in SWS_CORE_90023 |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Return the "shortname" ApApplicationErrorDomain.SN of this error domain. | |
9.5.2.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagOfferErrorDomain | |
| Syntax: | void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | the ErrorCode instance |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Throw the exception type corresponding to the given ErrorCode. As per SWS_CORE_10304, this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. | |
9.6 Class: DiagOfferException
| Kind: | class | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagOfferException | |
| Base class: | ara::core::Exception | |
| Syntax: | class DiagOfferException : public ara::core::Exception {...}; | |
| Description: | Exception type thrown by Diag classes. | |
9.6.1 Public Member Functions
9.6.1.1 Constructors
9.6.1.1.1 DiagOfferException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagOfferException | |
| Syntax: | explicit DiagOfferException (ara::core::ErrorCode err) noexcept; | |
| Parameters (in): | err | the ErrorCode |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Construct a new DiagException from an ErrorCode. | |
9.7 Class: DiagReportingErrorDomain
| Kind: | class | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagReportingErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class DiagReportingErrorDomain final : public ara::core::ErrorDomain {...}; | |
| Description: | Error domain for diagnostic reporting errors. | |
9.7.1 Public Member Types
9.7.1.1 Type Alias: Errc
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagReportingErrorDomain | |
| Symbol: | Errc | |
| Syntax: | using Errc = DiagReportingErrc; | |
| Description: | Alias for the error code value enumeration. | |
9.7.1.2 Type Alias: Exception
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagReportingErrorDomain | |
| Symbol: | Exception | |
| Syntax: | using Exception = DiagReportingException; | |
| Description: | Alias for the exception base class. | |
9.7.2 Public Member Functions
9.7.2.1 Special Member Functions
9.7.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagReportingErrorDomain | |
| Syntax: | constexpr DiagReportingErrorDomain () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Default constructor. | |
9.7.2.2 Member Functions
9.7.2.2.1 Message
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagReportingErrorDomain | |
| Syntax: | const char * Message (ara::core::ErrorDomain::CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | the error code value |
| Return value: | const char * | the text message, never nullptr |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Translate an error code value into a text message. | |
9.7.2.2.2 Name
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagReportingErrorDomain | |
| Syntax: | const char * Name () const noexcept override; | |
| Return value: | const char * | As per ara::diag::DiagReportingErrorDomain in SWS_CORE_90023 |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Return the "shortname" ApApplicationErrorDomain.SN of this error domain. | |
9.7.2.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagReportingErrorDomain | |
| Syntax: | void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | the ErrorCode instance |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Throw the exception type corresponding to the given ErrorCode. As per SWS_CORE_10304, this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. | |
9.8 Class: DiagReportingException
| Kind: | class | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagReportingException | |
| Base class: | ara::core::Exception | |
| Syntax: | class DiagReportingException : public ara::core::Exception {...}; | |
| Description: | Exception type thrown by Diag classes. | |
9.8.1 Public Member Functions
9.8.1.1 Constructors
9.8.1.1.1 DiagReportingException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_error_domain.h" | |
| Scope: | ara::diag::DiagReportingException | |
| Syntax: | explicit DiagReportingException (ara::core::ErrorCode err) noexcept; | |
| Parameters (in): | err | the ErrorCode |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Construct a new DiagException from an ErrorCode. | |
10 Header: ara/diag/diag_uds_nrc_error_domain.h
10.1 Non-Member Types
10.1.1 Enumeration: DiagUdsNrcErrc
| Kind: | enumeration | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagUdsNrcErrc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class DiagUdsNrcErrc : ara::core::ErrorDomain::CodeType {...}; | |
| Values: | kGeneralReject | = 0x10 |
| 0x10, This NRC indicates that the requested action has been rejected by the server. The generalReject response code shall only be implemented in the server if none of the negative response codes defined in this document meet the needs of the implementation. At no means shall this NRC be a general replacement for the response codes defined in this document. | ||
| kServiceNotSupported | = 0x11 | |
| 0x11, This NRC indicates that the requested action will not be taken because the server does not support the requested service. The server shall send this NRC in case the client has sent a request message with a service identifier which is unknown, not supported by the server, or is specified as a response service identifier. Therefore this negative response code is not shown in the list of negative response codes to be supported for a diagnostic service, because this negative response code is not applicable for supported services. | ||
| kSubFunctionNotSupported | = 0x12 | |
| 0x12, This NRC indicates that the requested action will not be taken because the server does not support the service specific parameters of the request message. The server shall send this NRC in case the client has sent a request message with a known and supported service identifier but with "SubFunction" which is either unknown or not supported. | ||
| kIncorrectMessageLengthOrInvalidFormat | = 0x13 | |
| 0x13, This NRC indicates that the requested action will not be taken because the length of the received request message does not match the prescribed length for the specified service or the format of the parameters do not match the prescribed format for the specified service. | ||
| kResponseTooLong | = 0x14 | |
| 0x14, This NRC shall be reported by the server if the response to be generated exceeds the maximum number of bytes available by the underlying network layer. This could occur if the response message exceeds the maximum size allowed by the underlying transport protocol or if the response message exceeds the server buffer size allocated for that purpose. EXAMPLE This problem may occur when several DIDs at a time are requested and the combination of all DIDs in the response exceeds the limit of the underlying transport protocol. | ||
| kBusyRepeatRequest | = 0x21 | |
| 0x21, This NRC indicates that the server is temporarily too busy to perform the requested operation. In this circumstance the client shall perform repetition of the "identical request message" or "another request message". The repetition of the request shall be delayed by a time specified in the respective implementation documents. EXAMPLE In a multi-client environment the diagnostic request of one client might be blocked temporarily by an NRC 0x21 while a different client finishes a diagnostic task. If the server is able to perform the diagnostic task but needs additional time to finish the task and prepare the response, the NRC 7816 shall be used instead of NRC 0x21. This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kConditionsNotCorrect | = 0x22 | |
| 0x22, This NRC indicates that the requested action will not be taken because the server prerequisite conditions are not met. | ||
| kRequestSequenceError | = 0x24 | |
| 0x24, This NRC indicates that the requested action will not be taken because the server expects a different sequence of request messages or message as sent by the client. This may occur when sequence sensitive requests are issued in the wrong order. EXAMPLE A successful SecurityAccess service specifies a sequence of requestSeed and sendKey as SubFuction in the request messages. If the sequence is sent different by the client, the server sends a negative response message with the negative response code 0x24 requestSequenceError. | ||
| kNoResponseFromSubnetComponent | = 0x25 | |
| 0x25, This NRC indicates that the server has received the request but the requested action could not be performed by the server as a subnet component which is necessary to supply the requested information did not respond within the specified time. The noResponseFromSubnetComponent negative response shall be implemented by gateways in electronic systems which contain electronic subnet components and which do not directly respond to the client's request. The gateway may receive the request for the subnet component and then request the necessary information from the subnet component. If the subnet component fails to respond, the server shall use this negative response to inform the client about the failure of the subnet component. This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kFailurePreventsExecutionOfRequestedAction | = 0x26 | |
| 0x26, This NRC indicates that the requested action will not be taken because a failure condition, identified by a DTC (with at least one DTC status bit for TestFailed, Pending, Confirmed or TestFailedSinceLastClear set to 1), has occurred and that this failure condition prevents the server from performing the requested action. This NRC can, for example, direct the technician to read DTCs in order to identify and fix the problem. Diagnostic services used to access DTCs shall not implement this NRC, because an external test tool may check for the above NRC and automatically request DTCs whenever the above NRC has been received. This NRC is in general supported by each diagnostic service (except the services mentioned above), as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kRequestOutOfRange | = 0x31 | |
| 0x31, This NRC indicates that the requested action will not be taken because the server has detected that the request message contains a parameter which attempts to substitute a value beyond its range of authority (e.g. attempting to substitute a data byte of 111 when the data is only defined to 100), or which attempts to access a dataIdentifier/routineIdentifer that is not supported or not supported in active session. This NRC shall be implemented for all services, which allow the client to read data, write data or adjust functions by data in the server. | ||
| kSecurityAccessDenied | = 0x33 | |
| 0x33, This NRC indicates that the requested action will not be taken because the server's security strategy has not been satisfied by the client. The server shall send this NRC if one of the following cases occur: — the test conditions of the server are not met, — the required message sequence, e.g. DiagnosticSessionControl, securityAccess is not met, — the client has sent a request message which requires an unlocked server. Beside the mandatory use of this negative response code as specified in the applicable services within this document, this negative response code can also be used for any case where security is required and is not yet granted to perform the required service. | ||
| kAuthenticationRequired | = 0x34 | |
| 0x34, This NRC indicates that the requested service will not be taken because the client has insufficient rights based on its Authentication state. This NRC is in general supported by each diagnostic service, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kInvalidKey | = 0x35 | |
| 0x35, This NRC indicates that the server has not given security access because the key sent by the client did not match with the key in the server's memory. This counts as an attempt to gain security. The server shall remain in the locked state and increment its internal securityAccessFailed counter as described in 10.4. (ISO 14229-1) | ||
| kExceedNumberOfAttempts | = 0x36 | |
| 0x36, This NRC indicates that the requested action will not be taken because the client has unsuccessfully attempted to gain security access more times than the server's security strategy will allow. | ||
| kRequiredTimeDelayNotExpired | = 0x37 | |
| 0x37, This NRC indicates that the requested action will not be taken because the client's latest attempt to gain security access was initiated before the server's required timeout period had elapsed. | ||
| kSecureDataTransmissionRequired | = 0x38 | |
| 0x38, This NRC indicates that the requested service will not be taken because the requested action is required to be sent using a secured communication channel (i.e. A_MType is equal to secure {remote} diagnostics). This NRC is in general supported by each diagnostic service, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kSecureDataTransmissionNotAllowed | = 0x39 | |
| 0x39, This NRC indicates that this message was received using the SecuredDataTransmission (0x84) service. However, the requested action is not allowed to be sent using the SecuredDataTransmission (0x84) service. | ||
| kSecureDataVerificationFailed | = 0x3A | |
| 0x3A, This NRC indicates that the message failed in the security sub-layer. For example, invalid Apar - Administrative parameter or "Signature/Encryption Calculation" parameter, verification error of anti-replay counter or Signature/MAC, decryption or encryption error. | ||
| kCertificateVerificationFailedInvalidTimePeriod | = 0x50 | |
| 0x50, Date and time of the server does not match the validity period of the Certificate. | ||
| kCertificateVerificationFailedInvalidSignature | = 0x51 | |
| 0x51, Signature of the Certificate could not be verified. | ||
| kCertificateVerificationFailedInvalidChainOfTrust | = 0x52 | |
| 0x52, Certificate could not be verified against stored information about the issuing authority. | ||
| kCertificateVerificationFailedInvalidType | = 0x53 | |
| 0x53, Certificate does not match the current requested use case. | ||
| kCertificateVerificationFailedInvalidFormat | = 0x54 | |
| 0x54, Certificate could not be evaluated because the format requirement has not been met. | ||
| kCertificateVerificationFailedInvalidContent | = 0x55 | |
| 0x55, Certificate could not be verified because the content does not match. | ||
| kCertificateVerificationFailedInvalidScope | = 0x56 | |
| 0x56, The scope of the Certificate does not match the contents of the server. | ||
| kCertificateVerificationFailedInvalidCertificateRevoked | = 0x57 | |
| 0x57, Certificate received from client is invalid, because the server has revoked access for some reason. | ||
| kOwnershipVerificationFailed | = 0x58 | |
| 0x58, Delivered Ownership does not match the provided challenge or could not verified with the own private key. | ||
| kChallengeCalculationFailed | = 0x59 | |
| 0x59, The challenge could not be calculated on the server side. | ||
| kSettingAccessRightsFailed | = 0x5A | |
| 0x5A, The server could not set the access rights. | ||
| kSessionKeyCreationDerivationFailed | = 0x5B | |
| 0x5B, The server could not create or derive a session key. | ||
| kConfigurationDataUsageFailed | = 0x5C | |
| 0x5C, The server could not work with the provided configuration data. | ||
| kDeAuthenticationFailed | = 0x5D | |
| 0x5D, DeAuthentication was not successful, server could still be unprotected. | ||
| kUploadDownloadNotAccepted | = 0x70 | |
| 0x70, This NRC indicates that an attempt to upload/download to a server's memory cannot be accomplished due to some fault conditions. | ||
| kTransferDataSuspended | = 0x71 | |
| 0x71, This NRC indicates that a data transfer operation was halted due to some fault. The active transferData sequence shall be aborted. | ||
| kGeneralProgrammingFailure | = 0x72 | |
| 0x72, This NRC indicates that the server detected an error when erasing or programming a memory location in the permanent memory device (e.g. Flash Memory). | ||
| kWrongBlockSequenceCounter | = 0x73 | |
| 0x73, This NRC indicates that the server detected an error in the sequence of blockSequenceCounter values. Note that the repetition of a TransferData request message with a blockSequenceCounter equal to the one included in the previous TransferData request message shall be accepted by the server. | ||
| kRequestCorrectlyReceivedResponsePending | = 0x78 | |
| 0x78, This NRC indicates that the request message was received correctly, and that all parameters in the request message were valid (these checks can be delayed until after sending this NRC if executing the boot software), but the action to be performed is not yet completed and the server is not yet ready to receive another request. As soon as the requested service has been completed, the server shall send a positive response message or negative response message with a response code different from this. The negative response message with this NRC may be repeated by the server until the requested service is completed and the final response message is sent. This NRC might impact the application layer timing parameter values. The detailed specification shall be included in the data link specific implementation document. This NRC shall only be used in a negative response message if the server will not be able to receive further request messages from the client while completing the requested diagnostic service. When this NRC is used, the server shall always send a final response (positive or negative) independent of the suppressPosRspMsgIndicationBit value or the suppress requirement for responses with NRCs SNS, SFNS, SNSIAS, SFNSIAS and ROOR on functionally addressed requests. A typical example where this NRC may be used is when the client has sent a request message, which includes data to be programmed or erased in flash memory of the server. If the programming/erasing routine (usually executed out of RAM) is not able to support serial communication while writing to the flash memory the server shall send a negative response message with this response code.This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kSubFunctionNotSupportedInActiveSession | = 0x7E | |
| 0x7E, This NRC indicates that the requested action will not be taken because the server does not support the requested SubFunction in the session currently active. This NRC shall only be used when the requested SubFunction is known to be supported in another session, otherwise response code SFNS (SubFunctionNotSupported) shall be used (e.g. servers executing the boot software generally do not know which SubFunctions are supported in the application (and vice versa) and therefore may need to respond with NRC 0x12 instead). This NRC shall be supported by each diagnostic service with a SubFunction parameter, if not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kServiceNotSupportedInActiveSession | = 0x7F | |
| 0x7F, This NRC indicates that the requested action will not be taken because the server does not support the requested service in the session currently active. This NRC shall only be used when the requested service is known to be supported in another session, otherwise response code SNS (serviceNotSupported) shall be used (e.g. servers executing the boot software generally do not know which services are supported in the application (and vice versa) and therefore may need to respond with NRC 0x11 instead). This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kRpmTooHigh | = 0x81 | |
| 0x81, This NRC indicates that the requested action will not be taken because the server prerequisite condition for RPM is not met (current RPM is above a programmed maximum threshold). | ||
| kRpmTooLow | = 0x82 | |
| 0x82, This NRC indicates that the requested action will not be taken because the server prerequisite condition for RPM is not met (current RPM is below a programmed minimum threshold). | ||
| kEngineIsRunning | = 0x83 | |
| 0x83, This NRC is required for those actuator tests which cannot be actuated while the Engine is running. This is different from RPM too high negative response, and shall be allowed. | ||
| kEngineIsNotRunning | = 0x84 | |
| 0x84, This NRC is required for those actuator tests which cannot be actuated unless the Engine is running. This is different from RPM too low negative response, and shall be allowed. | ||
| kEngineRunTimeTooLow | = 0x85 | |
| 0x85, This NRC indicates that a requested action will not be taken because the server prerequisite condition for engine run time is not met (current engine run time is below a programmed limit). | ||
| kTemperatureTooHigh | = 0x86 | |
| 0x86, This NRC indicates that the requested action will not be taken because the server prerequisite condition for temperature is not met (current temperature is above a preprogrammed maximum threshold). | ||
| kTemperatureTooLow | = 0x87 | |
| 0x87, This NRC indicates that the requested action will not be taken because the server prerequisite condition for temperature is not met (current temperature is below a preprogrammed minimum threshold). | ||
| kVehicleSpeedTooHigh | = 0x88 | |
| 0x88, This NRC indicates that the requested action will not be taken because the server prerequisite condition for vehicle speed is not met (current vehicle speed is above a preprogrammed maximum threshold). | ||
| kVehicleSpeedTooLow | = 0x89 | |
| 0x89, This NRC indicates that the requested action will not be taken because the server prerequisite condition for vehicle speed is not met (current vehicle speed is below a preprogrammed minimum threshold). | ||
| kThrottlePedalTooHigh | = 0x8A | |
| 0x8A, This NRC indicates that the requested action will not be taken because the server prerequisite condition for throttle/pedal position is not met (current TP/APP is above a preprogrammed maximum threshold). | ||
| kThrottlePedalTooLow | = 0x8B | |
| 0x8B, This NRC indicates that the requested action will not be taken because the server prerequisite condition for throttle/pedal position is not met (current TP/APP is below a preprogrammed minimum threshold). | ||
| kTransmissionRangeNotInNeutral | = 0x8C | |
| 0x8C, This NRC indicates that the requested action will not be taken because the server prerequisite condition for being in neutral is not met (current transmission range is not in neutral). | ||
| kTransmissionRangeNotInGear | = 0x8D | |
| 0x8D, This NRC indicates that the requested action will not be taken because the server prerequisite condition for being in gear is not met (current transmission range is not in gear). | ||
| kBrakeSwitchNotClosed | = 0x8F | |
| 0x8F, This NRC indicates that for safety reasons, this is required for certain tests before it begins, and shall be maintained for the entire duration of the test. | ||
| kShifterLeverNotInPark | = 0x90 | |
| 0x90, This NRC indicates that for safety reasons, this is required for certain tests before it begins, and shall be maintained for the entire duration of the test. | ||
| kTorqueConverterClutchLocked | = 0x91 | |
| 0x91, This NRC indicates that the requested action will not be taken because the server prerequisite condition for torque converter clutch is not met (current TCC status above a preprogrammed limit or locked). | ||
| kVoltageTooHigh | = 0x92 | |
| 0x92, This NRC indicates that the requested action will not be taken because the server prerequisite condition for voltage at the primary pin of the server (ECU) is not met (current voltage is above a preprogrammed maximum threshold). | ||
| kVoltageTooLow | = 0x93 | |
| 0x93, This NRC indicates that the requested action will not be taken because the server prerequisite condition for voltage at the primary pin of the server (ECU) is not met (current voltage is below a preprogrammed maximum threshold). | ||
| kResourceTemporarilyNotAvailable | = 0x94 | |
| 0x94, This NRC indicates that the server has received the request but the requested action could not be performed by the server because an application which is necessary to supply the requested information is temporality not available. This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. | ||
| kNoProcessingNoResponse | = 0xFF | |
| Deviating from ISO - no further service processing and no response (silently ignore request message). | ||
| kISO_RESERVED_NRC | = 0x01 | |
| Placeholder as starting number for valid NRCs. | ||
| Description: | Specifies the types of internal errors that can occur upon calling Offer or ReportMonitorAction. The error codes described are defined in ISO 14229-1:2020 ISO-14229-1-2020, Table A.1 "Negative Response Codes". In AUTOSAR, the three negative response code ranges, 0x00, 0x01-0x7F and 0x80-0xFF are respected, however, the value 0xFF is used to internally indicate, that there is no further processing and no response handling foreseen. | |
10.2 Non-Member Functions
10.2.1 Other
10.2.1.1 GetDiagUdsNrcDomain
| Kind: | function | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr const ara::core::ErrorDomain & GetDiagUdsNrcDomain () noexcept; | |
| Return value: | const ara::core::ErrorDomain & | reference to the DiagUdsNrcErrorDomain instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Obtain the reference to the single global DiagUdsNrcErrorDomain instance. | |
10.2.1.2 MakeErrorCode
| Kind: | function | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | namespace ara::diag | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode (ara::diag::DiagUdsNrcErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | an enumeration value from diag_errc |
| data | a vendor-defined supplementary value | |
| Return value: | ara::core::ErrorCode | the new ErrorCode instance |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Create a new ErrorCode for DiagUdsNrcErrorDomain with the given support data type and message. | |
10.3 Class: DiagUdsNrcErrorDomain
| Kind: | class | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagUdsNrcErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class DiagUdsNrcErrorDomain final : public ara::core::ErrorDomain {...}; | |
| Description: | Error domain for errors originating from several diagnostic classes. | |
10.3.1 Public Member Types
10.3.1.1 Type Alias: Errc
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | ara::diag::DiagUdsNrcErrorDomain | |
| Symbol: | Errc | |
| Syntax: | using Errc = DiagUdsNrcErrc; | |
| Description: | Alias for the error code value enumeration. | |
10.3.1.2 Type Alias: Exception
| Kind: | type alias | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | ara::diag::DiagUdsNrcErrorDomain | |
| Symbol: | Exception | |
| Syntax: | using Exception = DiagUdsNrcException; | |
| Description: | Alias for the exception base class. | |
10.3.2 Public Member Functions
10.3.2.1 Special Member Functions
10.3.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | ara::diag::DiagUdsNrcErrorDomain | |
| Syntax: | constexpr DiagUdsNrcErrorDomain () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Default constructor . | |
10.3.2.2 Member Functions
10.3.2.2.1 Message
| Kind: | function | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | ara::diag::DiagUdsNrcErrorDomain | |
| Syntax: | const char * Message (ara::core::ErrorDomain::CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | the error code value |
| Return value: | const char * | the text message, never nullptr |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Translate an error code value into a text message. | |
10.3.2.2.2 Name
| Kind: | function | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | ara::diag::DiagUdsNrcErrorDomain | |
| Syntax: | const char * Name () const noexcept override; | |
| Return value: | const char * | As per ara::diag::DiagUdsNrcErrorDomain in SWS_CORE_90023 |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Return the "shortname" ApApplicationErrorDomain.SN of this error domain. | |
10.3.2.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | ara::diag::DiagUdsNrcErrorDomain | |
| Syntax: | void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | the ErrorCode instance |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Throw the exception type corresponding to the given ErrorCode. As per SWS_CORE_10304, this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. | |
10.4 Class: DiagUdsNrcException
| Kind: | class | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagUdsNrcException | |
| Base class: | ara::core::Exception | |
| Syntax: | class DiagUdsNrcException : public ara::core::Exception {...}; | |
| Description: | Exception type thrown by Diag classes. | |
10.4.1 Public Member Functions
10.4.1.1 Constructors
10.4.1.1.1 DiagUdsNrcException
| Kind: | function | |
| Header file: | #include "ara/diag/diag_uds_nrc_error_domain.h" | |
| Scope: | ara::diag::DiagUdsNrcException | |
| Syntax: | explicit DiagUdsNrcException (ara::core::ErrorCode err) noexcept; | |
| Parameters (in): | err | the ErrorCode |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Construct a new DiagException from an ErrorCode. | |
11 Header: ara/diag/diagnostic_service_dynamic_access_list.h
11.1 Class: DiagnosticServiceDynamicAccessList
| Kind: | class | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DiagnosticServiceDynamicAccessList | |
| Syntax: | class DiagnosticServiceDynamicAccessList final {...}; | |
| Description: | Definition of the DiagnosticServiceDynamicAccessList class, which is used by the application to build a DynamicAccessList. | |
11.1.1 Public Member Functions
11.1.1.1 Special Member Functions
11.1.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | DiagnosticServiceDynamicAccessList () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Constructor of DiagnosticServiceDynamicAccessList. | |
11.1.1.1.2 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | DiagnosticServiceDynamicAccessList (DiagnosticServiceDynamicAccessList &&other) noexcept; | |
| Parameters (in): | other | Object to move-construct from |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor of DiagnosticServiceDynamicAccessList. | |
11.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | ~DiagnosticServiceDynamicAccessList () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DiagnosticServiceDynamicAccessList. | |
11.1.1.2 Constructors
11.1.1.2.1 DiagnosticServiceDynamicAccessList
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | DiagnosticServiceDynamicAccessList (DiagnosticServiceDynamicAccessList const &other) noexcept; | |
| Parameters (in): | other | Object to copy-construct from |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Copy constructor of DiagnosticServiceDynamicAccessList. | |
11.1.1.3 Member Functions
11.1.1.3.1 MakeServiceBuilder(DynamicAccessListDiagServiceBuilder::ByteString)
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | auto MakeServiceBuilder (ara::diag::DynamicAccessListDiagServiceBuilder::ByteString serviceHead) noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder; | |
| Parameters (in): | serviceHead | A string of bytes to start the DynamicAccess pattern-match |
| Return value: | DynamicAccessListDiagServiceBuilder | Returns an instance of a diagnostic service pattern builder |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the AA to construct a pattern for the DynamicAccessList, using a string of bytes. | |
11.1.1.3.2 MakeServiceBuilder(DynamicAccessListDiagServiceBuilder::Byte)
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | auto MakeServiceBuilder (ara::diag::DynamicAccessListDiagServiceBuilder::Byte sid) noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder; | |
| Parameters (in): | sid | The diagnostic service identifier |
| Return value: | DynamicAccessListDiagServiceBuilder | Returns an instance of a diagnostic service pattern builder. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the AA to construct a pattern for the DynamicAccessList, using only the SID. | |
11.1.1.3.3 Reserve
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | void Reserve (std::size_t numberOfServiceHeads, std::size_t maxServiceHeadSize) noexcept; | |
| Parameters (in): | numberOfServiceHeads | The number of diagnostic service patterns. |
| maxServiceHeadSize | The expected maximum number of diagnostic service bytes in a single pattern. | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Preallocates memory for all service heads to fit into the DynamicAccessList. The preallocation can be just estimated and may calculate just the worst case of memory needed, not exact memory size needed for data numberOfServiceHeads. | |
11.1.1.3.4 operator=(DiagnosticServiceDynamicAccessList&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | auto operator= (ara::diag::DiagnosticServiceDynamicAccessList &&other) & noexcept -> ara::diag::DiagnosticServiceDynamicAccessList &; | |
| Parameters (in): | other | Object to move-assign from. |
| Return value: | DiagnosticServiceDynamicAccessList | DiagnosticService DynamicAccessList& Reference to self. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Move assignment operator of DiagnosticServiceDynamicAccessList. | |
11.1.1.3.5 operator=(DiagnosticServiceDynamicAccessList const&) &
| Kind: | function | |
| Header file: | #include "ara/diag/diagnostic_service_dynamic_access_list.h" | |
| Scope: | ara::diag::DiagnosticServiceDynamicAccessList | |
| Syntax: | auto operator= (ara::diag::DiagnosticServiceDynamicAccessList const &other) & noexcept -> ara::diag::DiagnosticServiceDynamicAccessList &; | |
| Parameters (in): | other | Object to copy-assign from. |
| Return value: | DiagnosticServiceDynamicAccessList | DiagnosticService DynamicAccessList& Reference to self. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Copy assignment operator of DiagnosticServiceDynamicAccessList. | |
12 Header: ara/diag/download.h
12.1 Class: DownloadService
| Kind: | class | |
| Port Interfaces: | DiagnosticDownloadInterface | |
| Header file: | #include "ara/diag/download.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DownloadService | |
| Syntax: | class DownloadService {...}; | |
| Description: | Download service interface. | |
12.1.1 Public Member Functions
12.1.1.1 Special Member Functions
12.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | DownloadService (DownloadService &&) noexcept=delete; | |
| Description: | Move constructor of DownloadService. | |
12.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | ara::diag::DownloadService & operator= (ara::diag::DownloadService &&)=delete; | |
| Description: | Move assignment operator of DownloadService. | |
12.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | virtual ~DownloadService () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class DownloadService. | |
12.1.1.2 Constructors
12.1.1.2.1 DownloadService(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | explicit DownloadService (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticDownloadInterface |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticDownloadInterface needs to be typed by a DiagnosticServiceGenericMapping. | |
| 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: | Class for an DownloadService. | |
12.1.1.2.2 DownloadService(DownloadService&)
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | DownloadService (DownloadService &)=delete; | |
| Description: | DownloadService shall be a single not copy-able instance. | |
12.1.1.3 Member Functions
12.1.1.3.1 DownloadData
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | virtual ara::core::Future< ara::diag::DownloadService::OperationOutput > DownloadData (ara::core::Span< const std::uint8_t > transferRequestParameterRecord, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | transferRequestParameterRecord | data to be transferred (copied/downloaded to the ECU/server) Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.responseData will be placed after the blockSequenceCounter as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for TransferData following a previous RequestDownload. | |
12.1.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
12.1.1.3.3 RequestDownload
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | virtual ara::core::Future< void > RequestDownload (std::uint8_t dataFormatIdentifier, std::uint8_t addressAndLengthFormatIdentifier, ara::core::Span< const std::uint8_t > memoryAddressAndSize, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | dataFormatIdentifier | UDS dataFormat Identifier |
| addressAndLengthFormatIdentifier | UDS addressAndLengthFormatIdentifier | |
| memoryAddressAndSize | memoryAddress and memorySize part of the request. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | A Future, which either gets readied to void (for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message) |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestDownload. | |
12.1.1.3.4 RequestDownloadExit
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | virtual ara::core::Future< ara::diag::DownloadService::OperationOutput > RequestDownloadExit (ara::core::Span< const std::uint8_t > transferRequestParameterRecord, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | transferRequestParameterRecord | This parameter record contains parameter(s), which are required by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.responseData will be placed after SID as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestTransferExit. | |
12.1.1.3.5 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
12.1.1.3.6 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService | |
| Syntax: | ara::diag::DownloadService & operator= (ara::diag::DownloadService &)=delete; | |
| Description: | DownloadService shall be a single not assignable instance. | |
12.2 Struct: OperationOutput
| Kind: | struct | |
| Header file: | #include "ara/diag/download.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DownloadService | |
| Symbol: | OperationOutput | |
| Syntax: | struct OperationOutput {...}; | |
| Description: | Response data of positive response message. | |
12.2.1 Public Member Variables
12.2.1.1 responseData
| Kind: | variable | |
| Header file: | #include "ara/diag/download.h" | |
| Scope: | ara::diag::DownloadService::OperationOutput | |
| Symbol: | responseData | |
| Type: | ara::core::Vector< std::uint8_t > | |
| Syntax: | ara::core::Vector<std::uint8_t> responseData; | |
| Description: | Content of positive response message (without SID) Depending on the operation (e.g.: DownloadData, RequestDownloadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation. | |
13 Header: ara/diag/dynamic_access_list_diag_service_builder.h
13.1 Class: DynamicAccessListDiagServiceBuilder
| Kind: | class | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DynamicAccessListDiagServiceBuilder | |
| Syntax: | class DynamicAccessListDiagServiceBuilder final {...}; | |
| Description: | Definition of the DynamicAccessListDiagServiceBuilder class, which is used by the application to build a DynamicAccessList. | |
13.1.1 Public Member Types
13.1.1.1 Type Alias: Byte
| Kind: | type alias | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Symbol: | Byte | |
| Syntax: | using Byte = std::uint8_t; | |
| Description: | Type alias of a single diagnostic service pattern element in the DynamicAccessList. | |
13.1.1.2 Type Alias: ByteString
| Kind: | type alias | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Symbol: | ByteString | |
| Syntax: | using ByteString = ara::core::Span<Byte>; | |
| Description: | Type alias of a sequence of diagnostic service pattern elements in the DynamicAccessList. | |
13.1.2 Public Member Functions
13.1.2.1 Special Member Functions
13.1.2.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | DynamicAccessListDiagServiceBuilder (DynamicAccessListDiagServiceBuilder &&other) noexcept; | |
| Parameters (in): | other | Object to move-construct from. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor of DynamicAccessListDiagServiceBuilder. | |
13.1.2.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | ~DynamicAccessListDiagServiceBuilder () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DynamicAccessListDiagServiceBuilder. | |
13.1.2.2 Constructors
13.1.2.2.1 DynamicAccessListDiagServiceBuilder(V, ara::core::Vector<std::uint8_t>&)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | template <typename V> DynamicAccessListDiagServiceBuilder (V value, ara::core::Vector< std::uint8_t > &content) noexcept; | |
| Parameters (in): | value | Value(s) to be added to the DynamicAccessList. |
| content | Stack holder for serialized DynamicAccessList. | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Constructor for DynamicAccessListDiagServiceBuilder. | |
13.1.2.2.2 DynamicAccessListDiagServiceBuilder(DynamicAccessListDiagServiceBuilder const&)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | DynamicAccessListDiagServiceBuilder (DynamicAccessListDiagServiceBuilder const &other)=delete; | |
| Description: | Copy constructor of DynamicAccessListDiagServiceBuilder cannot be used. | |
13.1.2.3 Member Functions
13.1.2.3.1 Add(ByteRange)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | auto Add (ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange range) noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder &; | |
| Parameters (in): | range | The range of byte values to add to the DynamicAccessList. The range will be used to check for a match during evaluation of the diagnostic service access rights. |
| Return value: | DynamicAccessListDiagServiceBuilder | Returns the instance of the same object to allow fluent API usage. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the application to add a range of bytes to a DynamicAccessListPattern. | |
13.1.2.3.2 Add(Byte)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | auto Add (ara::diag::DynamicAccessListDiagServiceBuilder::Byte value) noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder &; | |
| Parameters (in): | value | The byte value to add to the DynamicAccessList. The value will be used to check for an exact match during evaluation of the diagnostic service access rights. |
| Return value: | DynamicAccessListDiagServiceBuilder | Returns the instance of the same object to allow fluent API usage. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the application to add a single byte to a DynamicAccessListPattern. | |
13.1.2.3.3 Add(ByteString)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | auto Add (ara::diag::DynamicAccessListDiagServiceBuilder::ByteString values) noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder &; | |
| Parameters (in): | values | The byte sequence to add to the DynamicAccessList. The values will be used to check for an exact match during evaluation of the diagnostic service access rights. |
| Return value: | DynamicAccessListDiagServiceBuilder | Returns the instance of the same object to allow fluent API usage. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the application to add a string of bytes to a DynamicAccessListPattern. | |
13.1.2.3.4 Any
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | auto Any (std::size_t numberOfBytesToIgnore) noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder &; | |
| Parameters (in): | numberOfBytesToIgnore | The number of bytes to ignore |
| Return value: | DynamicAccessListDiagServiceBuilder | Returns the instance of the same object to allow fluent API usage. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the application to define a wildcard, i.e, to define a set of bytes that will be ignored in the DynamicAccessList pattern being created. | |
13.1.2.3.5 Build
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | void Build () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Finalizes building the DynamicAccessList. Must be called before destroying the ServiceBuilder object. | |
13.1.2.3.6 EndsWith(ByteRange)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | void EndsWith (ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange range) noexcept; | |
| Parameters (in): | range | The range of byte values to end the DynamicAccessList. The range will be used to check for a match during evaluation of the diagnostic service access rights. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the application to specify a closed range of bytes at the end of the DynamicAccessList pattern. | |
13.1.2.3.7 EndsWith(Byte)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | void EndsWith (ara::diag::DynamicAccessListDiagServiceBuilder::Byte value) noexcept; | |
| Parameters (in): | value | The byte value to end the DynamicAccessList. The value will be used to check for an exact match during evaluation of the diagnostic service access rights. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This function is used by the application to specify a single byte value at the end of the DynamicAccessList pattern. | |
13.1.2.3.8 operator=(DynamicAccessListDiagServiceBuilder&&)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | auto operator= (ara::diag::DynamicAccessListDiagServiceBuilder &&other) -> ara::diag::DynamicAccessListDiagServiceBuilder &=delete; | |
| Description: | Move assignment operator of DynamicAccessListDiagServiceBuilder. | |
13.1.2.3.9 operator=(DynamicAccessListDiagServiceBuilder const&)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Syntax: | auto operator= (ara::diag::DynamicAccessListDiagServiceBuilder const &other) -> ara::diag::DynamicAccessListDiagServiceBuilder &=delete; | |
| Description: | Copy assignment operator of DynamicAccessListDiagServiceBuilder cannot be used. | |
13.2 Class: ByteRange
| Kind: | class | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder | |
| Symbol: | ByteRange | |
| Syntax: | class ByteRange final {...}; | |
| Description: | Represents a single byte value closed range. Type alias of a single diagnostic service pattern element in the DynamicAccessList | |
13.2.1 Public Member Functions
13.2.1.1 Special Member Functions
13.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | ByteRange (ByteRange &&other) noexcept; | |
| Parameters (in): | other | Object to move-assign from. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor of ByteRange. | |
13.2.1.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | ~ByteRange () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of ByteRange. | |
13.2.1.2 Constructors
13.2.1.2.1 ByteRange(Byte, Byte)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | ByteRange (ara::diag::DynamicAccessListDiagServiceBuilder::Byte min, ara::diag::DynamicAccessListDiagServiceBuilder::Byte max) noexcept; | |
| Parameters (in): | min | The minimum value to match. |
| max | The maximum value to match. | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Constructs a value range. | |
13.2.1.2.2 ByteRange(ByteRange const&)
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | ByteRange (ByteRange const &other) noexcept; | |
| Parameters (in): | other | Object to construct-assign from. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Copy constructor of ByteRange. | |
13.2.1.3 Member Functions
13.2.1.3.1 GetMax
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | auto GetMax () const noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder::Byte; | |
| Return value: | Byte | Returns the the highest value. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Reports the highest value to match. | |
13.2.1.3.2 GetMin
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | auto GetMin () const noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder::Byte; | |
| Return value: | Byte | Returns the lowest value. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Reports the lowest value to match. | |
13.2.1.3.3 operator=(ByteRange const&) &
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | auto operator= (ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange const &other) & noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange &; | |
| Parameters (in): | other | Object to copy-assign from. |
| Return value: | ByteRange | ByteRange& Reference to self. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Copy assignment operator of ByteRange. | |
13.2.1.3.4 operator=(ByteRange&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/dynamic_access_list_diag_service_builder.h" | |
| Scope: | ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange | |
| Syntax: | auto operator= (ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange &&other) & noexcept -> ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange &; | |
| Parameters (in): | other | Object to move-assign from. |
| Return value: | ByteRange | ByteRange& Reference to self. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Move assignment operator of ByteRange. | |
14 Header: ara/diag/ecu_reset_request.h
14.1 Non-Member Types
14.1.1 Type Alias: ResetRequestType
| Kind: | type alias | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ResetRequestType | |
| Syntax: | using ResetRequestType = std::uint8_t; | |
| Description: | The type of the requested reset. | |
14.2 Global Variables
14.2.1 kCustomReset
| Kind: | variable | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kCustomReset | |
| Type: | ResetRequestType | |
| Syntax: | constexpr ResetRequestType kCustomReset = 3; | |
| Description: | kCustomReset | |
14.2.2 kHardReset
| Kind: | variable | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kHardReset | |
| Type: | ResetRequestType | |
| Syntax: | constexpr ResetRequestType kHardReset = 1; | |
| Description: | HardReset. | |
14.2.3 kKeyOffOnReset
| Kind: | variable | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kKeyOffOnReset | |
| Type: | ResetRequestType | |
| Syntax: | constexpr ResetRequestType kKeyOffOnReset = 2; | |
| Description: | KeyOffOnReset. | |
14.2.4 kSoftReset
| Kind: | variable | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | kSoftReset | |
| Type: | ResetRequestType | |
| Syntax: | constexpr ResetRequestType kSoftReset = 0; | |
| Description: | SoftReset. | |
14.3 Class: EcuResetRequest
| Kind: | class | |
| Port Interfaces: | DiagnosticEcuResetInterface | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | EcuResetRequest | |
| Syntax: | class EcuResetRequest {...}; | |
| Description: | Service EcuReset Request interface. | |
14.3.1 Public Member Functions
14.3.1.1 Special Member Functions
14.3.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | EcuResetRequest (EcuResetRequest &&) noexcept=delete; | |
| Description: | Move constructor of EcuResetRequest. | |
14.3.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | ara::diag::EcuResetRequest & operator= (ara::diag::EcuResetRequest &&)=delete; | |
| Description: | Move assignment operator of EcuResetRequest. | |
14.3.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | virtual ~EcuResetRequest () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of EcuResetRequest. | |
14.3.1.2 Constructors
14.3.1.2.1 EcuResetRequest(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | explicit EcuResetRequest (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticEcuResetInterface. |
| Exception Safety: | exception safe | |
| Thread Safety: | not 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 | A PortPrototype that is typed by a DiagnosticEcuResetInterface needs to be referenced by a DiagnosticServiceGenericMapping. | |
| 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: | Constructor of EcuResetRequest. | |
14.3.1.2.2 EcuResetRequest(EcuResetRequest&)
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | EcuResetRequest (EcuResetRequest &)=delete; | |
| Description: | EcuResetRequest shall be a single not copy-able instance. | |
14.3.1.3 Member Functions
14.3.1.3.1 EnableRapidShutdown
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | virtual ara::core::Future< void > EnableRapidShutdown (bool enable, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | enable | When enable is set to true the rapid shutdown will be enabled, setting enable to false will disable rapid shutdown. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Interface for subFunction En-/DisableRapidShutdown. | |
14.3.1.3.2 ExecuteReset
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | virtual ara::core::Future< void > ExecuteReset (const ara::diag::MetaInfo &metaInfo) noexcept=0; | |
| Parameters (in): | metaInfo | MetaInfo of the request. |
| Return value: | ara::core::Future< void > | Return nothing or an error. In case the parameter DiagnosticEcuResetClass.respondToReset is either not present or present and set to respondBeforeReset, a given error has no effect. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | process which is instantiating this interface, has to execute the requested reset. | |
14.3.1.3.3 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
14.3.1.3.4 RequestReset
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | virtual ara::core::Future< void > RequestReset (ara::diag::ResetRequestType resetType, ara::core::Optional< std::uint8_t > id, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | resetType | Type of the requested reset. |
| id | id of the custom reset type. Will only be evaluated when resetType is "custom". | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for any EcuReset subFunction, except En-/DisableRapidShutdown. The process, which is instantiating this interface, needs to evaluate carefully if the request to restart parts or the whole machine. Once the request to reset is accepted, the process, which is instantiating this interface, has to rely on this decision for the ExecuteReset() trigger. | |
14.3.1.3.5 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
14.3.1.3.6 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/ecu_reset_request.h" | |
| Scope: | ara::diag::EcuResetRequest | |
| Syntax: | ara::diag::EcuResetRequest & operator= (ara::diag::EcuResetRequest &)=delete; | |
| Description: | EcuResetRequest shall be a single not assignable instance. | |
15 Header: ara/diag/external_authentication.h
15.1 Class: ExternalAuthentication
| Kind: | class | |
| Port Interfaces: | DiagnosticExternalAuthenticationInterface | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ExternalAuthentication | |
| Syntax: | class ExternalAuthentication final {...}; | |
| Description: | Definition of the ExternalAuthentication class, which is used by the application to receive an instance of the ClientAuthentication Class relevant to the specific client. | |
15.1.1 Public Member Types
15.1.1.1 Type Alias: Address
| Kind: | type alias | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Symbol: | Address | |
| Syntax: | using Address = std::uint16_t; | |
| Description: | Alias for tester address. | |
15.1.2 Public Member Functions
15.1.2.1 Special Member Functions
15.1.2.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | ExternalAuthentication (ExternalAuthentication &&other) noexcept=default; | |
| Parameters (in): | other | Object to move-construct from |
| Exception Safety: | exception safe | |
| Description: | Move constructor of ExternalAuthentication. | |
15.1.2.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | ~ExternalAuthentication () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DiagnosticServiceDynamicAccessList. | |
15.1.2.2 Constructors
15.1.2.2.1 ExternalAuthentication(ara::core::InstanceSpecifier)
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | explicit ExternalAuthentication (ara::core::InstanceSpecifier instanceSpecifier) noexcept; | |
| Parameters (in): | instanceSpecifier | InstanceSpecifier to a PortPrototype of a DiagnosticExternalAuthenticationInterface service instance in the manifest. |
| 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 | A PortPrototype that is referenced by a DiagnosticExternalAuthenticationPortMapping needs to be typed by a DiagnosticExternalAuthenticationInterface. | |
| 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: | Constructs the port for authentication of diagnostic clients. | |
15.1.2.2.2 ExternalAuthentication(ExternalAuthentication const&)
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | ExternalAuthentication (ExternalAuthentication const &other)=delete; | |
| Description: | Copy constructor of ExternalAuthentication. | |
15.1.2.3 Member Functions
15.1.2.3.1 Get(Address)
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | ara::core::Result< ara::diag::ClientAuthentication > Get (ara::diag::ExternalAuthentication::Address sourceAddress) noexcept; | |
| Parameters (in): | sourceAddress | The source address of the client |
| Return value: | ara::core::Result< ClientAuthentication > | Returns the associated diagnostic client authentication object or error. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to get the ClientAuthentication Instance that is handling the Authentication State of the Client corresponding to the Address. | |
15.1.2.3.2 Get(const MetaInfo&)
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | ara::core::Result< ara::diag::ClientAuthentication > Get (const ara::diag::MetaInfo &metaInfo) noexcept; | |
| Parameters (in): | metaInfo | MetaInfo of the request. |
| Return value: | ara::core::Result< ClientAuthentication > | Returns the diagnostic client associated authentication object or error. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | This function is used by the application to get the ClientAuthentication Instance that is handling the Authentication State of the Client corresponding to the MetaInfo. | |
15.1.2.3.3 GetAll
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | ara::core::Vector< ara::diag::ClientAuthentication > GetAll () noexcept; | |
| Return value: | ara::core::Vector< ClientAuthentication > | Returns the list of all diagnostic client associated authentication objects or empty list if none available. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | This function is used by the application to get all the ClientAuthentication Instances that are currently handled by the DM. | |
15.1.2.3.4 operator=(ExternalAuthentication const&)
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | auto operator= (ara::diag::ExternalAuthentication const &other) -> ara::diag::ExternalAuthentication &=delete; | |
| Description: | Copy assignment operator of ExternalAuthentication. | |
15.1.2.3.5 operator=(ExternalAuthentication&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/external_authentication.h" | |
| Scope: | ara::diag::ExternalAuthentication | |
| Syntax: | auto operator= (ara::diag::ExternalAuthentication &&other) & noexcept -> ara::diag::ExternalAuthentication & =default; | |
| Parameters (in): | other | Object to move-assign from. |
| Return value: | ExternalAuthentication | ExternalAuthentication& Reference to self. |
| Exception Safety: | exception safe | |
| Description: | Move assignment operator of ExternalAuthentication. | |
16 Header: ara/diag/file_transfer.h
16.1 Class: FileTransferService
| Kind: | class | |
| Port Interfaces: | DiagnosticRequestFileTransferInterface | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | FileTransferService | |
| Syntax: | class FileTransferService {...}; | |
| Description: | File Transfer service interface. | |
16.1.1 Public Member Types
16.1.1.1 Enumeration: WriteFileMode
| Kind: | enumeration | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::FileTransferService | |
| Symbol: | WriteFileMode | |
| Underlying type: | ara::core::Byte | |
| Syntax: | enum class WriteFileMode : ara::core::Byte {...}; | |
| Values: | kAdd | The file shall be added only if not existing. |
| kReplace | The file shall be added in any case, if already exists, will be replaced. | |
| Description: | Determines the write file operation mode. | |
16.1.2 Public Member Functions
16.1.2.1 Special Member Functions
16.1.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | virtual ~FileTransferService () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class FileTransferService. | |
16.1.2.2 Constructors
16.1.2.2.1 FileTransferService
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | FileTransferService (ara::core::InstanceSpecifier const &instanceSpecifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | instanceSpecifier | InstanceSpecifier to a PortPrototype of a DiagnosticRequestFileTransferInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticRequestFileTransferInterface needs to be referenced by a DiagnosticServiceGenericMapping. | |
| 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: | Constructor for FileTransferService (inherited) | |
16.1.2.3 Member Functions
16.1.2.3.1 DeleteFile
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | virtual auto DeleteFile (ara::core::String fileName, MetaInfo const &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept -> ara::core::Future< void >=0; | |
| Parameters (in): | fileName | Path including name of the file to read |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | A Future with either a void data result to be reported to the UDS client (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestFileTransfer with ModeOfOperation DeleteFile. This method is the complete operation of deleting a file | |
16.1.2.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | auto Offer () noexcept -> ara::core::Result< void >; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
16.1.2.3.3 RequestReadDirectory
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | virtual auto RequestReadDirectory (ara::core::String directoryName, MetaInfo const &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept -> ara::core::Future< std::tuple< DataTransferReadSession, std::uint64_t > >=0; | |
| Parameters (in): | directoryName | Path including name of the directory to read |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< std::tuple< DataTransferReadSession, std::uint64_t > > | A Future with either the access strategy to be used during reading and the directory information size to be reported to the UDS client (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestFileTransfer with ModeOfOperation ReadDir. . | |
16.1.2.3.4 RequestReadFile
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | virtual auto RequestReadFile (ara::core::String fileName, ara::core::Byte dataFormatIdentifier, MetaInfo const &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept -> ara::core::Future< std::tuple< DataTransferReadSession, FileSizes > >=0; | |
| Parameters (in): | fileName | Path including name of the file to read |
| dataFormatIdentifier | UDS dataFormat Identifier | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< std::tuple< DataTransferReadSession, FileSizes > > | A Future with either the access strategy to be used during reading and the file sizes to be reported to the UDS client (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestFileTransfer with ModeOfOperation ReadFile. • ara::diag::FileTransferService::FileSizes.uncompressed_size: If set to 0, the parameter will not be reported to the diagnostic client. • ara::diag::FileTransferService::FileSizes.compressed_size: If set to 0, the parameter will not be reported to the diagnostic client. If no compression is used, the value shall be zero. | |
16.1.2.3.5 RequestResumeWriteFile
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | virtual auto RequestResumeWriteFile (ara::core::String fileName, ara::core::Byte dataFormatIdentifier, ara::diag::FileTransferService::FileSizes fileSizes, MetaInfo const &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept -> ara::core::Future< std::tuple< DataTransferWriteSession, std::uint64_t > >=0; | |
| Parameters (in): | fileName | Path including name of the file to read |
| dataFormatIdentifier | UDS dataFormat Identifier | |
| fileSizes | The compressed/uncompressed files sizes | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< std::tuple< DataTransferWriteSession, std::uint64_t > > | A Future with either an instance of the file writing session and the byte position where to start resuming from to be reported to the UDS client (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestFileTransfer with ModeOfOperation ResumeFile. | |
16.1.2.3.6 RequestWriteFile
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | virtual auto RequestWriteFile (ara::core::String fileName, ara::core::Byte dataFormatIdentifier, ara::diag::FileTransferService::FileSizes fileSizes, ara::diag::FileTransferService::WriteFileMode mode, MetaInfo const &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept -> ara::core::Future< ara::diag::DataTransferWriteSession >=0; | |
| Parameters (in): | fileName | Path including name of the file to read |
| dataFormatIdentifier | UDS dataFormat Identifier | |
| fileSizes | The compressed/uncompressed files sizes | |
| mode | The file replacement mode | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< DataTransferWriteSession > | A Future with either an instance of the file writing session to be reported to the UDS client (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestFileTransfer with ModeOfOperation WriteFile. | |
16.1.2.3.7 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | void StopOffer () const noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
16.1.3 Protected Member Functions
16.1.3.1 Special Member Functions
16.1.3.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | FileTransferService (FileTransferService &&other) noexcept; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructs an instance of FileTransferService. | |
| Visibility: | protected | |
16.1.3.2 Constructors
16.1.3.2.1 FileTransferService
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | FileTransferService (FileTransferService const &)=delete; | |
| Description: | FileTransferService shall be a single not copy-able instance. | |
| Visibility: | protected | |
16.1.3.3 Member Functions
16.1.3.3.1 operator=(FileTransferService const&)
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | auto operator= (ara::diag::FileTransferService const &) -> ara::diag::FileTransferService &=delete; | |
| Description: | FileTransferService shall be a single not assignable instance. | |
| Visibility: | protected | |
16.1.3.3.2 operator=(FileTransferService&&) &
| Kind: | function | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService | |
| Syntax: | auto operator= (ara::diag::FileTransferService &&other) & noexcept -> ara::diag::FileTransferService &; | |
| Parameters (out): | other | The other object |
| Return value: | FileTransferService | Reference to self |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Move assigns an instance of FileTransferService. | |
| Visibility: | protected | |
16.2 Struct: FileSizes
| Kind: | struct | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::FileTransferService | |
| Symbol: | FileSizes | |
| Syntax: | struct FileSizes {...}; | |
| Description: | Definition of total file sizes. | |
16.2.1 Public Member Variables
16.2.1.1 compressed_size
| Kind: | variable | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService::FileSizes | |
| Symbol: | compressed_size | |
| Type: | std::uint64_t | |
| Syntax: | std::uint64_t compressed_size; | |
| Description: | Specifies the compressed file size in bytes. | |
16.2.1.2 uncompressed_size
| Kind: | variable | |
| Header file: | #include "ara/diag/file_transfer.h" | |
| Scope: | ara::diag::FileTransferService::FileSizes | |
| Symbol: | uncompressed_size | |
| Type: | std::uint64_t | |
| Syntax: | std::uint64_t uncompressed_size; | |
| Description: | Specifies the uncompressed file size in bytes. | |
17 Header: ara/diag/generic_data_identifier.h
17.1 Class: GenericDataIdentifier
| Kind: | class | |
| Port Interfaces: | DiagnosticDataIdentifierGenericInterface | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | GenericDataIdentifier | |
| Syntax: | class GenericDataIdentifier {...}; | |
| Description: | Generic DataIdentifier interface. | |
17.1.1 Public Member Functions
17.1.1.1 Special Member Functions
17.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete; | |
| Description: | Move constructor of GenericDataIdentifier. | |
17.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | ara::diag::GenericDataIdentifier & operator= (ara::diag::GenericDataIdentifier &&)=delete; | |
| Description: | Move assignment operator of GenericDataIdentifier. | |
17.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | virtual ~GenericDataIdentifier () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class GenericDataIdentifier . | |
17.1.1.2 Constructors
17.1.1.2.1 GenericDataIdentifier(const ara::core::InstanceSpecifier&, DataIdentifierConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, ara::diag::DataIdentifierConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticDataIdentifierGenericInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent) | |
| 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 | A PortPrototype that is typed by a DiagnosticDataIdentifierGenericInterface needs to be referenced by a DiagnosticDataPortMapping. | |
| 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: | Class for an GenericDataIdentifier. | |
17.1.1.2.2 GenericDataIdentifier(GenericDataIdentifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | GenericDataIdentifier (GenericDataIdentifier &)=delete; | |
| Description: | GenericDataIdentifier shall be a single not copy-able instance. | |
17.1.1.3 Member Functions
17.1.1.3.1 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
17.1.1.3.2 Read
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | virtual ara::core::Future< ara::diag::GenericDataIdentifier::OperationOutput > Read (std::uint16_t dataIdentifier, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | dataIdentifier | the corresponding DataIdentifier |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier. | |
17.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
17.1.1.3.4 Write
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept; | |
| Parameters (in): | dataIdentifier | the corresponding DataIdentifier |
| requestData | Content of request message (without DataIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | A Future with either void (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier. | |
17.1.1.3.5 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Syntax: | ara::diag::GenericDataIdentifier & operator= (ara::diag::GenericDataIdentifier &)=delete; | |
| Description: | GenericDataIdentifier shall be a single not assignable instance. | |
17.2 Struct: OperationOutput
| Kind: | struct | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::GenericDataIdentifier | |
| Symbol: | OperationOutput | |
| Syntax: | struct OperationOutput {...}; | |
| Description: | Response data of positive respose message. | |
17.2.1 Public Member Variables
17.2.1.1 responseData
| Kind: | variable | |
| Header file: | #include "ara/diag/generic_data_identifier.h" | |
| Scope: | ara::diag::GenericDataIdentifier::OperationOutput | |
| Symbol: | responseData | |
| Type: | ara::core::Vector< std::uint8_t > | |
| Syntax: | ara::core::Vector<std::uint8_t> responseData; | |
| Description: | Content of positive respose message (without DataIdentifier) | |
18 Header: ara/diag/generic_routine.h
18.1 Class: GenericRoutine
| Kind: | class | |
| Port Interfaces: | DiagnosticRoutineGenericInterface | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | GenericRoutine | |
| Syntax: | class GenericRoutine {...}; | |
| Description: | Generic Routine interface. | |
18.1.1 Public Member Functions
18.1.1.1 Special Member Functions
18.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | GenericRoutine (GenericRoutine &&) noexcept=delete; | |
| Description: | Move constructor of GenericRoutine. | |
18.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | ara::diag::GenericRoutine & operator= (ara::diag::GenericRoutine &&)=delete; | |
| Description: | Move assignment operator of GenericRoutine. | |
18.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | virtual ~GenericRoutine () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class GenericRoutine . | |
18.1.1.2 Constructors
18.1.1.2.1 GenericRoutine(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | explicit GenericRoutine (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticRoutineGenericInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticRoutineGenericInterface needs to be referenced by a DiagnosticServiceGenericMapping. | |
| 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: | Class for an GenericRoutine. | |
18.1.1.2.2 GenericRoutine(GenericRoutine&)
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | GenericRoutine (GenericRoutine &)=delete; | |
| Description: | GenericRoutine shall be a single not copy-able instance. | |
18.1.1.3 Member Functions
18.1.1.3.1 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
18.1.1.3.2 RequestResults
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | virtual ara::core::Future< ara::diag::GenericRoutine::OperationOutput > RequestResults (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept; | |
| Parameters (in): | routineId | the corresponding RoutineIdentifier |
| requestData | Content of request message (without RoutineIdentifier), Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RoutineControl with SubFunction RequestResults (0x03) request for this DiagnosticRoutineIdentifier. | |
18.1.1.3.3 Start
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | virtual ara::core::Future< ara::diag::GenericRoutine::OperationOutput > Start (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | routineId | the corresponding RoutineIdentifier |
| requestData | Content of request message (without RoutineIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RoutineControl with SubFunction Start (0x01) request for this DiagnosticRoutineIdentifier. | |
18.1.1.3.4 Stop
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | virtual ara::core::Future< ara::diag::GenericRoutine::OperationOutput > Stop (std::uint16_t routineId, ara::core::Span< const std::uint8_t > requestData, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept; | |
| Parameters (in): | routineId | the corresponding RoutineIdentifier |
| requestData | Content of request message (without RoutineIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaData of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for an negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RoutineControl with SubFunction Stop (0x02) request for this DiagnosticRoutineIdentifier. | |
18.1.1.3.5 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
18.1.1.3.6 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Syntax: | ara::diag::GenericRoutine & operator= (ara::diag::GenericRoutine &)=delete; | |
| Description: | GenericRoutine shall be a single not assignable instance. | |
18.2 Struct: OperationOutput
| Kind: | struct | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::GenericRoutine | |
| Symbol: | OperationOutput | |
| Syntax: | struct OperationOutput {...}; | |
| Description: | Response data of positive respose message. | |
18.2.1 Public Member Variables
18.2.1.1 responseData
| Kind: | variable | |
| Header file: | #include "ara/diag/generic_routine.h" | |
| Scope: | ara::diag::GenericRoutine::OperationOutput | |
| Symbol: | responseData | |
| Type: | ara::core::Vector< std::uint8_t > | |
| Syntax: | ara::core::Vector<std::uint8_t> responseData; | |
| Description: | Content of positive respose message (without RoutineIdentifier) | |
19 Header: ara/diag/generic_uds_service.h
19.1 Class: GenericUDSService
| Kind: | class | |
| Port Interfaces: | DiagnosticGenericUdsInterface | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | GenericUDSService | |
| Syntax: | class GenericUDSService {...}; | |
| Description: | Generic UDS interface. | |
19.1.1 Public Member Functions
19.1.1.1 Special Member Functions
19.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | GenericUDSService (GenericUDSService &&) noexcept=delete; | |
| Description: | Move constructor of GenericUDSService. | |
19.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | ara::diag::GenericUDSService & operator= (ara::diag::GenericUDSService &&)=delete; | |
| Description: | Move assignment operator of GenericUDSService. | |
19.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | virtual ~GenericUDSService () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of GenericUDSService. | |
19.1.1.2 Constructors
19.1.1.2.1 GenericUDSService(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | explicit GenericUDSService (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticGenericUdsInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticGenericUdsInterface needs to be referenced by a DiagnosticServiceGenericMapping. | |
| 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: | Constructor of GenericUDSService. | |
19.1.1.2.2 GenericUDSService(GenericUDSService&)
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | GenericUDSService (GenericUDSService &)=delete; | |
| Description: | GenericUDSService shall be a single not copy-able instance. | |
19.1.1.3 Member Functions
19.1.1.3.1 HandleMessage
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | virtual ara::core::Future< ara::diag::GenericUDSService::OperationOutput > HandleMessage (std::uint8_t sid, ara::core::Span< const std::uint8_t > requestData, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | sid | Diagnostic Request Service Identifier. |
| requestData | Diagnostic request data (starting after SID). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Result with either a OperationOutput or an error |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for any request message. | |
19.1.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
19.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
19.1.1.3.4 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Syntax: | ara::diag::GenericUDSService & operator= (ara::diag::GenericUDSService &)=delete; | |
| Description: | GenericUDSService shall be a single not assignable instance. | |
19.2 Struct: OperationOutput
| Kind: | struct | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::GenericUDSService | |
| Symbol: | OperationOutput | |
| Syntax: | struct OperationOutput {...}; | |
| Description: | Response data of positive respose message. | |
19.2.1 Public Member Variables
19.2.1.1 responseData
| Kind: | variable | |
| Header file: | #include "ara/diag/generic_uds_service.h" | |
| Scope: | ara::diag::GenericUDSService::OperationOutput | |
| Symbol: | responseData | |
| Type: | ara::core::Vector< std::uint8_t > | |
| Syntax: | ara::core::Vector<std::uint8_t> responseData; | |
| Description: | Content of positive respose message (without SID) | |
20 Header: ara/diag/meta_info.h
20.1 Class: MetaInfo
| Kind: | class | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | MetaInfo | |
| Syntax: | class MetaInfo final {...}; | |
| Description: | Metainfo interface. | |
20.1.1 Public Member Types
20.1.1.1 Type Alias: Context
| Kind: | type alias | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Symbol: | Context | |
| Syntax: | using Context = std::uint32_t; | |
| Description: | Definition of possible call context. | |
20.1.2 Public Member Variables
20.1.2.1 kDiagnosticCommunication
| Kind: | variable | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Symbol: | kDiagnosticCommunication | |
| Type: | MetaInfo::Context | |
| Syntax: | MetaInfo::Context kDiagnosticCommunication = 0x01; | |
| Description: | Service request in DCM context. | |
20.1.2.2 kDoIP
| Kind: | variable | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Symbol: | kDoIP | |
| Type: | MetaInfo::Context | |
| Syntax: | MetaInfo::Context kDoIP = 0x03; | |
| Description: | For reading VIN. | |
20.1.2.3 kFaultMemory
| Kind: | variable | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Symbol: | kFaultMemory | |
| Type: | MetaInfo::Context | |
| Syntax: | MetaInfo::Context kFaultMemory = 0x02; | |
| Description: | For DIDs in Snapshots. | |
20.1.3 Public Member Functions
20.1.3.1 Special Member Functions
20.1.3.1.1 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | MetaInfo (const MetaInfo &)=delete; | |
| Description: | Copy Constructor of MetaInfo cannot be used. | |
20.1.3.1.2 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | MetaInfo () noexcept=delete; | |
| Description: | Constructor of MetaInfo cannot be used. | |
20.1.3.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | MetaInfo (MetaInfo &&obj) noexcept; | |
| Parameters (in): | obj | object to be moved |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move Constructor of MetaInfo. | |
20.1.3.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | ara::diag::MetaInfo & operator= (const ara::diag::MetaInfo &)=delete; | |
| Description: | Copy Assignment Operator of MetaInfo cannot be used. | |
20.1.3.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | ara::diag::MetaInfo & operator= (ara::diag::MetaInfo &&other) & noexcept; | |
| Parameters (in): | other | MetaInfo instance |
| Return value: | MetaInfo & | Reference to the current object |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Move Assignment Operator of MetaInfo. | |
20.1.3.1.6 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | ~MetaInfo () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Default destructor. | |
20.1.3.2 Member Functions
20.1.3.2.1 GetContext
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | ara::diag::MetaInfo::Context GetContext () const noexcept; | |
| Return value: | Context | Returns the context. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Get the context of the invocation. | |
20.1.3.2.2 GetValue
| Kind: | function | |
| Header file: | #include "ara/diag/meta_info.h" | |
| Scope: | ara::diag::MetaInfo | |
| Syntax: | ara::core::Optional< ara::core::StringView > GetValue (ara::core::StringView key) const noexcept; | |
| Parameters (in): | key | identification of value to be returned |
| Return value: | ara::core::Optional< ara::core::StringView > | Returns value for the given key. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Get the metainfo value for a given key. | |
21 Header: ara/diag/release_handler.h
21.1 Class: ReleaseHandler
| Kind: | class | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ReleaseHandler | |
| Syntax: | class ReleaseHandler final {...}; | |
| Description: | ReleaseHandler contains a shared state if the processing should be cancelled. | |
21.1.1 Public Member Types
21.1.1.1 Type Alias: ReleaseHandlerSetNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Symbol: | ReleaseHandlerSetNotifier | |
| Syntax: | using ReleaseHandlerSetNotifier = std::function<void(void)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Notifier function which is called if the shared resource can be freed. | |
21.1.2 Public Member Functions
21.1.2.1 Special Member Functions
21.1.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | ReleaseHandler ()=delete; | |
| Description: | Default constructor of ReleaseHandler cannot be used. | |
21.1.2.1.2 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | ReleaseHandler (ReleaseHandler &&other) noexcept; | |
| Parameters (out): | other | The other object |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructs instance of class. | |
21.1.2.1.3 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | ara::diag::ReleaseHandler & operator= (ara::diag::ReleaseHandler &&other) & noexcept; | |
| Parameters (out): | other | The other object |
| Return value: | ReleaseHandler & | Reference to self |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Move assigns instance of class. | |
21.1.2.1.4 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | ~ReleaseHandler () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Default destructor. | |
21.1.2.2 Constructors
21.1.2.2.1 ReleaseHandler
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | ReleaseHandler (ReleaseHandler const &)=delete; | |
| Description: | Copy constructor of ReleaseHandler cannot be used. | |
21.1.2.3 Member Functions
21.1.2.3.1 MayRelease
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | bool MayRelease () const noexcept; | |
| Return value: | bool | True in if the shared resource is no longer in use, False otherwise |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Reports whether the shared resource is no longer in use. | |
21.1.2.3.2 SetNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | void SetNotifier (ara::diag::ReleaseHandler::ReleaseHandlerSetNotifier notifier) noexcept; | |
| Parameters (in): | notifier | Notification function that is called upon releasing the shared resource |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Registering a notifier function which is called if the shared resource can be freed. A consecutive call of this method will overwrite the previous registered notifier. | |
| Notes: | The passed in function does not throw any exceptions. The passed notifier must contain a callable object. | |
21.1.2.3.3 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/release_handler.h" | |
| Scope: | ara::diag::ReleaseHandler | |
| Syntax: | ara::diag::ReleaseHandler & operator= (ara::diag::ReleaseHandler const &)=delete; | |
| Description: | Copy assignment operator of ReleaseHandler cannot be used. | |
22 Header: ara/diag/security_access.h
22.1 Non-Member Types
22.1.1 Enumeration: KeyCompareResultType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/security_access.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | KeyCompareResultType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class KeyCompareResultType : std::uint8_t {...}; | |
| Values: | kKeyValid | = 0x00 |
| Key is valid. | ||
| kKeyInvalid | = 0x01 | |
| Key is invalid. | ||
| Description: | Represents the status of the key compare. | |
22.2 Class: SecurityAccess
| Kind: | class | |
| Port Interfaces: | DiagnosticSecurityLevelInterface | |
| Header file: | #include "ara/diag/security_access.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | SecurityAccess | |
| Syntax: | class SecurityAccess {...}; | |
| Description: | DiagnosticSecurityAccessInterface. | |
22.2.1 Public Member Functions
22.2.1.1 Special Member Functions
22.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | SecurityAccess (SecurityAccess &&) noexcept=delete; | |
| Description: | Move constructor of SecurityAccess. | |
22.2.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | ara::diag::SecurityAccess & operator= (ara::diag::SecurityAccess &&)=delete; | |
| Description: | Move assignment operator of SecurityAccess. | |
22.2.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | virtual ~SecurityAccess () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of SecurityAccess . | |
22.2.1.2 Constructors
22.2.1.2.1 SecurityAccess(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | explicit SecurityAccess (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticSecurityLevelInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is referenced by a DiagnosticSecurityLevelPortMapping needs to be typed by a DiagnosticSecurityLevelInterface. | |
| 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: | Constructor of SecurityAccess. | |
22.2.1.2.2 SecurityAccess(SecurityAccess&)
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | SecurityAccess (SecurityAccess &)=delete; | |
| Description: | SecurityAccess shall be a single not copy-able instance. | |
22.2.1.3 Member Functions
22.2.1.3.1 CompareKey
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | virtual ara::core::Future< ara::diag::KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | key | The key to be validated. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< KeyCompareResultType > | Result of the key validation. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | This method is called, when a diagnostic request has been finished, to notify about the outcome. | |
22.2.1.3.2 GetSeed
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | virtual ara::core::Future< ara::core::Vector< std::uint8_t > > GetSeed (ara::core::Span< const std::uint8_t > securityAccessDataRecord, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | securityAccessDataRecord | Security Access payload, Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< ara::core::Vector< std::uint8_t > > | provided seed |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for any request messsage. | |
22.2.1.3.3 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
22.2.1.3.4 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
22.2.1.3.5 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/security_access.h" | |
| Scope: | ara::diag::SecurityAccess | |
| Syntax: | ara::diag::SecurityAccess & operator= (ara::diag::SecurityAccess &)=delete; | |
| Description: | SecurityAccess shall be a single not assignable instance. | |
23 Header: ara/diag/service_validation.h
23.1 Non-Member Types
23.1.1 Enumeration: ConfirmationStatusType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ConfirmationStatusType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ConfirmationStatusType : std::uint8_t {...}; | |
| Values: | kResPosOk | = 0x00 |
| Positive response has been sent out successfully. | ||
| kResPosNotOk | = 0x01 | |
| Positive response has not been sent out successfully. | ||
| kResNegOk | = 0x02 | |
| Negative response has been sent out successful. | ||
| kResNegNotOk | = 0x03 | |
| Negative response has not been sent out successfully. | ||
| kResPosSuppressed | = 0x04 | |
| Positive answer suppressed. | ||
| kResNegSuppressed | = 0x05 | |
| Negative answer suppressed. | ||
| kCanceled | = 0x06 | |
| Processing is cancelled. | ||
| kNoProcessingNoResponse | = 0x07 | |
| Processing rejected in Validation. | ||
| Description: | Represents the status of the service processing. | |
23.2 Class: ServiceValidation
| Kind: | class | |
| Port Interfaces: | DiagnosticServiceValidationInterface | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ServiceValidation | |
| Syntax: | class ServiceValidation {...}; | |
| Description: | DiagnosticServiceValidationInterface. | |
23.2.1 Public Member Functions
23.2.1.1 Special Member Functions
23.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | ServiceValidation (ServiceValidation &&)=delete; | |
| Description: | Move constructor of ServiceValidation. | |
23.2.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | ara::diag::ServiceValidation & operator= (ara::diag::ServiceValidation &&)=delete; | |
| Description: | Move assignment operator of ServiceValidation. | |
23.2.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | virtual ~ServiceValidation () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of ServiceValidation . | |
23.2.1.2 Constructors
23.2.1.2.1 ServiceValidation(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | explicit ServiceValidation (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticServiceValidationInterface |
| 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 | A PortPrototype that is referenced by a DiagnosticServiceValidationMapping needs to be typed by a DiagnosticServiceValidationInterface. | |
| 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: | Constructor of ServiceValidation. Depending on value of attribute DiagnosticServiceValidationMapping.Identifiable.category, the SWS_DM_00774.ara::diag::ServiceValidation::Validate is either called in the context of the NRC sequence in chapter 8.7 response implementation rules from UDS ISO 14229-1 as a Manufacturer or a Supplier Check. | |
23.2.1.2.2 ServiceValidation(ServiceValidation&)
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | ServiceValidation (ServiceValidation &)=delete; | |
| Description: | ServiceValidation shall be a single not copy-able instance. | |
23.2.1.3 Member Functions
23.2.1.3.1 Confirmation
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | virtual void Confirmation (ara::diag::ConfirmationStatusType status, const ara::diag::MetaInfo &metaInfo) noexcept; | |
| Parameters (in): | status | status/outcome of the service processing. |
| metaInfo | MetaInfo of the request. | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This method is called, when a diagnostic request has been finished, to notify about the outcome. | |
23.2.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
23.2.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
23.2.1.3.4 Validate
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | virtual ara::core::Future< void > Validate (ara::core::Span< const std::uint8_t > requestData, const ara::diag::MetaInfo &metaInfo) noexcept; | |
| Parameters (in): | requestData | Diagnostic request data (including SID). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. | |
| Return value: | ara::core::Future< void > | Returns nothing or an error |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for any request message. | |
23.2.1.3.5 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/service_validation.h" | |
| Scope: | ara::diag::ServiceValidation | |
| Syntax: | ara::diag::ServiceValidation & operator= (ara::diag::ServiceValidation &)=delete; | |
| Description: | ServiceValidation shall be a single not assignable instance. | |
24 Header: ara/diag/transmit_certificate.h
24.1 Class: TransmitCertificate
| Kind: | class | |
| Port Interfaces: | DiagnosticTransmitCertificateInterface | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | TransmitCertificate | |
| Syntax: | class TransmitCertificate {...}; | |
| Description: | Class to implement the subfunction TransmitCertificate (29 04) of UDS service Authentication as interface to application. This class implements a so called generic interface, where the application has means to handle one ore more certificateEvaluationId transferred certificates. | |
24.1.1 Public Member Functions
24.1.1.1 Special Member Functions
24.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | TransmitCertificate (TransmitCertificate &&) noexcept=delete; | |
| Description: | Move constructor of TransmitCertificate. | |
24.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | ara::diag::TransmitCertificate & operator= (ara::diag::TransmitCertificate &&)=delete; | |
| Description: | Move assignment operator of TransmitCertificate. | |
24.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | virtual ~TransmitCertificate () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Destructor of TransmitCertificate. | |
24.1.1.2 Constructors
24.1.1.2.1 TransmitCertificate(TransmitCertificate&)
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | TransmitCertificate (TransmitCertificate &)=delete; | |
| Description: | Authentication shall be a single not copy-able instance. | |
24.1.1.2.2 TransmitCertificate(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | explicit TransmitCertificate (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticTransmitCertificateInterface service instance in the manifest. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is referenced by a DiagnosticAuthenticationPortMapping needs to be typed by a DiagnosticTransmitCertificateInterface. | |
| 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: | Constructor of TransmitCertificate. | |
24.1.1.3 Member Functions
24.1.1.3.1 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
24.1.1.3.2 Process
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | virtual ara::core::Future< void > Process (std::uint16_t certificateEvaluationId, ara::core::Span< ara::core::Byte const > certificateData, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | certificateEvaluationId | Represents the 16bit certificate evaluation ID as part of the UDS request message |
| certificateData | Certificate to be verified, transmitted by the tester | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | void |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | This method is used to process certificates send by a diagnostic tester, via the UDS subfunction TransmitCertificate inside the application. There is no specific semantics for the certificate and it is left to the application to process the received certificate and derive the needed actions. | |
24.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
24.1.1.3.4 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/transmit_certificate.h" | |
| Scope: | ara::diag::TransmitCertificate | |
| Syntax: | ara::diag::TransmitCertificate & operator= (ara::diag::TransmitCertificate &)=delete; | |
| Description: | Authentication shall be a single not assignable instance. | |
25 Header: ara/diag/upload.h
25.1 Class: UploadService
| Kind: | class | |
| Port Interfaces: | DiagnosticUploadInterface | |
| Header file: | #include "ara/diag/upload.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | UploadService | |
| Syntax: | class UploadService {...}; | |
| Description: | Upload service interface. | |
25.1.1 Public Member Functions
25.1.1.1 Special Member Functions
25.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | UploadService (UploadService &&) noexcept=delete; | |
| Description: | Move constructor of UploadService. | |
25.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | ara::diag::UploadService & operator= (ara::diag::UploadService &&)=delete; | |
| Description: | Move assignment operator of UploadService. | |
25.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | virtual ~UploadService () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class UploadService. | |
25.1.1.2 Constructors
25.1.1.2.1 UploadService(UploadService&)
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | UploadService (UploadService &)=delete; | |
| Description: | UploadService shall be a single not copy-able instance. | |
25.1.1.2.2 UploadService(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | explicit UploadService (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticUploadInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticUploadInterface needs to be referenced by a DiagnosticServiceGenericMapping. | |
| 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: | Class for an UploadService. | |
25.1.1.3 Member Functions
25.1.1.3.1 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
25.1.1.3.2 RequestUpload
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | virtual ara::core::Future< void > RequestUpload (std::uint8_t dataFormatIdentifier, std::uint8_t addressAndLengthFormatIdentifier, ara::core::Span< const std::uint8_t > memoryAddressAndSize, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | dataFormatIdentifier | UDS dataFormat Identifier |
| addressAndLengthFormatIdentifier | UDS addressAndLengthFormatIdentifier | |
| memoryAddressAndSize | memoryAddress and memorySize part of the request. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. | |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | A Result with either void (for a positive response message) or an UDS NRC value (for a negative response message). |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestUpload. | |
25.1.1.3.3 RequestUploadExit
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | virtual ara::core::Future< ara::diag::UploadService::OperationOutput > RequestUploadExit (ara::core::Span< const std::uint8_t > transferRequestParameterRecord, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | transferRequestParameterRecord | This parameter record contains parameter(s), which are required by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.responseData will be placed after SID as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for RequestTransferExit. | |
25.1.1.3.4 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
25.1.1.3.5 UploadData
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | virtual ara::core::Future< ara::diag::UploadService::OperationOutput > UploadData (std::size_t numBytesToReturn, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | numBytesToReturn | number of bytes DM accepts (due to its internal buffer) for this chunk. |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< OperationOutput > | A Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for a negative response message). Data in OperationOutput.responseData will be placed after blockSequenceCounter as transferResponseParameterRecord in the positive response. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Called for TransferData following a previous RequestUpload. | |
25.1.1.3.6 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService | |
| Syntax: | ara::diag::UploadService & operator= (ara::diag::UploadService &)=delete; | |
| Description: | UploadService shall be a single not assignable instance. | |
25.2 Struct: OperationOutput
| Kind: | struct | |
| Header file: | #include "ara/diag/upload.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::UploadService | |
| Symbol: | OperationOutput | |
| Syntax: | struct OperationOutput {...}; | |
| Description: | Response data of positive respose message. | |
25.2.1 Public Member Variables
25.2.1.1 responseData
| Kind: | variable | |
| Header file: | #include "ara/diag/upload.h" | |
| Scope: | ara::diag::UploadService::OperationOutput | |
| Symbol: | responseData | |
| Type: | ara::core::Vector< std::uint8_t > | |
| Syntax: | ara::core::Vector<std::uint8_t> responseData; | |
| Description: | Content of positive response message (without SID) Depending on the operation (e.g.: UploadData, RequestUploadExit) the expectation, what responseData shall contain (where it starts in the positive response) might differ. See doc of corresponding operation. | |
26 Header: {<data-element-directory-path>}/{<data-element-shortname-lower>}.h
| Kind: | Header File | |
| Syntax: | data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h | |
| Description: | For each modeled DiagnosticDataElementInterface, a Diagnostic DataElement Header File is generated according to this directory path/file name convention and shall: 1. Insert a multiple inclusion guard around the whole header file as per SWS_CORE_90002 | |
| Example: | // File=n/n_plus_1/n_plus_2/si_data-element.h (1) | |
26.1 Namespaces
26.1.1 {<namespace-list-data-element>}
| Kind: | namespace | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | -- | |
| Syntax: | namespace ::namespace_list_data_element | |
| Description: | The generator shall use the SymbolProps aggregated in the role PortInterface. PortInterface.namespace. For each PortInterface.namespace in the ordered list: PortInterface.namespace[N+1] shall be an inner namespace of PortInterface.namespace[N] converted to lower-case. | |
26.2 Class: {<data-element-interface-name-x>}
| Kind: | class | |
| Port Interfaces: | DiagnosticDataElementInterface | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Forwarding header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower_fwd.h" | |
| Scope: | namespace ::namespace_list_data_element | |
| Symbol: | namespace_list_data_element::data_element_interface_name_x::data_element_interface_name_x | |
| Syntax: | class namespace_list_data_element::data_element_interface_name_x::data_element_interface_name_x {...}; | |
| Description: | DiagnosticDataElementInterface class | |
26.2.1 Public Member Variables
26.2.1.1 {<data-element-out-arg-symbol>}
| Kind: | variable | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Symbol: | namespace_list_data_element::data_element_interface_name_x::data_element_out_arg_symbol::data_element_out_arg_symbol | |
| Type: | namespace_list_data_element::data_element_interface_name_x::data_element_out_arg_symbol::data_element_out_arg_type | |
| Syntax: | namespace_list_data_element::data_element_interface_name_x::data_element_out_arg_symbol::data_element_out_arg_type namespace_list_data_element::data_element_interface_name_x::data_element_out_arg_symbol::data_element_out_arg_symbol; | |
| Description: | Member declaration representing an out argument in an namespacelistdataelement::dataelementinterfacenamex::dataelementnameReadOutput. | |
26.2.2 Public Member Functions
26.2.2.1 Member Functions
26.2.2.1.1 Offer
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | • If successful: an ara::core::Result containing a ara::core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::diag::DiagOfferErrc |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler | |
26.2.2.1.2 Read
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | virtual ara::core::Future< namespace_list_data_element::data_element_interface_name_x::Read::data_element_nameReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | metaInfo | MetaInfo of the request. |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< namespace_list_data_element::data_element_interface_name_x::Read::data_element_nameReadOutput > | • If successful: an ara::core::Future containing a namespacelistdataelement::dataelementinterfacenamex::dataelementnameReadOutput object as per SWS_DM_00581 • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Provision of a Read DataElement (DiagnosticDataElementInterface in the role DiagnosticDataElementInterface.read) | |
| Example: | // Example: | |
26.2.2.1.3 StopOffer
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM | |
26.2.2.1.4 operator=(const data_element_interface_name_3&)
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | namespace_list_data_element::data_element_interface_name_x::operator=::data_element_interface_name_3 & operator= (const namespace_list_data_element::data_element_interface_name_x::operator=::data_element_interface_name_3 &other)=delete; | |
| Description: | Copy assignment constructor deletion | |
26.2.2.1.5 operator=(data_element_interface_name_5&&)
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | namespace_list_data_element::data_element_interface_name_x::operator=::data_element_interface_name_5 & operator= (namespace_list_data_element::data_element_interface_name_x::operator=::data_element_interface_name_5 &&other)=delete; | |
| Description: | Move assignment constructor | |
26.2.2.1.6 {<data-element-interface-name-1>}
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | namespace_list_data_element::data_element_interface_name_x::data_element_interface_name_1::data_element_interface_name_1 (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | instanceSpec | The specifier of a specific instance of a service. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticDataElementInterface needs to be referenced by a DiagnosticDataPortMapping. | |
| 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: | Construct a namespacelistdataelement::dataelementinterfacenamex from an ara::core::InstanceSpecifier | |
26.2.2.1.7 {<data-element-interface-name-2>}
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | namespace_list_data_element::data_element_interface_name_x::data_element_interface_name_2::data_element_interface_name_2 (const namespace_list_data_element::data_element_interface_name_x::data_element_interface_name_2::data_element_interface_name_2 &other)=delete; | |
| Description: | Copy constructor deletion | |
26.2.2.1.8 {<data-element-interface-name-4>}
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | namespace_list_data_element::data_element_interface_name_x::data_element_interface_name_4::data_element_interface_name_4 (namespace_list_data_element::data_element_interface_name_x::data_element_interface_name_4::data_element_interface_name_4 &&other)=delete; | |
| Description: | Move constructor | |
26.2.2.1.9 ~{<data-element-interface-name-6>}
| Kind: | function | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Syntax: | virtual ~namespace_list_data_element::data_element_interface_name_x::~data_element_interface_name_6::data_element_interface_name_6 () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destruction of a namespacelistdataelement::dataelementinterfacenamex | |
26.3 Struct: {<data-element-name>}ReadOutput
| Kind: | struct | |
| Header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower.h" | |
| Forwarding header file: | #include "data_element_directory_path_data_element_shortname_lower.h::data_element_directory_path/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower/data_element_directory_path_data_element_shortname_lower.h::data_element_shortname_lower_fwd.h" | |
| Scope: | namespacelistdataelement::dataelementinterfacenamex | |
| Symbol: | namespace_list_data_element::data_element_interface_name_x::data_element_nameReadOutput::data_element_nameReadOutput | |
| Syntax: | struct namespace_list_data_element::data_element_interface_name_x::data_element_nameReadOutput::data_element_nameReadOutput {...}; | |
| Description: | Structure wrapping the out arguments for a SWS_DM_00596.namespacelistdataelement::dataelementinterfacenamex::Read | |
27 Header: {<data-identifier-directory-path>}/{<data-identifier-shortname-lower>}.h
| Kind: | Header File | |
| Syntax: | data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h | |
| Description: | For each modeled DiagnosticDataIdentifierInterface a Diagnostic DataIdentifier Header File is generated according to this directory path/file name convention and shall: 1. Insert a multiple inclusion guard around the whole header file as per SWS_CORE_90002 | |
| Example: | // File=n/n_plus_1/n_plus_2/si_data identifier.h (1) | |
27.1 Namespaces
27.1.1 {<namespace-list-data-identifier>}
| Kind: | namespace | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | -- | |
| Syntax: | namespace ::namespace_list_data_identifier | |
| Description: | The generator shall use the SymbolProps aggregated in the role PortInterface. PortInterface.namespace. For each PortInterface.namespace in the ordered list: PortInterface.namespace[N+1] shall be an inner namespace of PortInterface.namespace[N] converted to lower-case. | |
27.2 Class: {<data-identifier-interface-name-x>}
| Kind: | class | |
| Port Interfaces: | DiagnosticDataIdentifierInterface | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Forwarding header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower_fwd.h" | |
| Scope: | namespace ::namespace_list_data_identifier | |
| Symbol: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_interface_name_x | |
| Syntax: | class namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_interface_name_x {...}; | |
| Description: | DiagnosticDataIdentifierInterface class | |
27.2.1 Public Member Variables
27.2.1.1 {<data-identifier-out-arg-symbol>}
| Kind: | variable | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Symbol: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_out_arg_symbol::data_identifier_out_arg_symbol | |
| Type: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_out_arg_symbol::data_identifier_out_arg_type | |
| Syntax: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_out_arg_symbol::data_identifier_out_arg_type namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_out_arg_symbol::data_identifier_out_arg_symbol; | |
| Description: | Member declaration representing an out argument in an namespacelistdataidentifier::dataidentifierinterfacenamex::dataidentifiernameRead. | |
27.2.2 Public Member Functions
27.2.2.1 Member Functions
27.2.2.1.1 Offer
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | • If successful: an ara::core::Result containing a ara::core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::diag::DiagOfferErrc |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler | |
27.2.2.1.2 Read
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | virtual ara::core::Future< namespace_list_data_identifier::data_identifier_interface_name_x::Read::data_identifier_nameReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | metaInfo | MetaInfo of the request. |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< namespace_list_data_identifier::data_identifier_interface_name_x::Read::data_identifier_nameReadOutput > | • If successful: an ara::core::Future containing a namespacelistdataidentifier::dataidentifierinterfacenamex::dataidentifiername8ReadOutput object as per SWS_DM_00579 • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Provision of a reading DataIdentifier (DiagnosticDataIdentifierInterface in the role DiagnosticDataIdentifierInterface.read). | |
| Example: | // Example: | |
27.2.2.1.3 StopOffer
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM | |
27.2.2.1.4 Write
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | virtual ara::core::Future< void > Write (namespace_list_data_identifier::data_identifier_interface_name_x::Write::data_identifier_in_arg_derived_type_0toN namespace_list_data_identifier::data_identifier_interface_name_x::Write::data_identifier_in_arg_symbol_0toN, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | namespace_list_data_identifier::data_identifier_interface_name_x::Write::data_identifier_in_arg_symbol_0toN | The symbol name of method ClientServerOperation.argument[0..N] in the ordered list of ClientServerOperation arguments, with ClientServerOperation. ArgumentDataPrototype.direction == ArgumentDirectionEnum.in given by ClientServerOperation. ArgumentDataPrototype[0..N]. Referrable.shortName |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< void > | • If successful: an ara::core::Future containing a void. • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Provision of a writing DataIdentifier (DiagnosticDataIdentifierInterface in the role DiagnosticDataIdentifierInterface.write). | |
| Example: | // Example: | |
27.2.2.1.5 operator=(data_identifier_interface_name_5&&)
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | namespace_list_data_identifier::data_identifier_interface_name_x::operator=::data_identifier_interface_name_5 & operator= (namespace_list_data_identifier::data_identifier_interface_name_x::operator=::data_identifier_interface_name_5 &&other)=delete; | |
| Description: | Move assignment constructor | |
27.2.2.1.6 operator=(const data_identifier_interface_name_3&)
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | namespace_list_data_identifier::data_identifier_interface_name_x::operator=::data_identifier_interface_name_3 & operator= (const namespace_list_data_identifier::data_identifier_interface_name_x::operator=::data_identifier_interface_name_3 &other)=delete; | |
| Description: | Copy assignment constructor deletion | |
27.2.2.1.7 {<data-identifier-interface-name-1>}
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_interface_name_1::data_identifier_interface_name_1 (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | instanceSpec | The specifier of a specific instance of a service. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent).. | |
| 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 | A PortPrototype that is typed by a DiagnosticDataIdentifierInterface needs to be referenced by a DiagnosticDataPortMapping. | |
| 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: | Construct a namespacelistdataidentifier::dataidentifierinterfacenamex from an ara::core::InstanceSpecifier | |
27.2.2.1.8 {<data-identifier-interface-name-2>}
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_interface_name_2::data_identifier_interface_name_2 (const namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_interface_name_2::data_identifier_interface_name_2 &other)=delete; | |
| Description: | Copy constructor deletion | |
27.2.2.1.9 {<data-identifier-interface-name-4>}
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_interface_name_4::data_identifier_interface_name_4 (namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_interface_name_4::data_identifier_interface_name_4 &&other)=delete; | |
| Description: | Move constructor | |
27.2.2.1.10 ~{<data-identifier-interface-name-6>}
| Kind: | function | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Syntax: | virtual ~namespace_list_data_identifier::data_identifier_interface_name_x::~data_identifier_interface_name_6::data_identifier_interface_name_6 (); | |
| Exception Safety: | not exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destruction of a namespacelistdataidentifier::dataidentifierinterfacenamex | |
27.3 Struct: {<data-identifier-name>}ReadOutput
| Kind: | struct | |
| Header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower.h" | |
| Forwarding header file: | #include "data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_directory_path/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower/data_identifier_directory_path_data_identifier_shortname_lower.h::data_identifier_shortname_lower_fwd.h" | |
| Scope: | namespacelistdataidentifier::dataidentifierinterfacenamex | |
| Symbol: | namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_nameReadOutput::data_identifier_nameReadOutput | |
| Syntax: | struct namespace_list_data_identifier::data_identifier_interface_name_x::data_identifier_nameReadOutput::data_identifier_nameReadOutput {...}; | |
| Description: | Structure wrapping the out arguments for a namespacelistdataidentifier::dataidentifierinterfacenamex::dataidentifiername8ReadOutput.ReadOutput | |
28 Header: {<routine-interface-directory-path>}/{<routine-interface-shortname-lower>}.h
| Kind: | Header File | |
| Syntax: | routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h | |
| Description: | For each modeled DiagnosticRoutineInterface a Diagnostic Routine Header File is generated according to this directory path/file name convention and shall: 1. Insert a multiple inclusion guard around the whole header file as per SWS_CORE_90002 | |
| Example: | // File=n/n_plus_1/n_plus_2/si_skeleton.h (1) | |
28.1 Namespaces
28.1.1 {<routine-interface-hierarchical-namespace-list>}
| Kind: | namespace | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | -- | |
| Syntax: | namespace ::routine_interface_hierarchical_namespace_list | |
| Description: | The generator shall use the SymbolProps aggregated in the role PortInterface. PortInterface.namespace. For each PortInterface.namespace in the ordered list: PortInterface.namespace[N+1] shall be an inner namespace of PortInterface.namespace[N] converted to lower-case. | |
28.2 Class: {<routine-interface-name-x>}
| Kind: | class | |
| Port Interfaces: | DiagnosticRoutineInterface | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Forwarding header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower_fwd.h" | |
| Scope: | namespace ::routine_interface_hierarchical_namespace_list | |
| Symbol: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_x | |
| Syntax: | class routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_x {...}; | |
| Description: | DiagnosticRoutineInterface class | |
28.2.1 Public Member Variables
28.2.1.1 {<routine-interface-request-result-out-arg-symbol>}
| Kind: | variable | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Symbol: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_request_result_out_arg_symbol::routine_interface_request_result_out_arg_symbol | |
| Type: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_request_result_out_arg_symbol::routine_interface_request_result_out_arg_type | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_request_result_out_arg_symbol::routine_interface_request_result_out_arg_type routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_request_result_out_arg_symbol::routine_interface_request_result_out_arg_symbol; | |
| Description: | Member declaration representing an out argument in an routineinterfacehierarchicalnamespacelist::routineinterfacenamex::routineinterfacename11RequestOutput. | |
28.2.1.2 {<routine-interface-start-out-arg-symbol>}
| Kind: | variable | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Symbol: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_start_out_arg_symbol::routine_interface_start_out_arg_symbol | |
| Type: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_start_out_arg_symbol::routine_interface_start_out_arg_type | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_start_out_arg_symbol::routine_interface_start_out_arg_type routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_start_out_arg_symbol::routine_interface_start_out_arg_symbol; | |
| Description: | Member declaration representing an out argument in an routineinterfacehierarchicalnamespacelist::routineinterfacenamex::StartOutput. | |
28.2.1.3 {<routine-interface-stop-out-arg-symbol>}
| Kind: | variable | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Symbol: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_stop_out_arg_symbol::routine_interface_stop_out_arg_symbol | |
| Type: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_stop_out_arg_symbol::routine_interface_stop_out_arg_type | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_stop_out_arg_symbol::routine_interface_stop_out_arg_type routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_stop_out_arg_symbol::routine_interface_stop_out_arg_symbol; | |
| Description: | Member declaration representing an out argument in an routineinterfacehierarchicalnamespacelist::routineinterfacenamex::routineinterfacename9StopOutput. | |
28.2.2 Public Member Functions
28.2.2.1 Member Functions
28.2.2.1.1 Offer
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler | |
28.2.2.1.2 RequestResult
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | virtual ara::core::Future< routine_interface_hierarchical_namespace_list::routine_interface_name_x::RequestResult::routine_interface_name_12RequestResultOutput > RequestResult (routine_interface_hierarchical_namespace_list::routine_interface_name_x::RequestResult::routine_interface_request_result_in_arg_derived_type_0toN routine_interface_hierarchical_namespace_list::routine_interface_name_x::RequestResult::routine_interface_request_result_in_arg_symbol_0toN, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | routine_interface_hierarchical_namespace_list::routine_interface_name_x::RequestResult::routine_interface_request_result_in_arg_symbol_0toN | The symbol name of method ClientServerOperation.argument[0..N] in the ordered list of ClientServerOperation arguments, with ClientServerOperation. ArgumentDataPrototype.direction == ArgumentDirectionEnum.in given by ClientServerOperation. ArgumentDataPrototype[0..N]. Referrable.shortName |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< routine_interface_hierarchical_namespace_list::routine_interface_name_x::RequestResult::routine_interface_name_12RequestResultOutput > | • If successful: an ara::core::Future containing an routineinterfacehierarchicalnamespacelist::routineinterfacenamex::routineinterfacename11RequestResultOutput object as per SWS_DM_00583 • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Provision of a RequestResult RoutineControl (DiagnosticRoutineInterface in the role DiagnosticRoutineInterface.requestResult). | |
| Example: | // Example: | |
28.2.2.1.3 Start
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | virtual ara::core::Future< routine_interface_hierarchical_namespace_list::routine_interface_name_x::Start::routine_interface_name_8StartOutput > Start (routine_interface_hierarchical_namespace_list::routine_interface_name_x::Start::routine_interface_start_in_arg_derived_type_0toN routine_interface_hierarchical_namespace_list::routine_interface_name_x::Start::routine_interface_start_in_arg_symbol_0toN, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | routine_interface_hierarchical_namespace_list::routine_interface_name_x::Start::routine_interface_start_in_arg_symbol_0toN | The symbol name of method ClientServerOperation.argument[0..N] in the ordered list of ClientServerOperation arguments, with ClientServerOperation. ArgumentDataPrototype.direction == ArgumentDirectionEnum.in given by ClientServerOperation. ArgumentDataPrototype[0..N]. Referrable.shortName |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< routine_interface_hierarchical_namespace_list::routine_interface_name_x::Start::routine_interface_name_8StartOutput > | • If successful: an ara::core::Future containing an routineinterfacehierarchicalnamespacelist::routineinterfacenamex::routineinterfacename6StartOutput object as per SWS_DM_00581 • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Provision of a Start RoutineControl (DiagnosticRoutineInterface in the role DiagnosticRoutineInterface.start). | |
| Example: | // Example: | |
28.2.2.1.4 Stop
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | virtual ara::core::Future< routine_interface_hierarchical_namespace_list::routine_interface_name_x::Stop::routine_interface_name_10StopOutput > Stop (routine_interface_hierarchical_namespace_list::routine_interface_name_x::Stop::routine_interface_stop_in_arg_derived_type_0toN routine_interface_hierarchical_namespace_list::routine_interface_name_x::Stop::routine_interface_stop_in_arg_symbol_0toN, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | routine_interface_hierarchical_namespace_list::routine_interface_name_x::Stop::routine_interface_stop_in_arg_symbol_0toN | The symbol name of method ClientServerOperation.argument[0..N] in the ordered list of ClientServerOperation arguments, with ClientServerOperation.ArgumentDataPrototype.direction == ArgumentDirectionEnum.in given by ClientServerOperation.ArgumentDataPrototype[0..N].Referrable.shortName |
| metaInfo | MetaInfo of the request. | |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< routine_interface_hierarchical_namespace_list::routine_interface_name_x::Stop::routine_interface_name_10StopOutput > | • If successful: an ara::core::Future containing an routineinterfacehierarchicalnamespacelist::routineinterfacenamex::routineinterfacename9StopOutput object as per SWS_DM_00582 • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | Please use an applicable NRC, as defined in ISO 14229-1, using ara::diag::DiagUdsNrcErrc. | |
| Description: | Provision of a Stop RoutineControl (DiagnosticRoutineInterface in the role DiagnosticRoutineInterface.stop). | |
| Example: | // Example: | |
28.2.2.1.5 StopOffer
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM | |
28.2.2.1.6 operator=(routine_interface_name_5&&)
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::operator=::routine_interface_name_5 & operator= (routine_interface_hierarchical_namespace_list::routine_interface_name_x::operator=::routine_interface_name_5 &&other)=delete; | |
| Description: | Move assignment constructor | |
28.2.2.1.7 operator=(const routine_interface_name_3&)
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::operator=::routine_interface_name_3 & operator= (const routine_interface_hierarchical_namespace_list::routine_interface_name_x::operator=::routine_interface_name_3 &other)=delete; | |
| Description: | Copy assignment constructor deletion | |
28.2.2.1.8 {<routine-interface-name-1>}
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_1::routine_interface_name_1 (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | instanceSpec | The specifier of a specific instance of a service. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticRoutineInterface needs to be referenced by a DiagnosticServiceGenericMapping. | |
| 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: | Construct a routineinterfacehierarchicalnamespacelist::routineinterfacenamex from an ara::core::InstanceSpecifier | |
28.2.2.1.9 {<routine-interface-name-2>}
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_2::routine_interface_name_2 (const routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_2::routine_interface_name_2 &other)=delete; | |
| Description: | Copy constructor deletion | |
28.2.2.1.10 {<routine-interface-name-4>}
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_4::routine_interface_name_4 (routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_4::routine_interface_name_4 &&other)=delete; | |
| Description: | Move constructor | |
28.2.2.1.11 ~{<routine-interface-name-6>}
| Kind: | function | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Syntax: | virtual ~routine_interface_hierarchical_namespace_list::routine_interface_name_x::~routine_interface_name_6::routine_interface_name_6 () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destruction of a routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
28.3 Struct: {<routine-interface-name-11>}RequestResultOutput
| Kind: | struct | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Forwarding header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower_fwd.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Symbol: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_11RequestResultOutput::routine_interface_name_11RequestResultOutput | |
| Syntax: | struct routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_11RequestResultOutput::routine_interface_name_11RequestResultOutput {...}; | |
| Description: | Structure wrapping the out arguments for a SWS_DM_00593.routineinterfacehierarchicalnamespacelist::routineinterfacenamex::RequestResult | |
28.4 Struct: {<routine-interface-name-6>}StartOutput
| Kind: | struct | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Forwarding header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower_fwd.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Symbol: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::~routine_interface_name_6::routine_interface_name_6StartOutput | |
| Syntax: | struct routine_interface_hierarchical_namespace_list::routine_interface_name_x::~routine_interface_name_6::routine_interface_name_6StartOutput {...}; | |
| Description: | Structure wrapping the out arguments for a SWS_DM_00591.routineinterfacehierarchicalnamespacelist::routineinterfacenamex::Start | |
28.5 Struct: {<routine-interface-name-9>}StopOutput
| Kind: | struct | |
| Header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower.h" | |
| Forwarding header file: | #include "routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_directory_path/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower/routine_interface_directory_path_routine_interface_shortname_lower.h::routine_interface_shortname_lower_fwd.h" | |
| Scope: | routineinterfacehierarchicalnamespacelist::routineinterfacenamex | |
| Symbol: | routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_9StopOutput::routine_interface_name_9StopOutput | |
| Syntax: | struct routine_interface_hierarchical_namespace_list::routine_interface_name_x::routine_interface_name_9StopOutput::routine_interface_name_9StopOutput {...}; | |
| Description: | Structure wrapping the out arguments for a SWS_DM_00592.routineinterfacehierarchicalnamespacelist::routineinterfacenamex::Stop | |
29 Header: ara/diag/doip_activationline.h
29.1 Class: DoIPActivationLine
| Kind: | class | |
| Port Interfaces: | DiagnosticDoIPActivationLineInterface | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DoIPActivationLine | |
| Syntax: | class DoIPActivationLine {...}; | |
| Description: | DiagnosticDoIPActivationLineInterface. | |
29.1.1 Public Member Functions
29.1.1.1 Special Member Functions
29.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | DoIPActivationLine (DoIPActivationLine &&) noexcept=delete; | |
| Description: | Move constructor of DoIPActivationLine. | |
29.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | ara::diag::DoIPActivationLine & operator= (ara::diag::DoIPActivationLine &&)=delete; | |
| Description: | Move assignment operator of DoIPActivationLine. | |
29.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | virtual ~DoIPActivationLine () noexcept=default; | |
| Exception Safety: | exception safe | |
| Description: | Destructor of DoIPActivationLine. | |
29.1.1.2 Constructors
29.1.1.2.1 DoIPActivationLine(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | explicit DoIPActivationLine (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticDoIPActivationLineInterface |
| 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 | A PortPrototype that is referenced by a DiagnosticDoIpActivationLinePortMapping needs to be typed by a DiagnosticDoIPActivationLineInterface. | |
| 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: | Constructor of DoIPActivationLine. | |
29.1.1.2.2 DoIPActivationLine(DoIPActivationLine&)
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | DoIPActivationLine (DoIPActivationLine &)=delete; | |
| Description: | DoIPActivationLine shall be a single not copy-able instance. | |
29.1.1.3 Member Functions
29.1.1.3.1 GetActivationLineState
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | virtual ara::core::Future< bool > GetActivationLineState () noexcept=0; | |
| Return value: | ara::core::Future< bool > | TRUE in case the activation line is active, else FALSE. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Called to get the current activation line state. | |
29.1.1.3.2 GetNetworkInterfaceId
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | virtual ara::core::Future< std::uint8_t > GetNetworkInterfaceId () noexcept=0; | |
| Return value: | ara::core::Future< std::uint8_t > | network interface id for which this activation line is responsible. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Called to get the network interface Id (see DoIpNetworkConfiguration.networkInterfaceId) for which this DoIPActivationLine instance is responsible. | |
| Notes: | If the reported DoIpNetworkConfiguration.networkInterfaceId belongs to a DoIpNetworkConfiguration with property DoIpNetworkConfiguration.isActivationLineDependent = 'FALSE', this is an error! | |
29.1.1.3.3 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to listen to activation line state changes. | |
29.1.1.3.4 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the provision of activation line state to DM. | |
29.1.1.3.5 UpdateActivationLineState
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | void UpdateActivationLineState (bool activation_line_state); | |
| Parameters (in): | activation_line_state | TRUE in case the activation line is active, else FALSE |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Called to update current activation line state. | |
29.1.1.3.6 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/doip_activationline.h" | |
| Scope: | ara::diag::DoIPActivationLine | |
| Syntax: | ara::diag::DoIPActivationLine & operator= (ara::diag::DoIPActivationLine &)=delete; | |
| Description: | DoIPActivationLine shall be a single not assignable instance. | |
30 Header: ara/diag/doip_entity_identification.h
30.1 Class: DoIPEntityIdentification
| Kind: | class | |
| Port Interfaces: | DiagnosticDoIPEntityIdentificationInterface | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DoIPEntityIdentification | |
| Syntax: | class DoIPEntityIdentification {...}; | |
| Description: | DoIPEntityIdentification class to obtain the EID if required. | |
30.1.1 Public Member Functions
30.1.1.1 Special Member Functions
30.1.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Scope: | ara::diag::DoIPEntityIdentification | |
| Syntax: | virtual ~DoIPEntityIdentification () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DoIPEntityIdentification. | |
30.1.1.2 Constructors
30.1.1.2.1 DoIPEntityIdentification
| Kind: | function | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Scope: | ara::diag::DoIPEntityIdentification | |
| Syntax: | explicit DoIPEntityIdentification (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticDoIPEntityIdentificationInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent).. | |
| 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 | A PortPrototype that is referenced by a DiagnosticDoIpEntityIdentificationPortMapping needs to be typed by a DiagnosticDoIPEntityIdentificationInterface. | |
| 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: | Constructor of DoIPEntityIdentification. | |
30.1.1.3 Member Functions
30.1.1.3.1 GetEntityId
| Kind: | function | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Scope: | ara::diag::DoIPEntityIdentification | |
| Syntax: | virtual ara::core::Future< ara::diag::DoIPEntityIdentification::EntityId > GetEntityId () noexcept=0; | |
| Return value: | ara::core::Future< EntityId > | Entity identification |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Called to get the EID for the DoIP protocol. | |
30.1.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Scope: | ara::diag::DoIPEntityIdentification | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
30.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Scope: | ara::diag::DoIPEntityIdentification | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
30.2 Struct: EntityId
| Kind: | struct | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DoIPEntityIdentification | |
| Symbol: | EntityId | |
| Syntax: | struct EntityId {...}; | |
| Description: | Entity Identification value ( EID ) as defined in ISO 13400-2 ISO-13400-2. | |
30.2.1 Public Member Variables
30.2.1.1 entityIdentification
| Kind: | variable | |
| Header file: | #include "ara/diag/doip_entity_identification.h" | |
| Scope: | ara::diag::DoIPEntityIdentification::EntityId | |
| Symbol: | entityIdentification | |
| Type: | ara::core::Array< std::uint8_t, 6 > | |
| Syntax: | ara::core::Array<std::uint8_t, 6> entityIdentification; | |
| Description: | Entity Identification value. | |
31 Header: ara/diag/doip_group_identification.h
31.1 Class: DoIPGroupIdentification
| Kind: | class | |
| Port Interfaces: | DiagnosticDoIPGroupIdentificationInterface | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DoIPGroupIdentification | |
| Syntax: | class DoIPGroupIdentification {...}; | |
| Description: | DoIPGroupIdentificationInterface. | |
31.1.1 Public Member Functions
31.1.1.1 Special Member Functions
31.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | DoIPGroupIdentification (DoIPGroupIdentification &&) noexcept=delete; | |
| Description: | Move constructor of DoIPGroupIdentification. | |
31.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | ara::diag::DoIPGroupIdentification & operator= (ara::diag::DoIPGroupIdentification &&)=delete; | |
| Description: | Move assignment operator of DoIPGroupIdentification. | |
31.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | virtual ~DoIPGroupIdentification () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DoIPGroupIdentification. | |
31.1.1.2 Constructors
31.1.1.2.1 DoIPGroupIdentification(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | explicit DoIPGroupIdentification (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticDoIPGroupIdentificationInterface. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is referenced by a DiagnosticDoIpGroupIdentificationPortMapping needs to be typed by a DiagnosticDoIPGroupIdentificationInterface. | |
| 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: | Constructor of DoIPGroupIdentification. | |
31.1.1.2.2 DoIPGroupIdentification(DoIPGroupIdentification&)
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | DoIPGroupIdentification (DoIPGroupIdentification &)=delete; | |
| Description: | DoIPGroupIdentification shall be a single not copy-able instance. | |
31.1.1.3 Member Functions
31.1.1.3.1 GetGidStatus
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | virtual ara::core::Future< ara::diag::DoIPGroupIdentification::GidStatus > GetGidStatus () noexcept=0; | |
| Return value: | ara::core::Future< GidStatus > | group identification and state |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Called to get the current GID state for the DoIP protocol. | |
31.1.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
31.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM to this handler. | |
31.1.1.3.4 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Syntax: | ara::diag::DoIPGroupIdentification & operator= (ara::diag::DoIPGroupIdentification &)=delete; | |
| Description: | DoIPGroupIdentification shall be a single not assignable instance. | |
31.2 Struct: GidStatus
| Kind: | struct | |
| Header file: | #include "ara/diag/doip_group_identification.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DoIPGroupIdentification | |
| Symbol: | GidStatus | |
| Syntax: | struct GidStatus {...}; | |
| Description: | Response data of positive response message. | |
32 Header: ara/diag/doip_power_mode.h
32.1 Non-Member Types
32.1.1 Enumeration: PowerModeType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | PowerModeType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class PowerModeType : std::uint8_t {...}; | |
| Values: | kNotReady | = 0x00 |
| not all ECUs accessible via DoIP can communicate | ||
| kReady | = 0x01 | |
| all ECUs accessible via DoIP can communicate | ||
| kNotSupported | = 0x02 | |
| the Diagnostic Information Power Mode Information Request message is not supported | ||
| Description: | PowerMode as defined in ISO 13400-2 ISO-13400-2. | |
32.2 Class: DoIPPowerMode
| Kind: | class | |
| Port Interfaces: | DiagnosticDoIPPowerModeInterface | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DoIPPowerMode | |
| Syntax: | class DoIPPowerMode {...}; | |
| Description: | DiagnosticDoIPPowerModeInterface. | |
32.2.1 Public Member Functions
32.2.1.1 Special Member Functions
32.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | DoIPPowerMode (DoIPPowerMode &&) noexcept=delete; | |
| Description: | Move constructor of DoIPPowerMode. | |
32.2.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | ara::diag::DoIPPowerMode & operator= (ara::diag::DoIPPowerMode &&)=delete; | |
| Description: | Move assignment operator of DoIPPowerMode. | |
32.2.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | virtual ~DoIPPowerMode () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DoIPPowerMode . | |
32.2.1.2 Constructors
32.2.1.2.1 DoIPPowerMode(const ara::core::InstanceSpecifier&, ConcurrencyType)
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | explicit DoIPPowerMode (const ara::core::InstanceSpecifier &specifier, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticDoIPPowerModeInterface |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent).. | |
| 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 | A PortPrototype that is referenced by a DiagnosticDoIpPowerModePortMapping needs to be typed by a DiagnosticDoIPPowerModeInterface. | |
| 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: | Constructor of DoIPPowerMode. | |
32.2.1.2.2 DoIPPowerMode(DoIPPowerMode&)
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | DoIPPowerMode (DoIPPowerMode &)=delete; | |
| Description: | DoIPPowerMode shall be a single not copiable instance. | |
32.2.1.3 Member Functions
32.2.1.3.1 GetDoIPPowerMode
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | virtual ara::core::Future< ara::diag::PowerModeType > GetDoIPPowerMode () noexcept=0; | |
| Return value: | ara::core::Future< PowerModeType > | current diagnostic power mode |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Called to get the current Power Mode for the DoIP protocol. | |
32.2.1.3.2 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
32.2.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
32.2.1.3.4 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/doip_power_mode.h" | |
| Scope: | ara::diag::DoIPPowerMode | |
| Syntax: | ara::diag::DoIPPowerMode & operator= (ara::diag::DoIPPowerMode &)=delete; | |
| Description: | DoIPPowerMode shall be a single not assignable instance. | |
33 Header: ara/diag/doip_trigger_vehicle_announcement.h
33.1 Class: DoIPTriggerVehicleAnnouncement
| Kind: | class | |
| Port Interfaces: | DiagnosticDoIPTriggerVehicleAnnouncementInterface | |
| Header file: | #include "ara/diag/doip_trigger_vehicle_announcement.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DoIPTriggerVehicleAnnouncement | |
| Syntax: | class DoIPTriggerVehicleAnnouncement {...}; | |
| Description: | DiagnosticDoIPTriggerVehicleAnnouncement. | |
33.1.1 Public Member Functions
33.1.1.1 Member Functions
33.1.1.1.1 GetDoIPTriggerVehicleAnnouncement
| Kind: | function | |
| Header file: | #include "ara/diag/doip_trigger_vehicle_announcement.h" | |
| Scope: | ara::diag::DoIPTriggerVehicleAnnouncement | |
| Syntax: | static ara::core::Result< std::reference_wrapper< ara::diag::DoIPTriggerVehicleAnnouncement > > GetDoIPTriggerVehicleAnnouncement () noexcept; | |
| Return value: | ara::core::Result< std::reference_wrapper< DoIPTriggerVehicleAnnouncement > > | DoIPTriggerVehicleAnnouncement object |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Get DoIPTriggerVehicleAnnouncement interface from DM. | |
33.1.1.1.2 TriggerVehicleAnnouncement
| Kind: | function | |
| Header file: | #include "ara/diag/doip_trigger_vehicle_announcement.h" | |
| Scope: | ara::diag::DoIPTriggerVehicleAnnouncement | |
| Syntax: | virtual ara::core::Result< void > TriggerVehicleAnnouncement (std::uint8_t networkInterfaceId) noexcept=0; | |
| Parameters (in): | networkInterfaceId | network interface id on which a vehicle announcement shall be sent. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Called by application to trigger DM sending out vehicle announcements on the given network interface Id. | |
| Notes: | If the reported DoIPNetworkConfiguration.networkInterfaceId belongs to a DoIPNetworkConfiguration with property isActivationLineDependent = TRUE, this is an error as on those interfaces sending of announcements happens automatically after activation line going up/IP address assignment. | |
33.1.2 Private Member Functions
33.1.2.1 Special Member Functions
33.1.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_trigger_vehicle_announcement.h" | |
| Scope: | ara::diag::DoIPTriggerVehicleAnnouncement | |
| Syntax: | DoIPTriggerVehicleAnnouncement ()=delete; | |
| Description: | Ctor is vendor-specific. | |
| Visibility: | private | |
33.1.2.1.2 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/doip_trigger_vehicle_announcement.h" | |
| Scope: | ara::diag::DoIPTriggerVehicleAnnouncement | |
| Syntax: | ~DoIPTriggerVehicleAnnouncement () noexcept=delete; | |
| Description: | Dtor is vendor-specific. | |
| Visibility: | private | |
34 Header: ara/diag/condition.h
34.1 Non-Member Types
34.1.1 Enumeration: ConditionType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/condition.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ConditionType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ConditionType : std::uint8_t {...}; | |
| Values: | kConditionFalse | = 0x00 |
| condition is set to false | ||
| kConditionTrue | = 0x01 | |
| condition is set to true | ||
| Description: | Type for Condition status. | |
34.2 Class: Condition
| Kind: | class | |
| Port Interfaces: | DiagnosticConditionInterface | |
| Header file: | #include "ara/diag/condition.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | Condition | |
| Syntax: | class Condition final {...}; | |
| Description: | DiagnosticConditionInterface. | |
34.2.1 Public Member Functions
34.2.1.1 Special Member Functions
34.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | Condition (Condition &&) noexcept=delete; | |
| Description: | Move constructor of Condition. | |
34.2.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | ara::diag::Condition & operator= (ara::diag::Condition &&)=delete; | |
| Description: | Move assignment operator of Condition. | |
34.2.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | ~Condition () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class Condition . | |
34.2.1.2 Constructors
34.2.1.2.1 Condition(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | explicit Condition (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticConditionInterface. |
| 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 | A PortPrototype that is typed by a DiagnosticConditionInterface needs either to be referenced by a DiagnosticEnableConditionPortMapping or a DiagnosticClearConditionPortMapping. | |
| 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: | Constructor of Condition Class. | |
34.2.1.2.2 Condition(Condition&)
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | Condition (Condition &)=delete; | |
| Description: | Condition shall be a single not copy-able instance. | |
34.2.1.3 Member Functions
34.2.1.3.1 GetCondition
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | ara::core::Future< ara::diag::ConditionType > GetCondition () noexcept; | |
| Return value: | ara::core::Future< ConditionType > | the current condition |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Get current condition. | |
34.2.1.3.2 SetCondition
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | ara::core::Result< void > SetCondition (ara::diag::ConditionType condition) noexcept; | |
| Parameters (in): | condition | current condition |
| Return value: | ara::core::Result< void > | Returns void. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Set condition. | |
34.2.1.3.3 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/condition.h" | |
| Scope: | ara::diag::Condition | |
| Syntax: | ara::diag::Condition & operator= (ara::diag::Condition &)=delete; | |
| Description: | Condition shall be a single not assignable instance. | |
35 Header: ara/diag/operation_cycle.h
35.1 Class: OperationCycle
| Kind: | class | |
| Port Interfaces: | DiagnosticOperationCycleInterface | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | OperationCycle | |
| Syntax: | class OperationCycle final {...}; | |
| Description: | DiagnosticOperationCycleInterface provides functionality for handling of operation cycles. | |
35.1.1 Public Member Types
35.1.1.1 Type Alias: OperationCycleSetNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Symbol: | OperationCycleSetNotifier | |
| Syntax: | using OperationCycleSetNotifier = std::function<void(void)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Notifier function which is called if the operation cycle is changed. . | |
35.1.2 Public Member Functions
35.1.2.1 Special Member Functions
35.1.2.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | OperationCycle (OperationCycle &&) noexcept=delete; | |
| Description: | Move constructor of OperationCycle. | |
35.1.2.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | ara::diag::OperationCycle & operator= (ara::diag::OperationCycle &&)=delete; | |
| Description: | Move assignment operator of OperationCycle. | |
35.1.2.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | ~OperationCycle () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DiagnosticOperationCycleInterface . | |
35.1.2.2 Constructors
35.1.2.2.1 OperationCycle(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | explicit OperationCycle (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticOperationCycleInterface. |
| 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 | A PortPrototype that is referenced by a DiagnosticOperationCyclePortMapping needs to be typed by a DiagnosticOperationCycleInterface. | |
| 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: | Constructor for DiagnosticOperationCycleInterface. | |
35.1.2.2.2 OperationCycle(OperationCycle&)
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | OperationCycle (OperationCycle &)=delete; | |
| Description: | OperationCycle shall be a single not copy-able instance. | |
35.1.2.3 Member Functions
35.1.2.3.1 RestartOperationCycle
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | ara::core::Result< void > RestartOperationCycle () noexcept; | |
| Return value: | ara::core::Result< void > | Returns void. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Trigger to restart the Operation Cycle. | |
35.1.2.3.2 SetNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | ara::core::Result< void > SetNotifier (ara::diag::OperationCycle::OperationCycleSetNotifier notifier) noexcept; | |
| Parameters (in): | notifier | notifier function |
| Return value: | ara::core::Result< void > | Returns void. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Registering a notifier function which is called if the operation cycle is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
35.1.2.3.3 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/operation_cycle.h" | |
| Scope: | ara::diag::OperationCycle | |
| Syntax: | ara::diag::OperationCycle & operator= (ara::diag::OperationCycle &)=delete; | |
| Description: | OperationCycle shall be a single not assignable instance. | |
36 Header: ara/diag/monitor.h
36.1 Class: Monitor
| Kind: | class | |
| Port Interfaces: | DiagnosticMonitorInterface | |
| Header file: | #include "ara/diag/monitor.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | Monitor | |
| Syntax: | class Monitor final {...}; | |
| Description: | Class to implement operations on diagnostic Monitor interface. | |
36.1.1 Public Member Functions
36.1.1.1 Special Member Functions
36.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | Monitor (Monitor &&) noexcept=delete; | |
| Description: | Move constructor of Monitor. | |
36.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | ara::diag::Monitor & operator= (ara::diag::Monitor &&)=delete; | |
| Description: | Move assignment operator of Monitor. | |
36.1.1.2 Constructors
36.1.1.2.1 Monitor(const ara::core::InstanceSpecifier&, InitMonitorNotifier)
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | Monitor (const ara::core::InstanceSpecifier &specifier, ara::diag::InitMonitorNotifier initMonitor) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface. |
| initMonitor | Possibility to register an InitMonitor callback | |
| Exception Safety: | exception safe | |
| Thread Safety: | not 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 | A PortPrototype that is referenced by a DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. | |
| 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. | |
| InvalidDebouncingAlgorithmViolation | Mismatching Debounce Algorithm in DEXT i.e DiagnosticEventToDebounceAlgorithmMapping shall be mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceMonitorInternal or DiagnosticEventToDebounceAlgorithmMapping shall not exist. | |
| Description: | Monitor constructor for Monitors without debouncing. | |
36.1.1.2.2 Monitor(const ara::core::InstanceSpecifier&, InitMonitorNotifier, CounterBased)
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | Monitor (const ara::core::InstanceSpecifier &specifier, ara::diag::InitMonitorNotifier initMonitor, ara::diag::CounterBased defaultValues) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface. |
| initMonitor | Possibility to register an InitMonitor callback | |
| defaultValues | Default values for CounterBased debouncing | |
| Exception Safety: | exception safe | |
| Thread Safety: | not 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 | A PortPrototype that is referenced by a DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. | |
| 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. | |
| InvalidDebouncingAlgorithmViolation | Mismatching Debounce Algorithm in DEXT i.e DiagnosticEventToDebounceAlgorithmMapping shall be mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceCounterBased. | |
| Description: | Monitor constructor for Monitors with counter-based debouncing. | |
36.1.1.2.3 Monitor(const ara::core::InstanceSpecifier&, InitMonitorNotifier, TimeBased)
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | Monitor (const ara::core::InstanceSpecifier &specifier, ara::diag::InitMonitorNotifier initMonitor, ara::diag::TimeBased defaultValues) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface. |
| initMonitor | Possibility to register an InitMonitor callback | |
| defaultValues | Default values for TimeBased debouncing | |
| Exception Safety: | exception safe | |
| Thread Safety: | not 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 | A PortPrototype that is referenced by a DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. | |
| 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. | |
| InvalidDebouncingAlgorithmViolation | Mismatching Debounce Algorithm in DEXT i.e DiagnosticEventToDebounceAlgorithmMapping shall be mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceTimeBased. | |
| Description: | Monitor constructor for Monitors with time-based debouncing. | |
36.1.1.2.4 Monitor(Monitor&)
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | Monitor (Monitor &)=delete; | |
| Description: | Monitor shall be a single not copy-able instance. | |
36.1.1.2.5 Monitor(const ara::core::InstanceSpecifier&, InitMonitorNotifier, std::function<std::int8_t(void)>)
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | Monitor (const ara::core::InstanceSpecifier &specifier, ara::diag::InitMonitorNotifier initMonitor, std::function< std::int8_t()> getFaultDetectionCounter) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticMonitorInterface. |
| initMonitor | Possibility to register an InitMonitor callback | |
| getFaultDetectionCounter | Possibility to register a function to get the current FDC for this event. | |
| Exception Safety: | exception safe | |
| Thread Safety: | not 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 | A PortPrototype that is referenced by a DiagnosticMonitorPortMapping needs to be typed by a DiagnosticMonitorInterface. | |
| 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. | |
| InvalidDebouncingAlgorithmViolation | Mismatching Debounce Algorithm in DEXT i.e DiagnosticEventToDebounceAlgorithmMapping shall be mapped to DiagnosticEventToDebounceAlgorithmMapping. DiagnosticDebounceAlgorithmProps which aggregates DiagEventDebounceMonitorInternal or DiagnosticEventToDebounceAlgorithmMapping shall not exist. | |
| Description: | Monitor constructor for Monitors with Monitor-internal debouncing. using ara::diag::CounterBased; using ara::diag::TimeBased; | |
36.1.1.3 Member Functions
36.1.1.3.1 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | With the Offer the application states that it is ready to receive and process initMonitor callouts. | |
36.1.1.3.2 ReportMonitorAction
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | void ReportMonitorAction (ara::diag::MonitorAction action) noexcept; | |
| Parameters (in): | action | Contains either the last (un-)qualified test result of the diagnostic monitor or commands to control the debouncing or to force a prestorage. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Violations: | UnexpectedMonitorActionHandlingViolation | SWS_DM_00543.ara::diag::Monitor::ReportMonitorAction is called with a parameter SWS_DM_00543.ara::diag::Monitor::ReportMonitorAction.action value that is not supported by the used debouncing method. |
| Description: | Function to report the status information being relevant for error monitoring paths. | |
36.1.1.3.3 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
36.1.1.3.4 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/monitor.h" | |
| Scope: | ara::diag::Monitor | |
| Syntax: | ara::diag::Monitor & operator= (ara::diag::Monitor &)=delete; | |
| Description: | Monitor shall be a single not assignable instance. | |
37 Header: ara/diag/monitor_types.h
37.1 Non-Member Types
37.1.1 Type Alias: InitMonitorNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | InitMonitorNotifier | |
| Syntax: | using InitMonitorNotifier = std::function<void(InitMonitorReason)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Notifier function which is called if the monitor needs to be re-initialized. | |
37.1.2 Enumeration: InitMonitorReason
| Kind: | enumeration | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | InitMonitorReason | |
| Underlying type: | std::uint32_t | |
| Syntax: | enum class InitMonitorReason : std::uint32_t {...}; | |
| Values: | kClear | = 0x00 |
| Event was cleared and all internal values and states are reset. | ||
| kRestart | = 0x01 | |
| Operation cycle of the event was (re-)started. | ||
| kReenabled | = 0x02 | |
| Enable conditions are fulfilled and control DTC setting is set to on | ||
| kDisabled | = 0x03 | |
| Enable conditions no longer fulfilled, or Control DTC setting is set to off | ||
| Description: | Represents the status information reported to AAs why the monitor may be re-initalized. | |
37.1.3 Enumeration: MonitorAction
| Kind: | enumeration | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | MonitorAction | |
| Underlying type: | std::uint32_t | |
| Syntax: | enum class MonitorAction : std::uint32_t {...}; | |
| Values: | kPassed | = 0x00 |
| Monitor reports qualified test result passed. | ||
| kFailed | = 0x01 | |
| Monitor reports qualified test result failed. | ||
| kPrepassed | = 0x02 | |
| Monitor reports unqualified test result pre-passed. | ||
| kPrefailed | = 0x03 | |
| Monitor reports unqualified test result pre-failed. | ||
| kFdcThresholdReached | = 0x04 | |
| Monitor triggers the storage of ExtendedDataRecords and Freeze Frames (if the triggering condition is connected to this threshold). | ||
| kResetTestFailed | = 0x05 | |
| Reset TestFailed Bit without any other side effects like readiness | ||
| kFreezeDebouncing | = 0x06 | |
| Freeze the internal debounce timer. | ||
| kResetDebouncing | = 0x07 | |
| Reset the internal debounce counter/timer. | ||
| Description: | Represents the status information reported by AAs being relevant for error monitoring. | |
37.2 Struct: CounterBased
| Kind: | struct | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | CounterBased | |
| Syntax: | struct CounterBased {...}; | |
| Description: | Represents the parameters for counter-based debouncing. | |
37.2.1 Public Member Variables
37.2.1.1 failedJumpValue
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | failedJumpValue | |
| Type: | std::int16_t | |
| Syntax: | std::int16_t failedJumpValue; | |
| Description: | failed to jump value | |
37.2.1.2 failedStepsize
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | failedStepsize | |
| Type: | std::uint16_t | |
| Syntax: | std::uint16_t failedStepsize; | |
| Description: | Stepsize per pre-failed report. | |
37.2.1.3 failedThreshold
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | failedThreshold | |
| Type: | std::int16_t | |
| Syntax: | std::int16_t failedThreshold; | |
| Description: | Threshold until qualified failed. | |
37.2.1.4 passedJumpValue
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | passedJumpValue | |
| Type: | std::int16_t | |
| Syntax: | std::int16_t passedJumpValue; | |
| Description: | passed to jump value | |
37.2.1.5 passedStepsize
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | passedStepsize | |
| Type: | std::uint16_t | |
| Syntax: | std::uint16_t passedStepsize; | |
| Description: | Stepsize per pre-passed report. | |
37.2.1.6 passedThreshold
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | passedThreshold | |
| Type: | std::int16_t | |
| Syntax: | std::int16_t passedThreshold; | |
| Description: | Threshold until qualified passed. | |
37.2.1.7 useJumpToFailed
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | useJumpToFailed | |
| Type: | bool | |
| Syntax: | bool useJumpToFailed; | |
| Description: | is jump supported | |
37.2.1.8 useJumpToPassed
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::CounterBased | |
| Symbol: | useJumpToPassed | |
| Type: | bool | |
| Syntax: | bool useJumpToPassed; | |
| Description: | is jump supported | |
37.3 Struct: TimeBased
| Kind: | struct | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | TimeBased | |
| Syntax: | struct TimeBased {...}; | |
| Description: | Represents the parameters for time-based debouncing. | |
37.3.1 Public Member Variables
37.3.1.1 failedMs
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::TimeBased | |
| Symbol: | failedMs | |
| Type: | std::uint32_t | |
| Syntax: | std::uint32_t failedMs; | |
| Description: | time until failed in (ms) | |
37.3.1.2 passedMs
| Kind: | variable | |
| Header file: | #include "ara/diag/monitor_types.h" | |
| Scope: | ara::diag::TimeBased | |
| Symbol: | passedMs | |
| Type: | std::uint32_t | |
| Syntax: | std::uint32_t passedMs; | |
| Description: | time until passed in (ms) | |
38 Header: ara/diag/multiple_condition.h
38.1 Non-Member Types
38.1.1 Type Alias: ConditionHandleType
| Kind: | type alias | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ConditionHandleType | |
| Syntax: | using ConditionHandleType = std::uint8_t; | |
| Description: | Type to identify a condition. | |
38.2 Class: MultipleCondition
| Kind: | class | |
| Port Interfaces: | DiagnosticMultipleConditionInterface | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | MultipleCondition | |
| Syntax: | class MultipleCondition final {...}; | |
| Description: | Class for multiple condition operations. | |
38.2.1 Public Member Functions
38.2.1.1 Special Member Functions
38.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | MultipleCondition (MultipleCondition &&) noexcept=delete; | |
| Description: | Move constructor of MultipleCondition. | |
38.2.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | ara::diag::MultipleCondition & operator= (ara::diag::MultipleCondition &&)=delete; | |
| Description: | Move assignment operator of MultipleCondition. | |
38.2.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | ~MultipleCondition () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class Condition . | |
38.2.1.2 Constructors
38.2.1.2.1 MultipleCondition(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | explicit MultipleCondition (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticMultipleConditionInterface |
| 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 | A PortPrototype that is referenced by a DiagnosticMultipleConditionPortMapping needs to be typed by a DiagnosticMultipleConditionInterface. | |
| 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: | Constructor of MultipleCondition Class. | |
38.2.1.2.2 MultipleCondition(MultipleCondition&)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | MultipleCondition (MultipleCondition &)=delete; | |
| Description: | Copy constructor of MultipleCondition. | |
38.2.1.3 Member Functions
38.2.1.3.1 GetCondition
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | ara::core::Future< ara::diag::ConditionType > GetCondition (ara::diag::ConditionHandleType conditionHandle) noexcept; | |
| Parameters (in): | conditionHandle | Identifies the requested condition |
| Return value: | ara::core::Future< ConditionType > | the current condition |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Get condition state of the requested condition. | |
38.2.1.3.2 SetCondition
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | ara::core::Result< void > SetCondition (ara::diag::ConditionHandleType conditionHandle, ara::diag::ConditionType condition) noexcept; | |
| Parameters (in): | conditionHandle | Identifies the requested condition |
| condition | current condition | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Set condition state of the requested condition. | |
38.2.1.3.3 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_condition.h" | |
| Scope: | ara::diag::MultipleCondition | |
| Syntax: | ara::diag::MultipleCondition & operator= (ara::diag::MultipleCondition &)=delete; | |
| Description: | Copy assignment operator of MultipleCondition. | |
39 Header: ara/diag/multiple_event.h
39.1 Non-Member Types
39.1.1 Type Alias: EventHandleType
| Kind: | type alias | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | EventHandleType | |
| Syntax: | using EventHandleType = std::uint32_t; | |
| Description: | Type to identify an event. | |
39.2 Class: MultipleEvent
| Kind: | class | |
| Port Interfaces: | DiagnosticMultipleEventInterface | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | MultipleEvent | |
| Syntax: | class MultipleEvent final {...}; | |
| Description: | Class to implement operations on diagnostic Events with the multiple event interfaces. | |
39.2.1 Public Member Functions
39.2.1.1 Special Member Functions
39.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | MultipleEvent (MultipleEvent &&) noexcept=delete; | |
| Description: | Move constructor of MultipleEvent. | |
39.2.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ara::diag::MultipleEvent & operator= (ara::diag::MultipleEvent &&)=delete; | |
| Description: | Move assignment operator of MultipleEvent. | |
39.2.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ~MultipleEvent () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class MultipleEvent. | |
39.2.1.2 Constructors
39.2.1.2.1 MultipleEvent(MultipleEvent&)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | MultipleEvent (MultipleEvent &)=delete; | |
| Description: | Copy constructor of MultipleEvent. | |
39.2.1.2.2 MultipleEvent(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | explicit MultipleEvent (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticMultipleEventInterface. |
| 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 | A PortPrototype that is referenced by a DiagnosticMultipleEventPortMapping needs to be typed by a DiagnosticMultipleEventInterface. | |
| 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: | Constructor MultipleEvent class. | |
39.2.1.3 Member Functions
39.2.1.3.1 GetDTCNumber
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ara::core::Future< std::uint32_t > GetDTCNumber (ara::diag::EventHandleType eventHandle, ara::diag::DTCFormatType dtcFormat) noexcept; | |
| Parameters (in): | eventHandle | Identifies the requested event |
| dtcFormat | Define ara::diag::DTCFormatType for the return value. | |
| Return value: | ara::core::Future< std::uint32_t > | DTC number in respective ara::diag::DTCFormatType. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| DiagErrc::kNoSuchDTC | rollback_semantics | |
| No mapped DTC exits for the requested event. | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Returns the DTC-ID related to requested event. | |
39.2.1.3.2 GetDebouncingStatus
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ara::core::Future< ara::diag::DebouncingState > GetDebouncingStatus (ara::diag::EventHandleType eventHandle) noexcept; | |
| Parameters (in): | eventHandle | Identifies the requested event |
| Return value: | ara::core::Future< DebouncingState > | Return the current debouncing state of this event. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Get the current debouncing status of the requested event. | |
39.2.1.3.3 GetEventStatus
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ara::core::Future< ara::diag::EventStatusByte > GetEventStatus (ara::diag::EventHandleType eventHandle) noexcept; | |
| Parameters (in): | eventHandle | Handle of the Event |
| Return value: | ara::core::Future< EventStatusByte > | Returns the current diagnostic event status |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Returns the current status of the requested event. | |
39.2.1.3.4 GetFaultDetectionCounter
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ara::core::Future< std::int8_t > GetFaultDetectionCounter (ara::diag::EventHandleType eventHandle) noexcept; | |
| Parameters (in): | eventHandle | Identifies the requested event |
| Return value: | ara::core::Future< std::int8_t > | Return the current FaultDetectionCounter value. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Returns the current value of Fault Detection Counter of the selected event. | |
39.2.1.3.5 SetEventStatusChangedNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ara::core::Result< void > SetEventStatusChangedNotifier (ara::diag::EventHandleType eventHandle, ara::diag::EventStatusByteNotifier notifier) noexcept; | |
| Parameters (in): | eventHandle | Identifies the requested event |
| notifier | The function to be called if a diagnostic event is changed. | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| DiagErrc::kInvalidArgument | rollback_semantics | |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Register a notifier function which is called if a diagnostic event is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
39.2.1.3.6 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_event.h" | |
| Scope: | ara::diag::MultipleEvent | |
| Syntax: | ara::diag::MultipleEvent & operator= (ara::diag::MultipleEvent &)=delete; | |
| Description: | Copy assignment operator of MultipleEvent. | |
40 Header: ara/diag/multiple_monitor.h
40.1 Non-Member Types
40.1.1 Type Alias: MonitorHandleType
| Kind: | type alias | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | MonitorHandleType | |
| Syntax: | using MonitorHandleType = std::uint32_t; | |
| Description: | Type to identify an monitor . | |
40.2 Class: MultipleMonitor
| Kind: | class | |
| Port Interfaces: | DiagnosticMultipleMonitorInterface | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | MultipleMonitor | |
| Syntax: | class MultipleMonitor final {...}; | |
| Description: | Class to implement monitor operations on the multiple monitor interfaces. | |
40.2.1 Public Member Functions
40.2.1.1 Special Member Functions
40.2.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | MultipleMonitor (MultipleMonitor &&) noexcept=delete; | |
| Description: | Move constructor of MultiMonitor. | |
40.2.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | ara::diag::MultipleMonitor & operator= (ara::diag::MultipleMonitor &&)=delete; | |
| Description: | Move assignment operator of MultiMonitor. | |
40.2.1.2 Constructors
40.2.1.2.1 MultipleMonitor(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | MultipleMonitor (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticMultipleMonitorInterface. |
| 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 | A PortPrototype that is referenced by a DiagnosticMultipleEventPortMapping needs to be typed by a DiagnosticMultipleMonitorInterface. | |
| 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: | MultipleMonitor constructor allows to report status of more than one monitor. using ara::diag::CounterBased; using ara::diag::TimeBased; | |
40.2.1.2.2 MultipleMonitor(MultipleMonitor&)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | MultipleMonitor (MultipleMonitor &)=delete; | |
| Description: | Copy constructor of MultiMonitor. | |
40.2.1.3 Member Functions
40.2.1.3.1 ConfigureMonitor(MonitorHandleType, InitMonitorNotifier, CounterBased)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | ara::core::Result< void > ConfigureMonitor (ara::diag::MonitorHandleType monitorHandle, ara::diag::InitMonitorNotifier initMonitor, ara::diag::CounterBased defaultValues) noexcept; | |
| Parameters (in): | monitorHandle | Identifies the requested monitor |
| initMonitor | Possibility to register an InitMonitor callback | |
| defaultValues | Default values for CounterBased debouncing | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Configures a monitor with counter-based debouncing. Any overloaded ConfigureMonitor shall be only called once per monitor. The monitor can only be used after this initialisation step. | |
40.2.1.3.2 ConfigureMonitor(MonitorHandleType, InitMonitorNotifier, TimeBased)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | ara::core::Result< void > ConfigureMonitor (ara::diag::MonitorHandleType monitorHandle, ara::diag::InitMonitorNotifier initMonitor, ara::diag::TimeBased defaultValues) noexcept; | |
| Parameters (in): | monitorHandle | Identifies the requested monitor |
| initMonitor | Possibility to register an InitMonitor callback | |
| defaultValues | Default values for TimeBased debouncing | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Configures a monitor with time-based debouncing. Any overloaded ConfigureMonitor shall be only called once per monitor. The monitor can only be used after this initialisation step. | |
40.2.1.3.3 ConfigureMonitor(MonitorHandleType, InitMonitorNotifier)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | ara::core::Result< void > ConfigureMonitor (ara::diag::MonitorHandleType monitorHandle, ara::diag::InitMonitorNotifier initMonitor) noexcept; | |
| Parameters (in): | monitorHandle | Handle of the monitor |
| initMonitor | Possibility to register an InitMonitor callback. | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Configures a monitor without debouncing. Any overloaded ConfigureMonitor shall be only called once per monitor. The monitor can only be used after this initialisation step. | |
40.2.1.3.4 ConfigureMonitor(MonitorHandleType, InitMonitorNotifier, std::function<std::int8_t(void)>)
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | ara::core::Result< void > ConfigureMonitor (ara::diag::MonitorHandleType monitorHandle, ara::diag::InitMonitorNotifier initMonitor, std::function< std::int8_t()> getFaultDetectionCounter) noexcept; | |
| Parameters (in): | monitorHandle | Identifies the requested monitor |
| initMonitor | Possibility to register an InitMonitor callback | |
| getFaultDetectionCounter | Possibility to register a function to get the current FDC for this event. | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Configures a monitor with Monitor-internal debouncing. Any overloaded ConfigureMonitor shall be only called once per monitor. The monitor can only be used after this initialisation step. | |
40.2.1.3.5 Offer
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler. | |
40.2.1.3.6 ReportMonitorAction
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | void ReportMonitorAction (ara::diag::MonitorHandleType monitorHandle, ara::diag::MonitorAction action) noexcept; | |
| Parameters (in): | monitorHandle | Identifies the requested monitor |
| action | Contains either the last (un-)qualified test result of the diagnostic monitor or commands to control the debouncing or to force a prestorage. | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | whether the function has to be implemented thread safe or non-thread safe is determined by the ara::diag::ConcurrencyType given in the constructor |
| Description: | Function to report the status information being relevant for error monitoring paths. Calls with invalid monitorHandle are ignored. | |
40.2.1.3.7 StopOffer
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM. | |
40.2.1.3.8 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/multiple_monitor.h" | |
| Scope: | ara::diag::MultipleMonitor | |
| Syntax: | ara::diag::MultipleMonitor & operator= (ara::diag::MultipleMonitor &)=delete; | |
| Description: | Copy assignment operator of MultiMonitor. | |
41 Header: ara/diag/indicator.h
41.1 Non-Member Types
41.1.1 Enumeration: IndicatorStatusType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/indicator.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | IndicatorStatusType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class IndicatorStatusType : std::uint8_t {...}; | |
| Values: | kOff | = 0x00 |
| Indicator off mode {default}. | ||
| kOnDemand | = 0x06 | |
| Indicator on-demand mode. | ||
| Description: | Represents the state of an indicator. | |
41.2 Class: Indicator
| Kind: | class | |
| Port Interfaces: | DiagnosticIndicatorInterface | |
| Header file: | #include "ara/diag/indicator.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | Indicator | |
| Syntax: | class Indicator final {...}; | |
| Description: | DiagnosticIndicatorInterface provides functionality for handling indicators. | |
41.2.1 Public Member Types
41.2.1.1 Type Alias: IndicatorStatusTypeNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Symbol: | IndicatorStatusTypeNotifier | |
| Syntax: | using IndicatorStatusTypeNotifier = std::function<void(IndicatorStatusType)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if the indicator state is updated. | |
41.2.2 Public Member Functions
41.2.2.1 Special Member Functions
41.2.2.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | Indicator (Indicator &&) noexcept=delete; | |
| Description: | Move constructor of Indicator. | |
41.2.2.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | ara::diag::Indicator & operator= (ara::diag::Indicator &&)=delete; | |
| Description: | Move assignment operator of Indicator. | |
41.2.2.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | ~Indicator () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of DiagnosticIndicatorInterface. | |
41.2.2.2 Constructors
41.2.2.2.1 Indicator(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | explicit Indicator (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticIndicatorInterface. |
| 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 | A PortPrototype that is referenced by a DiagnosticIndicatorPortMapping needs to be typed by a DiagnosticIndicatorInterface. | |
| 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: | Constructor for DiagnosticIndicatorInterface. | |
41.2.2.2.2 Indicator(Indicator&)
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | Indicator (Indicator &)=delete; | |
| Description: | Indicator shall be a single not copy-able instance. | |
41.2.2.3 Member Functions
41.2.2.3.1 GetIndicatorState
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | ara::core::Future< ara::diag::IndicatorStatusType > GetIndicatorState () noexcept; | |
| Return value: | ara::core::Future< IndicatorStatusType > | Returns the current IndicatorState. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Get current IndicatorState. | |
41.2.2.3.2 SetNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | ara::core::Result< void > SetNotifier (ara::diag::Indicator::IndicatorStatusTypeNotifier notifier) noexcept; | |
| Parameters (in): | notifier | notifier function |
| Return value: | ara::core::Result< void > | Returns void. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Register a notifier function which is called if the indicator is updated. A consecutive call of this method will overwrite the previous registered notifier. | |
41.2.2.3.3 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/indicator.h" | |
| Scope: | ara::diag::Indicator | |
| Syntax: | ara::diag::Indicator & operator= (ara::diag::Indicator &)=delete; | |
| Description: | Indicator shall be a single not assign-able instance. | |
42 Header: ara/diag/event.h
42.1 Class: Event
| Kind: | class | |
| Port Interfaces: | DiagnosticEventInterface | |
| Header file: | #include "ara/diag/event.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | Event | |
| Syntax: | class Event final {...}; | |
| Description: | Class to implement operations on diagnostic Events. | |
42.1.1 Public Member Functions
42.1.1.1 Special Member Functions
42.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | Event (Event &&) noexcept=delete; | |
| Description: | Move constructor of Event. | |
42.1.1.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::diag::Event & operator= (ara::diag::Event &&)=delete; | |
| Description: | Move assignment operator of Event. | |
42.1.1.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ~Event () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class Event. | |
42.1.1.2 Constructors
42.1.1.2.1 Event(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | explicit Event (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticEventInterface. |
| 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 | A PortPrototype that is referenced by a DiagnosticEventPortMapping needs to be typed by a DiagnosticEventInterface. | |
| 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: | Constructor Event class. | |
42.1.1.2.2 Event(Event&)
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | Event (Event &)=delete; | |
| Description: | Event shall be a single not copy-able instance. | |
42.1.1.3 Member Functions
42.1.1.3.1 GetDTCNumber
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::core::Future< std::uint32_t > GetDTCNumber (ara::diag::DTCFormatType dtcFormat) noexcept; | |
| Parameters (in): | dtcFormat | Define the ara::diag::DTCFormatType for the return value. |
| Return value: | ara::core::Future< std::uint32_t > | Return the DTC number in respective ara::diag::DTCFormatType. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kNoSuchDTC | rollback_semantics |
| No mapped DTC exits for the requested event. | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Returns the DTC number related to this event instance. | |
42.1.1.3.2 GetDebouncingStatus
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::core::Future< ara::diag::DebouncingState > GetDebouncingStatus () noexcept; | |
| Return value: | ara::core::Future< DebouncingState > | Return the current ara::diag::DebouncingState of this event. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Get the current debouncing status. | |
42.1.1.3.3 GetEventStatus
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::core::Future< ara::diag::EventStatusByte > GetEventStatus () noexcept; | |
| Return value: | ara::core::Future< EventStatusByte > | Return the current diagnostic event status |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Returns the current diagnostic event status. | |
42.1.1.3.4 GetFaultDetectionCounter
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::core::Future< std::int8_t > GetFaultDetectionCounter () noexcept; | |
| Return value: | ara::core::Future< std::int8_t > | Returns the current FaultDetectionCounter value. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Returns the current value of the Fault Detection Counter (FDC) of this event. | |
42.1.1.3.5 GetTestComplete
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::core::Future< bool > GetTestComplete () noexcept; | |
| Return value: | ara::core::Future< bool > | Return the current test_completed-state of this event. TRUE, if FDC = -128 or FDC = 127; FALSE in all other cases. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Get the status if the event has matured to test completed (corresponds to FDC = -128 or FDC = 127). | |
42.1.1.3.6 SetEventStatusChangedNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::core::Result< void > SetEventStatusChangedNotifier (ara::diag::EventStatusByteNotifier notifier) noexcept; | |
| Parameters (in): | notifier | The function to be called if a diagnostic event is changed. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Register a notifier function which is called if a diagnostic event is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
42.1.1.3.7 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/event.h" | |
| Scope: | ara::diag::Event | |
| Syntax: | ara::diag::Event & operator= (ara::diag::Event &)=delete; | |
| Description: | Event shall be a single not assign-able instance. | |
43 Header: ara/diag/event_types.h
43.1 Non-Member Types
43.1.1 Enumeration: DTCFormatType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/event_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DTCFormatType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class DTCFormatType : std::uint8_t {...}; | |
| Values: | kDTCFormatOBD | = 0 |
| SAE_J2012-DA_DTCFormat_00 as defined in ISO 15031-6 ISO-15031-6 specification. | ||
| kDTCFormatUDS | = 1 | |
| ISO_14229-1_DTCFormat as defined in ISO 14229-1 ISO-14229-1 specification. | ||
| kDTCFormatJ1939 | = 2 | |
| SAE_J1939-73_DTCFormat as defined in SAE J1939-73 SAE-J1939-73 specification. | ||
| Description: | Represents the type of the DTC format according to ISO 14229-1 ISO-14229-1. | |
43.1.2 Enumeration: DebouncingState
| Kind: | enumeration | |
| Header file: | #include "ara/diag/event_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DebouncingState | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class DebouncingState : std::uint8_t {...}; | |
| Values: | kNeutral | = 0x00 |
| Neutral (corresponds to FDC = 0) | ||
| kTemporarilyDefective | = 0x01 | |
| Temporarily Defective (corresponds to 0 < FDC < 127) | ||
| kFinallyDefective | = 0x02 | |
| Finally Defective (corresponds to FDC = 127) | ||
| kTemporarilyHealed | = 0x04 | |
| Temporarily Healed (corresponds to -128 < FDC < 0) | ||
| kFinallyHealed | = 0x08 | |
| Finally Healed (corresponds to FDC = -128) | ||
| Description: | Debounce status of event. | |
43.1.3 Enumeration: EventStatusBit
| Kind: | enumeration | |
| Header file: | #include "ara/diag/event_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | EventStatusBit | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class EventStatusBit : std::uint8_t {...}; | |
| Values: | kTestFailed | bit 0: TestFailed |
| kTestFailedThisOperationCycle | bit 1: TestFailedThisOperationCycle | |
| kTestNotCompletedThisOperationCycle | bit 6: TestNotCompletedThisOperationCycle | |
| Description: | Single event status bits. | |
43.1.4 Type Alias: EventStatusByteNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | EventStatusByteNotifier | |
| Syntax: | using EventStatusByteNotifier = std::function<void(EventStatusByte)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if a diagnostic event is changed. | |
43.2 Struct: EventStatusByte
| Kind: | struct | |
| Header file: | #include "ara/diag/event_types.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | EventStatusByte | |
| Syntax: | struct EventStatusByte {...}; | |
| Description: | Current event status byte, bit-encoded. | |
43.2.1 Public Member Functions
43.2.1.1 Special Member Functions
43.2.1.1.1 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | constexpr EventStatusByte (const EventStatusByte &other) noexcept=default; | |
| Parameters (in): | other | Object to copy-construct from. |
| Exception Safety: | exception safe | |
| Description: | Copy constructor. | |
43.2.1.1.2 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | constexpr EventStatusByte (EventStatusByte &&other) noexcept; | |
| Parameters (in): | other | Object to move-construct from. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor. | |
43.2.1.1.3 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | constexpr EventStatusByte & operator= (const EventStatusByte &other) noexcept; | |
| Parameters (in): | other | Object to copy-assign from. |
| Return value: | EventStatusByte & | EventStatusByte & Reference to self. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Copy assignment operator. | |
43.2.1.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | constexpr EventStatusByte & operator= (EventStatusByte &&other) noexcept; | |
| Parameters (in): | other | Object to move-assign from. |
| Return value: | EventStatusByte & | EventStatusByte & Reference to self. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Move assignment operator. | |
43.2.1.2 Constructors
43.2.1.2.1 EventStatusByte
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | template <typename... Args> constexpr EventStatusByte (Args... bits) noexcept; | |
| Parameters (in): | bits | The EventStatusBits that shall be set. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Construct an EventStatusByte where all EventStatusBits passed as parameter are set. | |
43.2.1.3 Member Functions
43.2.1.3.1 IsFailedAndTested
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | constexpr bool IsFailedAndTested () const noexcept; | |
| Return value: | bool | TRUE: if bits ara::diag::EventStatusBit.kTestFailed AND ara::diag::EventStatusBit.kTestFailedThisOperationCycle are set, else FALSE |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Retrieve the value of the bits ara::diag::EventStatusBit.kTestFailed and ara::diag::EventStatusBit.kTestFailedThisOperationCycle. | |
43.2.1.3.2 IsNotSet
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | template <typename... Args> constexpr bool IsNotSet (Args... bits) const noexcept; | |
| Parameters (in): | bits | The EventStatusBits to check. |
| Return value: | bool | TRUE: if all EventStatusBits passed as parameter are NOT set, else FALSE. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Whether all EventStatusBits passed as parameter are not set. | |
43.2.1.3.3 IsPassedAndTested
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | constexpr bool IsPassedAndTested () const noexcept; | |
| Return value: | bool | TRUE: if bits ara::diag::EventStatusBit.kTestFailed AND ara::diag::EventStatusBit.kTestNotCompletedThisOperationCycle are NOT set, else FALSE |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Retrieve the value of the bits ara::diag::EventStatusBit.kTestFailed and ara::diag::EventStatusBit.kTestNotCompletedThisOperationCycle. | |
43.2.1.3.4 IsSet
| Kind: | function | |
| Header file: | #include "ara/diag/event_types.h" | |
| Scope: | ara::diag::EventStatusByte | |
| Syntax: | template <typename... Args> constexpr bool IsSet (Args... bits) const noexcept; | |
| Parameters (in): | bits | The EventStatusBits to check. |
| Return value: | bool | TRUE: if all EventStatusBits passed as parameter are set, else FALSE. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Whether all EventStatusBits passed as parameter are set. | |
44 Header: ara/diag/dtc_information.h
44.1 Non-Member Types
44.1.1 Enumeration: ControlDtcStatusType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | ControlDtcStatusType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ControlDtcStatusType : std::uint8_t {...}; | |
| Values: | kDTCSettingOn | = 0x00 |
| Updating of diagnostic trouble code status bits is under normal operating conditions. | ||
| kDTCSettingOff | = 0x01 | |
| Updating of diagnostic trouble code status bits is stopped. | ||
| Description: | Type for ControlDTCStatus status as requested by UDS service 0x85 ControlDTCSetting. | |
44.1.2 Enumeration: UdsDtcStatusBitType
| Kind: | enumeration | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | UdsDtcStatusBitType | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class UdsDtcStatusBitType : std::uint8_t {...}; | |
| Values: | kTestFailed | = 0x01 |
| bit 0: TestFailed | ||
| kTestFailedThisOperationCycle | = 0x02 | |
| bit 1: TestFailedThisOperationCycle | ||
| kPendingDTC | = 0x04 | |
| bit 2: PendingDTC | ||
| kConfirmedDTC | = 0x08 | |
| bit 3: ConfirmedDTC | ||
| kTestNotCompletedSinceLastClear | = 0x10 | |
| bit 4: TestNotCompletedSinceLastClear | ||
| kTestFailedSinceLastClear | = 0x20 | |
| bit 5: TestFailedSinceLastClear | ||
| kTestNotCompletedThisOperationCycle | = 0x40 | |
| bit 6: TestNotCompletedThisOperationCycle | ||
| kWarningIndicatorRequested | = 0x80 | |
| bit 7: WarningIndicatorRequested | ||
| Description: | UDS DTC status bits according to ISO 14229-1. | |
44.2 Class: DTCInformation
| Kind: | class | |
| Port Interfaces: | DiagnosticDTCInformationInterface | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | namespace ara::diag | |
| Symbol: | DTCInformation | |
| Syntax: | class DTCInformation final {...}; | |
| Description: | Class to implement operations on DTC informations per configured DiagnosticMemoryDestination. | |
44.2.1 Public Member Types
44.2.1.1 Type Alias: ControlDtcStatusTypeNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | ControlDtcStatusTypeNotifier | |
| Syntax: | using ControlDtcStatusTypeNotifier = std::function<void(ControlDtcStatusType)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Registers a notifier function which is called if the control DTC setting is changed. | |
44.2.1.2 Type Alias: DtcStatusChangedNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | DtcStatusChangedNotifier | |
| Syntax: | using DtcStatusChangedNotifier = std::function<void(std::uint32_t dtc, UdsDtcStatusByteType udsStatusByteOld, UdsDtcStatusByteType udsStatusByteNew)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if a UDS DTC status is changed. | |
44.2.1.3 Type Alias: EventMemoryOverflowSetNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | EventMemoryOverflowSetNotifier | |
| Syntax: | using EventMemoryOverflowSetNotifier = std::function<void(bool)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Notifier function which is called if the current event memory overflow status changed. | |
44.2.1.4 Type Alias: NumberOfStoredEntriesNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | NumberOfStoredEntriesNotifier | |
| Syntax: | using NumberOfStoredEntriesNotifier = std::function<void(std::uint32_t)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if the number of currently stored fault memory entries changed. | |
44.2.1.5 Type Alias: SnapshotRecordUpdatedTypeNotifier
| Kind: | type alias | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | SnapshotRecordUpdatedTypeNotifier | |
| Syntax: | using SnapshotRecordUpdatedTypeNotifier = std::function<void(SnapshotRecordUpdatedType)>; | |
| Thread Safety: | not thread-safe | |
| Description: | Register a notifier function which is called if the SnapshotRecord is changed. | |
44.2.2 Public Member Functions
44.2.2.1 Special Member Functions
44.2.2.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | DTCInformation (DTCInformation &&) noexcept=delete; | |
| Description: | Move constructor of DTCInformation. | |
44.2.2.1.2 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::diag::DTCInformation & operator= (ara::diag::DTCInformation &&)=delete; | |
| Description: | Move assignment operator of DTCInformation. | |
44.2.2.1.3 Destructor
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ~DTCInformation () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destructor of class DTCInformation. | |
44.2.2.2 Constructors
44.2.2.2.1 DTCInformation(const ara::core::InstanceSpecifier&)
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | explicit DTCInformation (const ara::core::InstanceSpecifier &specifier) noexcept; | |
| Parameters (in): | specifier | InstanceSpecifier to a PortPrototype of a DiagnosticDTCInformationInterface. |
| 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 | A PortPrototype that is referenced by a DiagnosticMemoryDestinationPortMapping needs to be typed by a DiagnosticDTCInformationInterface. | |
| 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: | Constructor for a DTCInformation instance which allows for DTC related operation per DiagnosticMemoryDestination. | |
44.2.2.2.2 DTCInformation(DTCInformation&)
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | DTCInformation (DTCInformation &)=delete; | |
| Description: | DTCInformation shall be a single not copy-able instance. | |
44.2.2.3 Member Functions
44.2.2.3.1 Clear
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Future< void > Clear (std::uint32_t dtcGroup) noexcept; | |
| Parameters (in): | dtcGroup | DTC group to be cleared. |
| Return value: | ara::core::Future< void > | void or errors |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kBusy | rollback_semantics |
| Interface is busy with processing. | ||
| DiagErrc::kFailed | rollback_semantics | |
| Failed to process. | ||
| DiagErrc::kMemoryError | rollback_semantics | |
| A memory error occurred during processing. | ||
| DiagErrc::kWrongDtc | rollback_semantics | |
| A wrong DTC number was requested. | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Method for Clearing a DTC or a group of DTCs. | |
44.2.2.3.2 EnableControlDtc
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Result< void > EnableControlDtc () noexcept; | |
| Return value: | ara::core::Result< void > | Returns void. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Triggers a setting of ControlDTCStatus to enabled in case the application has some conditions or states demands to do so. The control DTC setting state might be set to enabled only after this API has returned. | |
44.2.2.3.3 GetControlDTCStatus
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Future< ara::diag::ControlDtcStatusType > GetControlDTCStatus () noexcept; | |
| Return value: | ara::core::Future< ControlDtcStatusType > | The current status of ControlDtcStatus (related to UDS service 0x85) |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Contains the current status of the ControlDTCStatus. | |
44.2.2.3.4 GetCurrentStatus
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Future< ara::diag::DTCInformation::UdsDtcStatusByteType > GetCurrentStatus (std::uint32_t dtc) noexcept; | |
| Parameters (in): | dtc | DTC identifier for which the status should be retrieved. |
| Return value: | ara::core::Future< UdsDtcStatusByteType > | A Future which is readied with current UDS DTC status byte of the given DTC identifier or an internal error code. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kNoSuchDTC | rollback_semantics |
| No mapped DTC exits for the requested event. | ||
| DiagErrc::kServiceNotAvailable | rollback_semantics | |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Retrieves the current UDS DTC status byte of the given DTC identifier. | |
44.2.2.3.5 GetEventMemoryOverflow
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Result< bool > GetEventMemoryOverflow () noexcept; | |
| Return value: | ara::core::Result< bool > | Current status of event memory overflow. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Contains the current event memory overflow status. | |
44.2.2.3.6 GetNumberOfStoredEntries
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Future< std::uint32_t > GetNumberOfStoredEntries () noexcept; | |
| Return value: | ara::core::Future< std::uint32_t > | Number of currently stored fault memory entries. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagErrc::kServiceNotAvailable | rollback_semantics |
| The call cannot be executed, because essential DM functionality is currently not available. | ||
| Description: | Contains the number of currently stored fault memory entries. | |
44.2.2.3.7 SetControlDtcStatusNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Result< void > SetControlDtcStatusNotifier (ara::diag::DTCInformation::ControlDtcStatusTypeNotifier notifier) noexcept; | |
| Parameters (in): | notifier | The function to be called if the ControlDTCStatus (related to UDS service 0x85) for this diagnostic memory instance has changed. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Registers a notifier function which is called if the control DTC setting is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
44.2.2.3.8 SetDTCStatusChangedNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Result< void > SetDTCStatusChangedNotifier (ara::diag::DTCInformation::DtcStatusChangedNotifier notifier) noexcept; | |
| Parameters (in): | notifier | The function to be called if a DTC status has changed. |
| Return value: | ara::core::Result< void > | Returns void. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Register a notifier function which is called if a UDS DTC status is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
44.2.2.3.9 SetEventMemoryOverflowNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Result< void > SetEventMemoryOverflowNotifier (ara::diag::DTCInformation::EventMemoryOverflowSetNotifier notifier) noexcept; | |
| Parameters (in): | notifier | The function to be called if the overflow status for this diagnostic event memory instance has changed. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Register a notifier function which is called if the current event memory overflow status changed. A consecutive call of this method will overwrite the previous registered notifier. | |
44.2.2.3.10 SetNumberOfStoredEntriesNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Result< void > SetNumberOfStoredEntriesNotifier (ara::diag::DTCInformation::NumberOfStoredEntriesNotifier notifier) noexcept; | |
| Parameters (in): | notifier | The function to be called if the number of entries for this diagnostic event memory instance has changed. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Register a notifier function which is called if the number of currently stored fault memory entries changed. A consecutive call of this method will overwrite the previous registered notifier. | |
44.2.2.3.11 SetSnapshotRecordUpdatedNotifier
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::core::Result< void > SetSnapshotRecordUpdatedNotifier (ara::diag::DTCInformation::SnapshotRecordUpdatedTypeNotifier notifier) noexcept; | |
| Parameters (in): | notifier | The function to be called if the SnapshotRecord is changed. |
| Return value: | ara::core::Result< void > | Returns nothing or an error. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Errors: | DiagErrc::kInvalidArgument | rollback_semantics |
| e.g. kPreFailed with internal debouncing | ||
| Description: | Register a notifier function which is called if the SnapshotRecord is changed. A consecutive call of this method will overwrite the previous registered notifier. | |
44.2.2.3.12 operator=
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation | |
| Syntax: | ara::diag::DTCInformation & operator= (ara::diag::DTCInformation &)=delete; | |
| Description: | DTCInformation shall be a single not assignable instance. | |
44.3 Struct: SnapshotDataIdentifierType
| Kind: | struct | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | SnapshotDataIdentifierType | |
| Syntax: | struct SnapshotDataIdentifierType {...}; | |
| Description: | Type for DiagnosticDataIdentifier status. | |
44.3.1 Public Member Variables
44.3.1.1 data
| Kind: | variable | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::SnapshotDataIdentifierType | |
| Symbol: | data | |
| Type: | ara::core::Vector< std::uint8_t > | |
| Syntax: | ara::core::Vector<std::uint8_t> data; | |
| Description: | Data for specific snapshot record. | |
44.3.1.2 dataIdentifier
| Kind: | variable | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::SnapshotDataIdentifierType | |
| Symbol: | dataIdentifier | |
| Type: | std::uint16_t | |
| Syntax: | std::uint16_t dataIdentifier; | |
| Description: | The DiagnosticDataIdentifier identifying the snapshot record. | |
44.4 Struct: SnapshotDataRecordType
| Kind: | struct | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | SnapshotDataRecordType | |
| Syntax: | struct SnapshotDataRecordType {...}; | |
| Description: | Type for snapshot record status. | |
44.4.1 Public Member Variables
44.4.1.1 snapshotDataIdentifiers
| Kind: | variable | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::SnapshotDataRecordType | |
| Symbol: | snapshotDataIdentifiers | |
| Type: | ara::core::Vector< SnapshotDataIdentifierType > | |
| Syntax: | ara::core::Vector<SnapshotDataIdentifierType> snapshotDataIdentifiers; | |
| Description: | Vector of snapshot DiagnosticDataIdentifiers. | |
44.4.1.2 snapshotRecordNumber
| Kind: | variable | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::SnapshotDataRecordType | |
| Symbol: | snapshotRecordNumber | |
| Type: | std::uint8_t | |
| Syntax: | std::uint8_t snapshotRecordNumber; | |
| Description: | Specifies a unique record number for a snapshot record. | |
44.5 Struct: SnapshotRecordUpdatedType
| Kind: | struct | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | SnapshotRecordUpdatedType | |
| Syntax: | struct SnapshotRecordUpdatedType {...}; | |
| Description: | Type for snapshot record updated status. | |
44.5.1 Public Member Variables
44.5.1.1 DTC
| Kind: | variable | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::SnapshotRecordUpdatedType | |
| Symbol: | DTC | |
| Type: | uint32_t | |
| Syntax: | uint32_t DTC; | |
| Description: | DTC identifier to which the snapshot record data is related. | |
44.5.1.2 snapshotDataRecords
| Kind: | variable | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::SnapshotRecordUpdatedType | |
| Symbol: | snapshotDataRecords | |
| Type: | ara::core::Vector< SnapshotDataRecordType > | |
| Syntax: | ara::core::Vector<SnapshotDataRecordType> snapshotDataRecords; | |
| Description: | Vector of snapshot snapshot record. | |
44.6 Struct: UdsDtcStatusByteType
| Kind: | struct | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Forwarding header file: | #include "ara/diag/diag_fwd.h" | |
| Scope: | ara::diag::DTCInformation | |
| Symbol: | UdsDtcStatusByteType | |
| Syntax: | struct UdsDtcStatusByteType {...}; | |
| Description: | Type for UDS DTC status byte. | |
44.6.1 Public Member Functions
44.6.1.1 Special Member Functions
44.6.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | constexpr UdsDtcStatusByteType (UdsDtcStatusByteType &&other) noexcept; | |
| Parameters (in): | other | Object to move-construct from. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Move constructor. | |
44.6.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | constexpr UdsDtcStatusByteType (const UdsDtcStatusByteType &other) noexcept=default; | |
| Parameters (in): | other | Object to copy-construct from. |
| Exception Safety: | exception safe | |
| Description: | Copy constructor. | |
44.6.1.1.3 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | constexpr UdsDtcStatusByteType & operator= (const UdsDtcStatusByteType &other) noexcept; | |
| Parameters (in): | other | Object to copy-assign from |
| Return value: | UdsDtcStatusByteType & | UdsDtcStatusByteType & Reference to self |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Copy assignment operator. | |
44.6.1.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | constexpr UdsDtcStatusByteType & operator= (UdsDtcStatusByteType &&other) noexcept; | |
| Parameters (in): | other | Object to move-assign from |
| Return value: | UdsDtcStatusByteType & | UdsDtcStatusByteType& Reference to self |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Move assignment operator. | |
44.6.1.2 Constructors
44.6.1.2.1 UdsDtcStatusByteType
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | template <typename... Args> constexpr UdsDtcStatusByteType (Args... bits) noexcept; | |
| Parameters (in): | bits | The DTC bits to be set. |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | Construct an UdsDtcStatusByteType where all DtcStatusBits passed as parameter are set. | |
44.6.1.3 Member Functions
44.6.1.3.1 IsFailedAndTested
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | constexpr bool IsFailedAndTested () const noexcept; | |
| Return value: | bool | bool Returns TRUE if DTC is Failed AND Tested, else FALSE. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Test if DTC is Failed and Tested. | |
44.6.1.3.2 IsNotSet
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | template <typename... Args> constexpr bool IsNotSet (Args... bits) const noexcept; | |
| Parameters (in): | bits | The DTC bits to check |
| Return value: | bool | bool Returns TRUE if DTC status bit(s) is not set, else FALSE. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Test if DTC status bit(s) is not set. | |
44.6.1.3.3 IsPassedAndTested
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | constexpr bool IsPassedAndTested () const noexcept; | |
| Return value: | bool | bool Returns TRUE if DTC is Passed AND Tested, else FALSE. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Test if DTC is Passed and Tested. | |
44.6.1.3.4 IsSet
| Kind: | function | |
| Header file: | #include "ara/diag/dtc_information.h" | |
| Scope: | ara::diag::DTCInformation::UdsDtcStatusByteType | |
| Syntax: | template <typename... Args> constexpr bool IsSet (Args... bits) const noexcept; | |
| Parameters (in): | bits | The DTC bits to check |
| Return value: | bool | bool Returns TRUE if DTC status bit(s) is set, else FALSE. |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Test if DTC status bit(s) is set. | |
45 Header: {<extended-data-record-element-shortname-lower>}.h
| Kind: | Header File | |
| Syntax: | extended_data_record_element_shortname_lower.h::extended_data_record_element_shortname_lower.h/extended_data_record_element_shortname_lower.h::extended_data_record_element_shortname_lower.h | |
| Description: | For each modeled DiagnosticExtendedDataRecordInterface a Diagnostic ExtendedDataRecordElement Header File is generated according to this directory path/file name convention and shall: 1. Insert a multiple inclusion guard around the whole header file as per SWS_CORE_90002 | |
| Example: | // File=n/n_plus_1/n_plus_2/si_extended-data-record-element.h (1) | |
45.1 Namespaces
45.1.1 {<namespace-list-extended-data-record-element>}
| Kind: | namespace | |
| Header file: | #include "::extended_data_record_element_shortname_lower.h" | |
| Scope: | -- | |
| Syntax: | namespace ::namespace_list_extended_data_record_element | |
| Description: | The generator shall use the SymbolProps aggregated in the role PortInterface. PortInterface.namespace. For each PortInterface.namespace in the ordered list: PortInterface.namespace[N+1] shall be an inner namespace of PortInterface.namespace[N] converted to lower-case. | |
45.2 Class: {<extended-data-record-element-interface-name-x>}
| Kind: | class | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_shortname_lower.h" | |
| Forwarding header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_shortname_lower/_fwd.h" | |
| Scope: | namespace ::namespace_list_extended_data_record_element | |
| Symbol: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_x | |
| Syntax: | class namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_x {...}; | |
| Description: | DiagnosticExtendedDataRecordInterface class | |
45.2.1 Public Member Variables
45.2.1.1 {<extended-data-record-element-out-arg-symbol>}
| Kind: | variable | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_out_arg_symbol::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Symbol: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_out_arg_symbol::extended_data_record_element_out_arg_symbol | |
| Type: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_out_arg_symbol::extended_data_record_element_out_arg_type | |
| Syntax: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_out_arg_symbol::extended_data_record_element_out_arg_type namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_out_arg_symbol::extended_data_record_element_out_arg_symbol; | |
| Description: | Member declaration representing an out argument in an namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex::methodnameuppercamelOutput. | |
45.2.2 Public Member Functions
45.2.2.1 Member Functions
45.2.2.1.1 Offer
| Kind: | function | |
| Header file: | #include "::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | ara::core::Result< void > Offer () noexcept; | |
| Return value: | ara::core::Result< void > | • If successful: an ara::core::Result containing a ara::core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::diag::DiagOfferErrc |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | This Offer will enable the DM to forward request messages to this handler | |
45.2.2.1.2 Read
| Kind: | function | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::Read::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | virtual ara::core::Future< namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::Read::extended_data_record_element_name_upper_camelReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0; | |
| Parameters (in): | metaInfo | MetaInfo of the request. |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.SWS_DM_00614.ara::diag::CancellationHandler::IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SWS_DM_00615.ara::diag::CancellationHandler::SetNotifier. The registered notifier is called if the current conversation is cancelled. | |
| Return value: | ara::core::Future< namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::Read::extended_data_record_element_name_upper_camelReadOutput > | • If successful: an ara::core::Future containing an SWS_DM_02154.namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex::extendeddatarecordelementnameuppercamelReadOutput object as per SWS_DM_02154 • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Thread Safety: | conditional | Thread safety is implementation defined |
| Errors: | DiagOfferErrc::kAlreadyOffered | rollback_semantics |
| The service is already offered. | ||
| Description: | Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role DiagnosticExtendedDataRecordInterface.provide). | |
| Example: | // Example: | |
45.2.2.1.3 StopOffer
| Kind: | function | |
| Header file: | #include "::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | void StopOffer () noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Thread Safety: | thread-safe | |
| Description: | This StopOffer will disable the forwarding of request messages from DM | |
45.2.2.1.4 operator=(const {<extended-data-record-element-interface-name-3>}&)
| Kind: | function | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::operator=::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::operator=::extended_data_record_element_interface_name_3 & operator= (const namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::operator=::extended_data_record_element_interface_name_3 &other)=delete; | |
| Description: | Copy assignment constructor deletion | |
45.2.2.1.5 operator=({<extended-data-record-element-interface-name-5>}&&)
| Kind: | function | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::operator=::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::operator=::extended_data_record_element_interface_name_5 & operator= (namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::operator=::extended_data_record_element_interface_name_5 &&other)=delete; | |
| Description: | Move assignment constructor | |
45.2.2.1.6 {<extended-data-record-element-interface-name-1>}
| Kind: | function | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_1::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_1::extended_data_record_element_interface_name_1 (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; | |
| Parameters (in): | instanceSpec | The specifier of a specific instance of a service. |
| concurrencyType | Specifies if the interface is implemented as thread safe (ara::diag::ConcurrencyType.kConcurrent) or non-thread safe (ara::diag::ConcurrencyType.kNotConcurrent). | |
| 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 | A PortPrototype that is typed by a DiagnosticExtendedDataRecordInterface needs to be referenced by a DiagnosticDataPortMapping. | |
| 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: | Construct a namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex from an ara::core::InstanceSpecifier | |
45.2.2.1.7 {<extended-data-record-element-interface-name-2>}
| Kind: | function | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_2::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_2::extended_data_record_element_interface_name_2 (const namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_2::extended_data_record_element_interface_name_2 &other)=delete; | |
| Description: | Copy constructor deletion | |
45.2.2.1.8 {<extended-data-record-element-interface-name-4>}
| Kind: | function | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_4::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_4::extended_data_record_element_interface_name_4 (namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_interface_name_4::extended_data_record_element_interface_name_4 &&other)=delete; | |
| Description: | Move constructor | |
45.2.2.1.9 ~{<extended-data-record-element-interface-name-6>}
| Kind: | function | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::~extended_data_record_element_interface_name_6::extended_data_record_element_shortname_lower.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Syntax: | virtual ~namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::~extended_data_record_element_interface_name_6::extended_data_record_element_interface_name_6 () noexcept; | |
| Exception Safety: | exception safe | |
| Thread Safety: | not thread-safe | |
| Description: | Destruction of a namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
45.3 Struct: {<extended-data-record-element-name-upper-camel>}ReadOutput
| Kind: | struct | |
| Header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_name_upper_camelReadOutput::extended_data_record_element_shortname_lower.h" | |
| Forwarding header file: | #include "namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_name_upper_camelReadOutput::extended_data_record_element_shortname_lower/_fwd.h" | |
| Scope: | namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex | |
| Symbol: | namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_name_upper_camelReadOutput::extended_data_record_element_name_upper_camelReadOutput | |
| Syntax: | struct namespace_list_extended_data_record_element::extended_data_record_element_interface_name_x::extended_data_record_element_name_upper_camelReadOutput::extended_data_record_element_name_upper_camelReadOutput {...}; | |
| Description: | Structure wrapping the out arguments for a SWS_DM_02154.namespacelistextendeddatarecordelement::extendeddatarecordelementinterfacenamex::extendeddatarecordelementnameuppercamelReadOutput | |
See also
- Diagnostic services in the runtime model: PARA Overview
- Diagnostic configuration: DiagnosticServiceInterface, DiagnosticMonitorInterface