ara::com
개요
Communication Management Functional Cluster는 Adaptive Application 사이의
SOME/IP·DDS 기반 서비스 지향 통신을 제공합니다. 이 페이지는 ara::com 네임스페이스의
공개 API, 생성된 Proxy·Skeleton 이 상속하는 para::com 런타임 클래스, 그리고
코드 생성기가 출력하는 헤더를 헤더 파일 단위로 정리합니다. API 명세 본문은
영어 원문으로 제공됩니다.
라이브러리 · 헤더 · 링크
- 라이브러리:
lib/libpara_com.so - CMake:
find_package(para-com)→para::com - 표준 헤더:
include/ara/com/ - PARA 런타임 헤더:
include/para/com/ - 런타임 데몬:
bin/CM
1 Header: ara/com/com_error_domain.h
1.1 Non-Member Types
1.1.1 Enumeration: ComErrc
| Kind: | enumeration | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ComErrc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class ComErrc : ara::core::ErrorDomain::CodeType {...}; | |
| Values: | kServiceNotAvailable | = 1 |
Service is not available after being previously offered via OfferService | ||
| kMaxSamplesExceeded | = 2 | |
Application holds more ara::com::SamplePtrs than commited in Subscribe Samples were possibly skipped. | ||
| kNetworkBindingFailure | = 3 | |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| kFieldValueNotInitialized | = 6 | |
Field value has yet not been initialized via Update (see SWS_CM_00128 | ||
| kFieldSetHandlerNotSet | = 7 | |
Field SetHandler has not been registered via RegisterSetHandler | ||
| kServiceNotOffered | = 11 | |
Service has not yet been offered via OfferService | ||
| kInstanceIDNotResolvable | = 15 | |
The ara::core::InstanceSpecifier is valid but could not be resolved/mapped to an existing ara::com::InstanceIdentifier | ||
| kMaxSampleCountNotRealizable | = 16 | |
Provided Subscribe for event re-subscription does not match the Subscribe for the current subscription | ||
| kUnknownApplicationError | = 22 | |
| A remote service returned an unconfigured application error. | ||
| Description: | Defines the error codes for the ara::com::ComErrorDomain | |
1.2 Non-Member Functions
1.2.1 Other
1.2.1.1 GetComErrorDomain
| Kind: | function | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Scope: | namespace ara::com | |
| Syntax: | constexpr const ara::core::ErrorDomain & GetComErrorDomain () noexcept; | |
| Return value: | const ara::core::ErrorDomain & | Reference to the ara::com::ComErrorDomain object |
| Exception Safety: | exception safe | |
| Description: | Returns a reference to the ara::com::ComErrorDomain object | |
1.2.1.2 MakeErrorCode
| Kind: | function | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Scope: | namespace ara::com | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode (ara::com::ComErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | Error code number. |
| data | Vendor defined data associated with the error | |
| Return value: | ara::core::ErrorCode | An ara::core::ErrorCode object. |
| Exception Safety: | exception safe | |
| Description: | Creates an instance of ara::core::ErrorCode | |
1.3 Class: ComErrorDomain
| Kind: | class | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ComErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class ComErrorDomain final : public ara::core::ErrorDomain {...}; | |
| Description: | Defines a class representing the Communication error domain. | |
1.3.1 Public Member Functions
1.3.1.1 Special Member Functions
1.3.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Scope: | ara::com::ComErrorDomain | |
| Syntax: | constexpr ComErrorDomain () noexcept; | |
| Description: | Constructs a new ara::com::ComErrorDomain object | |
1.3.1.2 Member Functions
1.3.1.2.1 Message
| Kind: | function | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Scope: | ara::com::ComErrorDomain | |
| Syntax: | const char * Message (CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | The error code number. |
| Return value: | const char * | The message associated with the ThrowAsException.errorCode |
| Exception Safety: | exception safe | |
| Description: | Returns the message associated with ThrowAsException.errorCode | |
1.3.1.2.2 Name
| Kind: | function | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Scope: | ara::com::ComErrorDomain | |
| Syntax: | const char * Name () const noexcept override; | |
| Return value: | const char * | As per ara::com::ComErrorDomain in SWS_CORE_90023 |
| Exception Safety: | exception safe | |
| Description: | Returns a string constant associated with the ara::com::ComErrorDomain | |
1.3.1.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Scope: | ara::com::ComErrorDomain | |
| Syntax: | void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | The error to throw. |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Description: | Creates a new instance of ara::com::ComException from ThrowAsException.errorCode and throws it. As per SWS_CORE_10304, this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. | |
1.4 Class: ComException
| Kind: | class | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ComException | |
| Base class: | ara::core::Exception | |
| Syntax: | class ComException final : public ara::core::Exception {...}; | |
| Description: | Defines a class for exceptions to be thrown by the API. | |
1.4.1 Public Member Functions
1.4.1.1 Constructors
1.4.1.1.1 ComException
| Kind: | function | |
| Header file: | #include "ara/com/com_error_domain.h" | |
| Scope: | ara::com::ComException | |
| Syntax: | explicit ComException (ara::core::ErrorCode errorCode) noexcept; | |
| Parameters (in): | errorCode | The error code. |
| Exception Safety: | exception safe | |
| Description: | Constructs a new ara::com::ComException containing an ara::core::ErrorCode | |
2 Header: ara/com/e2e/e2e_error_domain.h
2.1 Non-Member Types
2.1.1 Enumeration: ComE2EErrc
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | ComE2EErrc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class ComE2EErrc : ara::core::ErrorDomain::CodeType {...}; | |
| Values: | kRepeated | = 1 |
| Data has a repeated counter | ||
| kWrongSequence | = 2 | |
| The checks of the Data in this cycle were successful, with the exception of counter jump, which changed more than the allowed delta | ||
| kError | = 3 | |
| Error not related to counters occurred (e.g. wrong crc, wrong length, wrong Data ID) or the return of the check function was not OK | ||
| kNotAvailable | = 4 | |
| Not available. (deprecated) | ||
| kNoNewData | = 5 | |
| No new data is available | ||
| kUnspecifiedE2EError | = 6 | |
| A remote service returned an unspecified E2E error. | ||
| Description: | Defines the error codes for the ara::com::e2e::ComE2EErrc | |
2.2 Non-Member Functions
2.2.1 Other
2.2.1.1 GetComE2EErrorDomain
| Kind: | function | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Scope: | namespace ara::com::e2e | |
| Syntax: | constexpr const ara::core::ErrorDomain & GetComE2EErrorDomain () noexcept; | |
| Return value: | const ara::core::ErrorDomain & | Reference to the ara::com::e2e::ComE2EErrorDomain object |
| Exception Safety: | exception safe | |
| Description: | Returns a reference to the ara::com::e2e::ComE2EErrorDomain object | |
2.2.1.2 MakeErrorCode
| Kind: | function | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Scope: | namespace ara::com::e2e | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode (ara::com::e2e::ComE2EErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | Error code number. |
| data | Vendor defined data associated with the error | |
| Return value: | ara::core::ErrorCode | An ara::core::ErrorCode object. |
| Exception Safety: | exception safe | |
| Description: | Creates an instance of ara::core::ErrorCode | |
2.3 Class: ComE2EErrorDomain
| Kind: | class | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | ComE2EErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class ComE2EErrorDomain final : public ara::core::ErrorDomain {...}; | |
| Description: | Defines a class representing the E2E error domain | |
2.3.1 Public Member Functions
2.3.1.1 Special Member Functions
2.3.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Scope: | ara::com::e2e::ComE2EErrorDomain | |
| Syntax: | constexpr ComE2EErrorDomain () noexcept; | |
| Exception Safety: | exception safe | |
| Description: | Constructs a new ara::com::e2e::ComE2EErrorDomain object | |
2.3.1.2 Member Functions
2.3.1.2.1 Message
| Kind: | function | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Scope: | ara::com::e2e::ComE2EErrorDomain | |
| Syntax: | const char * Message (CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | The error code number. |
| Return value: | const char * | The message associated with the ThrowAsException.errorCode |
| Exception Safety: | exception safe | |
| Description: | Returns the message associated with ThrowAsException.errorCode | |
2.3.1.2.2 Name
| Kind: | function | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Scope: | ara::com::e2e::ComE2EErrorDomain | |
| Syntax: | const char * Name () const noexcept override; | |
| Return value: | const char * | As per ara::com::e2e::ComE2EErrorDomain in SWS_CORE_90023 |
| Exception Safety: | exception safe | |
| Description: | Returns a string constant associated with the ara::com::e2e::ComE2EErrorDomain | |
2.3.1.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Scope: | ara::com::e2e::ComE2EErrorDomain | |
| Syntax: | void ThrowAsException (const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | The error to throw. |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Description: | Creates a new instance of ara::com::e2e::ComE2EException from ThrowAsException.errorCode and throws it. As per SWS_CORE_10304, this function does not participate in overload resolution when C++ exceptions are disabled in the compiler toolchain. | |
2.4 Class: ComE2EException
| Kind: | class | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | ComE2EException | |
| Base class: | ara::core::Exception | |
| Syntax: | class ComE2EException final : public ara::core::Exception {...}; | |
| Description: | Defines a class for exceptions to be thrown by the E2E APIs | |
2.4.1 Public Member Functions
2.4.1.1 Constructors
2.4.1.1.1 ComE2EException
| Kind: | function | |
| Header file: | #include "ara/com/e2e/e2e_error_domain.h" | |
| Scope: | ara::com::e2e::ComE2EException | |
| Syntax: | explicit ComE2EException (ara::core::ErrorCode errorCode) noexcept; | |
| Parameters (in): | errorCode | The error code. |
| Exception Safety: | exception safe | |
| Description: | Constructs a new ara::com::e2e::ComE2EException object containing an error code | |
3 Header: ara/com/e2e/profile_check_status.h
3.1 Non-Member Types
3.1.1 Enumeration: ProfileCheckStatus
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/profile_check_status.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | ProfileCheckStatus | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ProfileCheckStatus : std::uint8_t {...}; | |
| Values: | kOk | The checks of the sample in this cycle were successful (including counter check) |
| kRepeated | Sample has a repeated counter | |
| kWrongSequence | The checks of the sample in this cycle were successful, with the exception of counter jump, which changed more than the allowed delta. | |
| kError | Error not related to counters occurred (e.g. wrong crc, wrong length, wrong Data ID). | |
| kNotAvailable | No value has been received yet (e.g. during initialization). (deprecated) | |
| kNoNewData | No new data is available (assuming a sample has already been received since the initialization). (deprecated) | |
| kCheckDisabled | No E2E check status available. Return value of function GetProfileCheckStatus if EndToEndTransformationComSpecProps. EndToEndTransformationComSpecProps.disableEndToEndCheck is set to TRUE | |
| kNone | None. | |
| Description: | The result of the check of a single ara::com::SamplePtr | |
4 Header: ara/com/e2e/sm_state.h
4.1 Non-Member Types
4.1.1 Enumeration: SMState
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/sm_state.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | SMState | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class SMState : std::uint8_t {...}; | |
| Values: | kValid | Communication of the samples of this event is functioning properly according to E2E checks; sample(s) can be used |
| kNoData | No data have been received from the publisher at all | |
| kInit | Not enough data where the E2E check yielded OK from the publisher is available since the initialization; sample(s) cannot be used | |
| kInvalid | Too little data (where the E2E check yielded OK), or too much data (where the e2e check yielded ERROR) were received within the E2E time window - communication of the sample of this event not functioning properly; sample(s) cannot be used | |
| kStateMDisabled | No E2E state machine available. Return value of function GetSMState if EndToEndTransformationComSpecProps.disableEndToEndStateMachine == TRUE | |
| kIncompatibleQoS | Samples can't be received because configured QoS policies at each end of communication don't match. (Only applicable to certain network bindings.) | |
| Description: | The state of the E2E supervision after the most recent check of a received sample of the event. If ara::com::e2e::SMState == ara::com::e2e::SMState.kValid, and the GetProfileCheckStatus did not result in an Error then, the last checked sample can be used. | |
5 Header: ara/com/e2e/transport_fault_condition.h
5.1 Non-Member Types
5.1.1 Enumeration: TransportFaultCondition
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/transport_fault_condition.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | TransportFaultCondition | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class TransportFaultCondition : std::uint8_t {...}; | |
| Values: | kSampleRejected | A sample has been rejected on layer 4 or above due to end-point resource exhaustion |
| kDeadlineMissed | A sample has missed its configured deadline period | |
| kSampleLost | Loss of a sample has been detected (e.g. gap in expected sequence numbering) | |
| Description: | Defines the TransportFaultCondition which represent a single transport-related fault event | |
5.1.2 Type Alias: TransportFaultConditionHandler
| Kind: | type alias | |
| Header file: | #include "ara/com/e2e/transport_fault_condition.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | TransportFaultConditionHandler | |
| Syntax: | using TransportFaultConditionHandler = std::function<void(TransportFaultCondition, std::size_t)>; | |
| Description: | Handler type to be called when one or more (determined by the value of the std::size_t) fault conditions are detected | |
6 Header: ara/com/e2e/types.h
6.1 Non-Member Types
6.1.1 Type Alias: DataID
| Kind: | type alias | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | DataID | |
| Syntax: | using DataID = std::uint64_t; | |
| Description: | Type of the dataID parameter of E2EErrorHandler. | |
6.1.2 Enumeration: ErrorCode
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | ErrorCode | |
| Underlying type: | uint8_t | |
| Syntax: | enum class ErrorCode : uint8_t {...}; | |
| Values: | E2E_E_OK | = 0 |
| Function completed successfully | ||
| E2E_E_INPUTERR_WRONG | = 1 | |
| At least one input parameter is erroneous, e.g. out of range | ||
| E2E_E_INPUTERR_NULL | = 2 | |
| At least one pointer parameter is a NULL pointer | ||
| Description: | The AUTOSAR E2E-Protocol uses the following error codes | |
6.1.3 Type Alias: MessageCounter
| Kind: | type alias | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | MessageCounter | |
| Syntax: | using MessageCounter = std::uint64_t; | |
| Description: | Type of the messageCounter parameter of E2EErrorHandler. | |
6.1.4 Enumeration: MessageResult
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | MessageResult | |
| Underlying type: | uint8_t | |
| Syntax: | enum class MessageResult : uint8_t {...}; | |
| Values: | STD_MESSAGERESULT_OK | = 0 |
| The type of the result in the response message is a normal (i.e., a non-erroneous) result. | ||
| STD_MESSAGERESULT_ERROR | = 1 | |
| The type of the result in the response message is an error (i.e., an erroneous) result. | ||
| NONE | = 2 | |
| None message | ||
| Description: | The MessageResult argument of the E2E_PXXmProtect E2E_PXXmForward, and E2E_PXXmCheck functions shall be set to one of the following enumeration values | |
6.1.5 Enumeration: MessageType
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | MessageType | |
| Underlying type: | uint8_t | |
| Syntax: | enum class MessageType : uint8_t {...}; | |
| Values: | STD_MESSAGETYPE_REQUEST | = 0 |
| The type of the message is a request message which is sent from the client to the server. | ||
| STD_MESSAGETYPE_RESPONSE | = 1 | |
| The type of the message is a response message which is sent from the server to the client. | ||
| NONE | = 2 | |
| None message | ||
| Description: | The MessageType argument of the E2E_PXXmProtect, E2E_PXXmForward, and E2E_PXXmCheck functions shall be set to one of the following enumeration values | |
6.1.6 Enumeration: ProfileStatus
| Kind: | enumeration | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | ProfileStatus | |
| Underlying type: | uint8_t | |
| Syntax: | enum class ProfileStatus : uint8_t {...}; | |
| Values: | kEnabled | Profile is enabled |
| kDisabled | Profile is disabled | |
| Description: | Indicates whether an E2E profile is enabled or disabled. | |
6.2 Struct: Result
| Kind: | struct | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | namespace ara::com::e2e | |
| Symbol: | Result | |
| Syntax: | struct Result {...}; | |
| Description: | Structure representing the result of the E2E process | |
6.2.1 Public Member Variables
6.2.1.1 mE2EState
| Kind: | variable | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | ara::com::e2e::Result | |
| Symbol: | mE2EState | |
| Type: | SMState | |
| Syntax: | SMState mE2EState; | |
| Description: | E2E state | |
6.2.1.2 mE2EStatus
| Kind: | variable | |
| Header file: | #include "ara/com/e2e/types.h" | |
| Scope: | ara::com::e2e::Result | |
| Symbol: | mE2EStatus | |
| Type: | ProfileCheckStatus | |
| Syntax: | ProfileCheckStatus mE2EStatus; | |
| Description: | Profile check status | |
7 Header: ara/com/runtime.h
7.1 Non-Member Functions
7.1.1 Other
7.1.1.1 ResolveInstanceIDs
| Kind: | function | |
| Header file: | #include "ara/com/runtime.h" | |
| Scope: | namespace ara::com::runtime | |
| Syntax: | ara::core::Result< ara::com::InstanceIdentifierContainer > ResolveInstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept; | |
| Parameters (in): | metaModelIdentifier | The ara::core::InstanceSpecifier to be translated. |
| Return value: | ara::core::Result< ara::com::InstanceIdentifierContainer > | An ara::com::InstanceIdentifierContainer if successful, otherwise an error code indicating the error |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kInstanceIDNotResolvable | rollback_semantics |
| The ara::core::InstanceSpecifier is valid but could not be resolved/mapped to an existing ara::com::InstanceIdentifier | ||
| Description: | Translates an ara::core::InstanceSpecifier to a ara::com::InstanceIdentifierContainer. The length/size of the ara::com::InstanceIdentifierContainer is relative to the number of matches. | |
8 Header: ara/com/service/find_service_handle.h
8.1 Struct: FindServiceHandle
| Kind: | struct | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | FindServiceHandle | |
| Syntax: | struct FindServiceHandle {...}; | |
| Description: | The exact definition of ara::com::FindServiceHandle is Communication Management implementation specific. ara::com::FindServiceHandle satisfies the [equalitycomparable] and [lessthancomparable] requirements as per ISO-14882-2014 to allow storing and managing ara::com::FindServiceHandles by the application. | |
8.1.1 Public Member Functions
8.1.1.1 Special Member Functions
8.1.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | FindServiceHandle ()=delete; | |
| Description: | Default constructor deletion | |
8.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | FindServiceHandle (const FindServiceHandle &)=default; | |
| Description: | Copy constructor of the FindServiceHandle. | |
8.1.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | FindServiceHandle (FindServiceHandle &&) noexcept=default; | |
| Description: | Move constructor of the FindServiceHandle. | |
8.1.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | FindServiceHandle & operator= (const FindServiceHandle &other); | |
| Parameters (in): | other | Other ara::com::FindServiceHandle to copy |
| Return value: | FindServiceHandle & | New ara::com::FindServiceHandle |
| Exception Safety: | not exception safe | |
| Description: | Copy assignment constructor | |
8.1.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | FindServiceHandle & operator= (FindServiceHandle &&) noexcept=default; | |
| Return value: | FindServiceHandle & | New ara::com::FindServiceHandle |
| Description: | Move assignment operator of the FindServiceHandle. | |
8.1.1.1.6 Destructor
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | virtual ~FindServiceHandle ()=default; | |
| Description: | Destructor of the FindServiceHandle. | |
8.1.1.2 Constructors
8.1.1.2.1 FindServiceHandle
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | FindServiceHandle (ara::core::InstanceSpecifier specifier, ara::core::String serviceId, ara::core::String instanceId); | |
| Parameters (in): | specifier | The instance specifier for the instance. |
| serviceId | Service Id | |
| instanceId | instance id | |
| Description: | Constructs a new FindServiceHandle object. | |
8.1.1.3 Member Functions
8.1.1.3.1 operator<
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | bool operator< (const FindServiceHandle &other) const; | |
| Parameters (in): | other | Other ara::com::FindServiceHandle to compare |
| Return value: | bool | TRUE if other is less than *this, FALSE otherwise. |
| Exception Safety: | not exception safe | |
| Description: | LessThan operator as per [lessthancomparable] in ISO-14882-2014 | |
8.1.1.3.2 operator==
| Kind: | function | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Syntax: | bool operator== (const FindServiceHandle &other) const; | |
| Parameters (in): | other | Other ara::com::FindServiceHandle to compare |
| Return value: | bool | TRUE if other is equal to *this, FALSE otherwise. |
| Exception Safety: | not exception safe | |
| Description: | Equality operator as per [equalitycomparable] in ISO-14882-2014 | |
8.1.2 Public Member Variables
8.1.2.1 instanceId
| Kind: | variable | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Symbol: | instanceId | |
| Type: | ara::core::String | |
| Syntax: | ara::core::String instanceId{"undefined"}; | |
| Description: | Instance id | |
8.1.2.2 instanceSpecifier
| Kind: | variable | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Symbol: | instanceSpecifier | |
| Type: | ara::core::InstanceSpecifier | |
| Syntax: | ara::core::InstanceSpecifier instanceSpecifier{"undefined"}; | |
| Description: | The instance specifier for the instance. | |
8.1.2.3 serviceId
| Kind: | variable | |
| Header file: | #include "ara/com/service/find_service_handle.h" | |
| Scope: | ara::com::FindServiceHandle | |
| Symbol: | serviceId | |
| Type: | ara::core::String | |
| Syntax: | ara::core::String serviceId{"undefined"}; | |
| Description: | Service Id | |
9 Header: ara/com/service/instance_identifier.h
9.1 Class: InstanceIdentifier
| Kind: | class | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | InstanceIdentifier | |
| Syntax: | class InstanceIdentifier {...}; | |
| Description: | Unique identifier of a specific AdaptivePlatformServiceInstance, to distinguish different instances of exactly the same service. ara::com::InstanceIdentifier satisfies the [equalitycomparable], [lessthancomparable] and [copyassignable] requirements as per ISO-14882-2014 to allow for logging of ara::com::InstanceIdentifiers as well as storing and managing ara::com::InstanceIdentifiers by the application (see operators). ara::com::InstanceIdentifier does not contain a fully qualified name, which would also have service type information. | |
9.1.1 Public Member Functions
9.1.1.1 Special Member Functions
9.1.1.1.1 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | InstanceIdentifier (InstanceIdentifier &&other) noexcept; | |
| Parameters (in): | other | Other ara::com::InstanceIdentifier object to move |
| Exception Safety: | exception safe | |
| Description: | Move Constructor | |
9.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | InstanceIdentifier (const InstanceIdentifier &other) noexcept; | |
| Parameters (in): | other | Other ara::com::InstanceIdentifier object to copy |
| Exception Safety: | exception safe | |
| Description: | Copy Constructor | |
9.1.1.1.3 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | ara::com::InstanceIdentifier & operator= (const ara::com::InstanceIdentifier &other) noexcept; | |
| Parameters (in): | other | Other ara::com::InstanceIdentifier to copy |
| Return value: | InstanceIdentifier & | New ara::com::InstanceIdentifier |
| Exception Safety: | exception safe | |
| Description: | Copy assignment constructor | |
9.1.1.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | ara::com::InstanceIdentifier & operator= (const ara::com::InstanceIdentifier &&other) noexcept; | |
| Parameters (in): | other | Other ara::com::InstanceIdentifier to move |
| Return value: | InstanceIdentifier & | New ara::com::InstanceIdentifier |
| Exception Safety: | exception safe | |
| Description: | Move assignment constructor | |
9.1.1.1.5 Destructor
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | ~InstanceIdentifier () noexcept; | |
| Exception Safety: | exception safe | |
| Description: | Destructor | |
9.1.1.2 Constructors
9.1.1.2.1 InstanceIdentifier
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | explicit InstanceIdentifier (ara::core::StringView serializedFormat); | |
| Parameters (in): | serializedFormat | String form of an ara::com::InstanceIdentifier |
| Exception Safety: | not exception safe | |
| Violations: | InvalidInstanceIdentifierStringViolation | Given ara::com::InstanceIdentifier string is corrupted, non-compliant or duplicated |
| Description: | Default Constructor | |
9.1.1.3 Member Functions
9.1.1.3.1 Create
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | static ara::com::InstanceIdentifier Create (ara::core::StringView serializedFormat) noexcept; | |
| Parameters (in): | serializedFormat | String form of an ara::com::InstanceIdentifier |
| Return value: | InstanceIdentifier | An ara::com::InstanceIdentifier |
| Exception Safety: | exception safe | |
| Violations: | InvalidInstanceIdentifierStringViolation | Given ara::com::InstanceIdentifier string is corrupted, non-compliant or duplicated |
| Description: | Exception-less construction of a ara::com::InstanceIdentifier | |
9.1.1.3.2 operator<
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | bool operator< (const ara::com::InstanceIdentifier &other) const noexcept; | |
| Parameters (in): | other | Other ara::com::InstanceIdentifier to compare |
| Return value: | bool | TRUE if other is less than *this, FALSE otherwise. |
| Exception Safety: | exception safe | |
| Description: | LessThan operator as per [lessthancomparable] in ISO-14882-2014 | |
9.1.1.3.3 operator==
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | bool operator== (const ara::com::InstanceIdentifier &other) const noexcept; | |
| Parameters (in): | other | Other ara::com::InstanceIdentifier to compare |
| Return value: | bool | TRUE if other is equal to *this, FALSE otherwise. |
| Exception Safety: | exception safe | |
| Description: | Equality operator as per [equalitycomparable] in ISO-14882-2014 | |
9.1.1.3.4 toString
| Kind: | function | |
| Header file: | #include "ara/com/service/instance_identifier.h" | |
| Scope: | ara::com::InstanceIdentifier | |
| Syntax: | ara::core::StringView toString () const noexcept; | |
| Return value: | ara::core::StringView | String representation of a ara::com::InstanceIdentifier |
| Exception Safety: | exception safe | |
| Description: | Stringification method for ara::com::InstanceIdentifier | |
10 Header: ara/com/service/sample_ptr.h
10.1 Class: SamplePtr
| Kind: | class | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | SamplePtr | |
| Syntax: | template <typename T>class SamplePtr {...}; | |
| Template param: | T | A managed object (event sample) |
| Description: | Emulates a std::unique_ptr to an event sample. The ara::com::SamplePtr behaves as a std::unique_ptr as long as the ServiceInterface.event/ ServiceInterface.field is subscribed to, or the {Si}Proxy it belongs to is not destroyed.The precondition defined in SWS_CM_00085 and SWS_CM_00087 must be fulfilled. Otherwise it is considered a violation. | |
| Notes: | The SamplePtr is always passed with a const SampleType to the callable in GetNewSamples() (see SWS_CM_00701). Therefore the sample datatype (typename T) and the SamplePtr operators using the sample datatype (typename T) are implicitly declared as const. This means that the sample data will always be read-only. | |
10.1.1 Public Member Functions
10.1.1.1 Special Member Functions
10.1.1.1.1 Copy Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | SamplePtr (const SamplePtr &)=delete; | |
| Description: | Copy constructor deletion | |
10.1.1.1.2 Default Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | constexpr SamplePtr () noexcept; | |
| Exception Safety: | exception safe | |
| Description: | Default constructor | |
10.1.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | SamplePtr (SamplePtr &&other) noexcept; | |
| Parameters (in): | other | Other ara::com::SamplePtr to move |
| Exception Safety: | exception safe | |
| Description: | Move constructor | |
10.1.1.1.4 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | ara::com::SamplePtr & operator= (ara::com::SamplePtr &&other) noexcept; | |
| Parameters (in): | other | Other ara::com::SamplePtr to move |
| Return value: | SamplePtr & | New ara::com::SamplePtr |
| Exception Safety: | exception safe | |
| Description: | Move assignment operator. | |
10.1.1.1.5 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | ara::com::SamplePtr & operator= (const ara::com::SamplePtr &)=delete; | |
| Description: | Copy assignment constructor deletion | |
10.1.1.1.6 Destructor
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | ~SamplePtr () noexcept; | |
| Exception Safety: | exception safe | |
| Description: | Destructor | |
10.1.1.2 Constructors
10.1.1.2.1 SamplePtr(std::nullptr_t)
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | constexpr SamplePtr (std::nullptr_t other) noexcept; | |
| Parameters (in): | other | A std::nullptr_t to copy |
| Exception Safety: | exception safe | |
| Description: | Semantically equivalent to SWS_CM_11534 | |
10.1.1.2.2 SamplePtr(T*)
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | explicit SamplePtr (T *ptr); | |
| Parameters (in): | ptr | The pointer to the data. |
| Description: | Constructor for the sample pointer. | |
10.1.1.2.3 SamplePtr(T*, const Deleter::Function&)
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | explicit SamplePtr (T *ptr, const typename Deleter::Function &deleteFunction); | |
| Parameters (in): | ptr | The pointer to the data. |
| deleteFunction | The function to delete the data. | |
| Description: | Constructor for the sample pointer. | |
10.1.1.3 Member Functions
10.1.1.3.1 Get
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | T * Get () const noexcept; | |
| Return value: | T * | A pointer to the managed object |
| Exception Safety: | exception safe | |
| Description: | Returns a pointer to the managed object. | |
10.1.1.3.2 GetProfileCheckStatus
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | ara::com::e2e::ProfileCheckStatus GetProfileCheckStatus () const noexcept; | |
| Return value: | ara::com::e2e::ProfileCheckStatus | The ara::com::e2e::ProfileCheckStatus |
| Exception Safety: | exception safe | |
| Description: | Returns the E2E protection check result | |
10.1.1.3.3 Reset
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | void Reset (std::nullptr_t other) noexcept; | |
| Parameters (in): | other | A replacing std::nullptr_t |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Replaces the managed object. | |
10.1.1.3.4 Swap
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | void Swap (ara::com::SamplePtr &other) noexcept; | |
| Parameters (in): | other | Another ara::com::SamplePtr to swap the managed object with |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Swaps the managed object. | |
10.1.1.3.5 operator bool
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | explicit operator bool () const noexcept; | |
| Return value: | bool | TRUE if the stored pointer is not null, FALSE otherwise. |
| Exception Safety: | exception safe | |
| Description: | Checks whether the stored pointer is set | |
10.1.1.3.6 operator*
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | T & operator* () const noexcept; | |
| Return value: | T & | The object owned by *this |
| Exception Safety: | exception safe | |
| Description: | Dereferences the stored pointer. | |
10.1.1.3.7 operator->
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | T * operator-> () const noexcept; | |
| Return value: | T * | A pointer to the object owned by *this |
| Exception Safety: | exception safe | |
| Description: | Dereferences the stored pointer. | |
10.1.1.3.8 operator=
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | ara::com::SamplePtr & operator= (std::nullptr_t other) noexcept; | |
| Parameters (in): | other | A std::nullptr_t to copy |
| Return value: | SamplePtr & | New ara::com::SamplePtr |
| Exception Safety: | exception safe | |
| Description: | Copy assignment of nullptr_t. | |
10.1.1.3.9 SetProfileCheckStatus
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | ara::com::SamplePtr | |
| Syntax: | void SetProfileCheckStatus (ara::com::e2e::ProfileCheckStatus status); | |
| Parameters (in): | status | The profile check status. |
| Description: | Set the profile check status. | |
10.2 Non-Member Functions
10.2.1 Other
10.2.1.1 make_sample_ptr
| Kind: | function | |
| Header file: | #include "ara/com/service/sample_ptr.h" | |
| Scope: | namespace ara::com | |
| Syntax: | template <typename T, typename... Args>ara::com::SamplePtr< T > make_sample_ptr (Args &&...args); | |
| Template param: | T | The type of the object to be created. |
| Args | The parameter pack of types for the constructor arguments. | |
| Parameters (in): | args | The arguments to be forwarded to the constructor of the underlying object. |
| Return value: | ara::com::SamplePtr< T > | A new SamplePtr instance, owning the created object. |
| Description: | Creates a new SamplePtr instance, initializing the underlying object with the provided arguments. | |
11 Header: ara/com/service/service_identifier.h
11.1 Class: ServiceIdentifierType
| Kind: | class | |
| Header file: | #include "ara/com/service/service_identifier.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ServiceIdentifierType | |
| Syntax: | class ServiceIdentifierType {...}; | |
| Description: | Specifies a Service Identifier The exact type may be overridden by the Communication Management software provider. but shall at least satisfy the [equalitycomparable] (SWS_CM_11511), [lessthancomparable] (SWS_CM_11512) and [copyassignable] (SWS_CM_11513) requirements as per ISO-14882-2014 to allow for logging, storing and managing ara::com::ServiceIdentifierTypes by the application. | |
11.1.1 Public Member Functions
11.1.1.1 Special Member Functions
11.1.1.1.1 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/service_identifier.h" | |
| Scope: | ara::com::ServiceIdentifierType | |
| Syntax: | ara::com::ServiceIdentifierType & operator= (const ara::com::ServiceIdentifierType &other); | |
| Parameters (in): | other | ara::com::ServiceIdentifierType to copy |
| Return value: | ServiceIdentifierType & | New ara::com::ServiceIdentifierType |
| Exception Safety: | not exception safe | |
| Description: | Copy assignment constructor | |
11.1.1.2 Member Functions
11.1.1.2.1 operator<
| Kind: | function | |
| Header file: | #include "ara/com/service/service_identifier.h" | |
| Scope: | ara::com::ServiceIdentifierType | |
| Syntax: | bool operator< (const ara::com::ServiceIdentifierType &other) const; | |
| Parameters (in): | other | Other ara::com::ServiceIdentifierType to compare |
| Return value: | bool | TRUE if other is less than *this, FALSE otherwise. |
| Exception Safety: | not exception safe | |
| Description: | LessThan operator as per [lessthancomparable] in ISO-14882-2014 LessThan operator as per [lessthancomparable] in ISO-14882-2014 | |
11.1.1.2.2 operator==
| Kind: | function | |
| Header file: | #include "ara/com/service/service_identifier.h" | |
| Scope: | ara::com::ServiceIdentifierType | |
| Syntax: | bool operator== (const ara::com::ServiceIdentifierType &other) const; | |
| Parameters (in): | other | ara::com::ServiceIdentifierType to compare |
| Return value: | bool | TRUE if other is equal to *this, FALSE otherwise. |
| Exception Safety: | not exception safe | |
| Description: | Equality operator as per [equalitycomparable] in ISO-14882-2014 | |
11.1.1.2.3 toString
| Kind: | function | |
| Header file: | #include "ara/com/service/service_identifier.h" | |
| Scope: | ara::com::ServiceIdentifierType | |
| Syntax: | ara::core::StringView toString () const; | |
| Return value: | ara::core::StringView | String representation of a ara::com::ServiceIdentifierType |
| Exception Safety: | not exception safe | |
| Description: | Stringification method for ara::com::ServiceIdentifierType | |
12 Header: ara/com/service/service_version.h
12.1 Class: ServiceVersionType
| Kind: | class | |
| Header file: | #include "ara/com/service/service_version.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ServiceVersionType | |
| Syntax: | class ServiceVersionType {...}; | |
| Description: | Specifies a Service Version. The exact type may be overridden by the Communication Management software provider. but shall at least satisfy the [equalitycomparable] (SWS_CM_11516), [lessthancomparable] (SWS_CM_11517) and [copyassignable] (SWS_CM_11518) requirements as per ISO-14882-2014 to allow for logging, storing and managing ara::com::ServiceVersionTypes by the application. | |
12.1.1 Public Member Functions
12.1.1.1 Special Member Functions
12.1.1.1.1 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "ara/com/service/service_version.h" | |
| Scope: | ara::com::ServiceVersionType | |
| Syntax: | ara::com::ServiceVersionType & operator= (const ara::com::ServiceVersionType &other); | |
| Parameters (in): | other | ara::com::ServiceVersionType to copy |
| Return value: | ServiceVersionType & | New ara::com::ServiceVersionType |
| Exception Safety: | not exception safe | |
| Description: | Copy assignment constructor | |
12.1.1.2 Member Functions
12.1.1.2.1 operator<
| Kind: | function | |
| Header file: | #include "ara/com/service/service_version.h" | |
| Scope: | ara::com::ServiceVersionType | |
| Syntax: | bool operator< (const ara::com::ServiceVersionType &other) const; | |
| Parameters (in): | other | ara::com::ServiceVersionType to compare |
| Return value: | bool | TRUE if other is less than *this, FALSE otherwise. |
| Exception Safety: | not exception safe | |
| Description: | LessThan operator as per [lessthancomparable] in ISO-14882-2014 | |
12.1.1.2.2 operator==
| Kind: | function | |
| Header file: | #include "ara/com/service/service_version.h" | |
| Scope: | ara::com::ServiceVersionType | |
| Syntax: | bool operator== (const ara::com::ServiceVersionType &other) const; | |
| Parameters (in): | other | ara::com::ServiceVersionType to compare |
| Return value: | bool | TRUE if other is equal to *this, FALSE otherwise. |
| Exception Safety: | not exception safe | |
| Description: | Equality operator as per [equalitycomparable] in ISO-14882-2014 | |
12.1.1.2.3 toString
| Kind: | function | |
| Header file: | #include "ara/com/service/service_version.h" | |
| Scope: | ara::com::ServiceVersionType | |
| Syntax: | ara::core::StringView toString () const; | |
| Return value: | ara::core::StringView | String representation of a ara::com::ServiceVersionType |
| Exception Safety: | not exception safe | |
| Description: | Stringification method for ara::com::ServiceVersionType | |
13 Header: ara/com/types.h
13.1 Non-Member Types
13.1.1 Type Alias: EventReceiveHandler
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | EventReceiveHandler | |
| Syntax: | using EventReceiveHandler = std::function<void()>; | |
| Description: | Callback function invoked if new event data arrives for an event. The event receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. | |
13.1.2 Type Alias: FieldReceiveHandler
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | FieldReceiveHandler | |
| Syntax: | using FieldReceiveHandler = std::function<void()>; | |
| Description: | Callback function invoked if a new notification arrives for a field. The field receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. | |
13.1.3 Type Alias: FindServiceHandler
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | FindServiceHandler | |
| Syntax: | template <typename T>using FindServiceHandler = std::function<void(ServiceHandleContainer< T >, FindServiceHandle)>; | |
| Template param: | T | Data type of data sample |
| Description: | Callback function invoked if service availability changes. It takes as input parameter a handle container containing handles for all matching service instances and a ara::com::FindServiceHandle which can be used to invoke StopFindService from within the ara::com::FindServiceHandler. | |
13.1.4 Type Alias: InstanceIdentifierContainer
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | InstanceIdentifierContainer | |
| Syntax: | using InstanceIdentifierContainer = ara::core::Vector<InstanceIdentifier>; | |
| Description: | Holds a list of ara::com::InstanceIdentifiers. The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per ISO-14882-2014 A ara::core::Vector (SWS_CORE_01301) for example fulfills these requirements. | |
13.1.5 Enumeration: MethodCallProcessingMode
| Kind: | enumeration | |
| Header file: | #include "ara/com/types.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | MethodCallProcessingMode | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class MethodCallProcessingMode : std::uint8_t {...}; | |
| Values: | kPoll | Polling mode |
| kEvent | Event driven and concurrent mode | |
| kEventSingleThread | Event driven, sequential mode | |
| Description: | Processing modes for the service implementation. | |
13.1.6 Type Alias: SampleAllocateePtr
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | SampleAllocateePtr | |
| Syntax: | template <typename T>using SampleAllocateePtr = std::unique_ptr<T>; | |
| Template param: | T | Data type of data sample |
| Description: | Pointer to an allocated (by Communication Management) data sample. The implementation is allowed to be changed by the Communication Management software provider. The precondition defined in SWS_CM_00086 must be fulfilled. Otherwise it is considered a violation. | |
13.1.7 Type Alias: ServiceHandleContainer
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ServiceHandleContainer | |
| Syntax: | template <typename T>using ServiceHandleContainer = ara::core::Vector<T>; | |
| Template param: | T | service handle |
| Description: | Holds a list of service handles and is used as a return value of any of the FindService() methods) • SWS_CM_00122 • SWS_CM_00622 . The assigned data type is allowed to be changed by the Communication Management software provider, but must adhere to [container.requirements.general] and [sequence.reqmts] requirements as per ISO-14882-2014. A ara::core::Vector (SWS_CORE_01301) for example fulfills these requirements. | |
13.1.8 Enumeration: ServiceState
| Kind: | enumeration | |
| Header file: | #include "ara/com/types.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ServiceState | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class ServiceState : std::uint8_t {...}; | |
| Values: | kNotAvailable | = 0 |
| Service is not available | ||
| kAvailable | = 1 | |
| Service is available | ||
| Description: | The state of the service from GetServiceState | |
13.1.9 Type Alias: ServiceStateHandler
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | ServiceStateHandler | |
| Syntax: | using ServiceStateHandler = std::function<void(ServiceState)>; | |
| Description: | Functor used as input arguments for any of the SetServiceStateChangeHandler() methods: • SWS_CM_01074 • SWS_CM_01076 | |
13.1.10 Enumeration: SubscriptionState
| Kind: | enumeration | |
| Header file: | #include "ara/com/types.h" | |
| Forwarding header file: | #include "ara/com/com_fwd.h" | |
| Scope: | namespace ara::com | |
| Symbol: | SubscriptionState | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class SubscriptionState : std::uint8_t {...}; | |
| Values: | kSubscribed | Subscription is active |
| kNotSubscribed | Subscription is not active | |
| kSubscriptionPending | Subscription is pending | |
| Description: | The subscription state of an event. | |
13.1.11 Type Alias: SubscriptionStateChangeHandler
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | SubscriptionStateChangeHandler | |
| Syntax: | using SubscriptionStateChangeHandler = std::function<void(SubscriptionState)>; | |
| Description: | Callback function invoked if ara::com::SubscriptionState of an event has changed. | |
13.1.12 Type Alias: TriggerReceiveHandler
| Kind: | type alias | |
| Header file: | #include "ara/com/types.h" | |
| Scope: | namespace ara::com | |
| Symbol: | TriggerReceiveHandler | |
| Syntax: | using TriggerReceiveHandler = std::function<void()>; | |
| Description: | A function wrapper for the handler function that gets called in case a new trigger arrives for an event. The trigger receiver must provide the function implementation which is not required to be re-entrant. Usage of std::function is recommended but not mandatory. | |
14 Header: para/com/proxy/proxy.h
14.1 Class: Proxy
| Kind: | class | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | Proxy | |
| Syntax: | class Proxy {...}; | |
| Description: | Base class of every generated service proxy. It provides service discovery, the handle the proxy was created from, and service state observation. The events, fields and methods of a particular service are added by the generated class that derives from it. The destructor is pure virtual, so the class is never instantiated directly; copying is deleted and moving is supported. | |
14.1.1 Public Member Functions
14.1.1.1 Special Member Functions
14.1.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | virtual ~Proxy()=0; | |
| Description: | Destruction of a Proxy | |
14.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | Proxy(const Proxy &)=delete; | |
| Description: | Copy constructor deletion | |
14.1.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | Proxy(Proxy &&) noexcept; | |
| Description: | Move constructor | |
14.1.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | Proxy & operator=(const Proxy &)=delete; | |
| Description: | Copy assignment operator deletion | |
14.1.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | Proxy & operator=(Proxy &&) noexcept; | |
| Description: | Move assignment operator | |
14.1.1.2 Member Functions
14.1.1.2.1 FindService(ara::com::InstanceIdentifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | static ara::core::Result< ara::com::ServiceHandleContainer< HandleType > > FindService(ara::com::InstanceIdentifier instance) noexcept; | |
| Parameters (in): | instance | ara::com::InstanceIdentifier qualifying the wanted instance of the service |
| Return value: | ara::core::Result< ara::com::ServiceHandleContainer< HandleType > > | • If successful: an ara::core::Result containing a ara::core::Result::value_type containing a ara::com::ServiceHandleContainer further containing HandleTypes for all matching services • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Errors: | ara::com::ComErrc::kCommunicationFailure | rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| Description: | Find a service using an ara::com::InstanceIdentifier, with immediately returned request | |
14.1.1.2.2 FindService(ara::core::InstanceSpecifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | static ara::core::Result< ara::com::ServiceHandleContainer< HandleType > > FindService(ara::core::InstanceSpecifier instance) noexcept; | |
| Parameters (in): | instance | ara::core::InstanceSpecifier qualifying the wanted instance of the service |
| Return value: | ara::core::Result< ara::com::ServiceHandleContainer< HandleType > > | As per SWS_CM_00122 |
| Exception Safety: | exception safe | |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of the executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | The type of mapping does not match the expected type of PortInterface: ServiceInterface referenced by a ServiceInstanceToPortPrototypeMapping. | |
| ProcessMappingViolation | The type of mapping does not match the expected type of PortInterface | |
| InstanceSpecifierAlreadyInUseViolation | The constructor was called with an Instance Specifier already | |
| InsufficientPermissionsViolation | Refused by Grant Enforcement | |
| Errors: | ara::com::ComErrc::kCommunicationFailure | rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| Description: | Find a service using an ara::core::InstanceSpecifier, with immediately returned request | |
14.1.1.2.3 GetHandle
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | HandleType GetHandle() const noexcept; | |
| Return value: | HandleType | As per SWS_CM_00312 |
| Exception Safety: | exception safe | |
| Description: | Return the handle used to create the proxy instance | |
14.1.1.2.4 GetServiceState
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | ara::core::Result< ara::com::ServiceState > GetServiceState() noexcept; | |
| Return value: | ara::core::Result< ara::com::ServiceState > | • If successful: an ara::core::Result containing a ara::core::Result::value_type i.e. a ara::com::ServiceState giving the service state • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kCommunicationFailure | rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| Description: | Returns the state of the service | |
14.1.1.2.5 SetServiceStateChangeHandler(ara::com::ServiceStateHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | void SetServiceStateChangeHandler(ara::com::ServiceStateHandler handler) noexcept; | |
| Parameters (in): | handler | The callback for service state change handler |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Register a service state change handler. This handler shall be called by the Communication Management implementation as soon as the service availability state has changed. The Handler may be overwritten during runtime. | |
14.1.1.2.6 SetServiceStateChangeHandler(ara::com::ServiceStateHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | template <typename ExecutorT>void SetServiceStateChangeHandler(ara::com::ServiceStateHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_01074 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_01074 but the method shall execute in a provided context. | |
14.1.1.2.7 StartFindService(FindServiceHandler<HandleType>, ara::com::InstanceIdentifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | static ara::core::Result< ara::com::FindServiceHandle > StartFindService(ara::com::FindServiceHandler< HandleType > handler, ara::com::InstanceIdentifier instance) noexcept; | |
| Parameters (in): | handler | A ara::com::FindServiceHandler for the corresponding ServiceProxy class, which gets called any time a AdaptivePlatformServiceInstance matching the given instance criteria is found. |
| instance | As per SWS_CM_00122 | |
| Return value: | ara::core::Result< ara::com::FindServiceHandle > | • If successful: an ara::core::Result containing a ara::core::Result::value_type containing a ara::com::FindServiceHandle for this search/find request which is needed to stop the service availability monitoring and related firing of the given handler. • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| InsufficientPermissionsViolation | Refused by Grant Enforcement | |
| Errors: | ara::com::ComErrc::kCommunicationFailure | rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| Description: | Find a service using an ara::com::InstanceIdentifier, with handler registration | |
14.1.1.2.8 StartFindService(FindServiceHandler<HandleType>, ara::com::InstanceIdentifier, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | template <typename ExecutorT>static ara::com::FindServiceHandle StartFindService(ara::com::FindServiceHandler< HandleType > handler, ara::com::InstanceIdentifier instance, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_00123 |
| instance | As per SWS_CM_00122 | |
| executor | As per SWS_CM_11360 | |
| Return value: | ara::com::FindServiceHandle | As per SWS_CM_00123 |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| InsufficientPermissionsViolation | Refused by Grant Enforcement | |
| Description: | Find a service using an ara::com::InstanceIdentifier, with handler registration, - in a provided execution context | |
14.1.1.2.9 StartFindService(FindServiceHandler<HandleType>, ara::core::InstanceSpecifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | static ara::core::Result< ara::com::FindServiceHandle > StartFindService(ara::com::FindServiceHandler< HandleType > handler, ara::core::InstanceSpecifier instance) noexcept; | |
| Parameters (in): | handler | As per SWS_CM_00123 |
| instance | As per SWS_CM_00622 | |
| Return value: | ara::core::Result< ara::com::FindServiceHandle > | |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kCommunicationFailure | rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| Description: | Find a service using an ara::core::InstanceSpecifier, with handler registration | |
14.1.1.2.10 StartFindService(FindServiceHandler<HandleType>, ara::core::InstanceSpecifier, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | template <typename ExecutorT>static ara::com::FindServiceHandle StartFindService(ara::com::FindServiceHandler< HandleType > handler, ara::core::InstanceSpecifier instance, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_00123 |
| instance | As per SWS_CM_00123 | |
| executor | As per SWS_CM_11360 | |
| Return value: | ara::com::FindServiceHandle | |
| Exception Safety: | exception safe | |
| Description: | Find a service using an ara::core::InstanceSpecifier, with handler registration, in a provided context | |
14.1.1.2.11 StopFindService(ara::com::FindServiceHandle)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | void StopFindService(ara::com::FindServiceHandle handle) noexcept; | |
| Parameters (in): | handle | The ara::com::FindServiceHandle returned by StartFindService methods: • SWS_CM_00123 • SWS_CM_00623 • SWS_CM_11352 • SWS_CM_11365 |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Stop an ongoing StartFindService() - Stops receiving further notifications for the provided ara::com::FindServiceHandle | |
14.1.1.2.12 UnsetServiceStateChangeHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Syntax: | void UnsetServiceStateChangeHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | As per SWS_CM_01074 | |
14.2 Class: Proxy::HandleType
| Kind: | class | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy | |
| Symbol: | HandleType | |
| Syntax: | class HandleType {...}; | |
| Description: | Handle for a specific AdaptivePlatformServiceInstance. It contains the information that is needed to create a service proxy. HandleType satisfies the [equalitycomparable] and [lessthancomparable] requirements as per ISO-14882-2014. This, together with SWS_CM_00317 and SWS_CM_00318, allows storing and managing HandleTypes by the application. | |
14.2.1 Public Member Functions
14.2.1.1 Special Member Functions
14.2.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | HandleType()=default; | |
| Description: | Default constructor. The instance specifier is initialised to "undefined" and the instance identifier to the empty string. | |
14.2.1.1.2 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | ~HandleType(); | |
| Exception Safety: | exception safe | |
| Description: | Destructor | |
14.2.1.1.3 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | HandleType(const HandleType &other); | |
| Parameters (in): | other | Other object to copy |
| Exception Safety: | not exception safe | |
| Description: | Copy constructor | |
14.2.1.1.4 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | HandleType(HandleType &&other) noexcept; | |
| Parameters (in): | other | Other object to move |
| Exception Safety: | not exception safe | |
| Description: | Move constructor | |
14.2.1.1.5 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | HandleType & operator=(const HandleType &other); | |
| Parameters (in): | other | Other object to copy |
| Return value: | HandleType & | |
| Exception Safety: | not exception safe | |
| Description: | Copy assignment constructor | |
14.2.1.1.6 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | HandleType & operator=(HandleType &&other) noexcept; | |
| Parameters (in): | other | Other object to move |
| Return value: | HandleType & | |
| Exception Safety: | not exception safe | |
| Description: | Move assignment constructor | |
14.2.1.2 Constructors
14.2.1.2.1 HandleType(ara::core::InstanceSpecifier, ServiceHandle)
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | HandleType(ara::core::InstanceSpecifier instanceSpecifier, ServiceHandle service); | |
| Parameters (in): | instanceSpecifier | The instance specifier of the service instance |
| service | The bound service handle | |
| Description: | Constructs a handle from an instance specifier and a bound service handle. | |
14.2.1.3 Member Functions
14.2.1.3.1 GetInstanceId
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | const ara::com::InstanceIdentifier & GetInstanceId() const; | |
| Return value: | const ara::com::InstanceIdentifier & | An ara::com::InstanceIdentifier |
| Exception Safety: | not exception safe | |
| Description: | Return the instance identifer for the handle | |
14.2.1.3.2 GetInstanceSpecifier
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | ara::core::InstanceSpecifier GetInstanceSpecifier() const; | |
| Return value: | ara::core::InstanceSpecifier | |
| Description: | Return instance specifier | |
14.2.1.3.3 GetServiceHandle
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | ServiceHandle GetServiceHandle() const; | |
| Return value: | ServiceHandle | |
| Description: | Return handle for bound service | |
14.2.1.3.4 operator<
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | bool operator<(const HandleType &other) const; | |
| Parameters (in): | other | Other HandleType to compare |
| Return value: | bool | |
| Exception Safety: | not exception safe | |
| Description: | LessThan operator as per [lessthancomparable] in ISO-14882-2014 | |
14.2.1.3.5 operator==
| Kind: | function | |
| Header file: | #include "para/com/proxy/proxy.h" | |
| Scope: | para::com::proxy::Proxy::HandleType | |
| Syntax: | bool operator==(const HandleType &other) const; | |
| Parameters (in): | other | Other HandleType to compare |
| Return value: | bool | |
| Exception Safety: | not exception safe | |
| Description: | Equality operator as per [equalitycomparable] in ISO-14882-2014 | |
15 Header: para/com/proxy/event.h
15.1 Class: Event
| Kind: | class | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | Event | |
| Syntax: | template <typename T, typename DdsT = nullptr_t, typename DdsEventT = nullptr_t, typename PubSubType = nullptr_t>class Event final {...}; | |
| Template param: | T | The event sample type |
| DdsT | DDS binding type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsEventT | DDS event type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| PubSubType | DDS publish/subscribe type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| Description: | Proxy-side event class. One instance is declared by the generated proxy for each event of the service interface. It provides subscription control, sample retrieval and the associated notification handlers. Copying is deleted; moving is supported. | |
15.1.1 Public Member Types
15.1.1.1 Type Alias: SampleType
| Kind: | type | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Symbol: | SampleType | |
| Syntax: | using SampleType = T; | |
| Description: | Data type for the value of an event sample. | |
15.1.2 Public Member Functions
15.1.2.1 Special Member Functions
15.1.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ~Event()=default; | |
| Description: | Destructor | |
15.1.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | Event(const Event &other)=delete; | |
| Description: | Copy constructor deletion | |
15.1.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | Event(Event &&other) noexcept=default; | |
| Description: | Move constructor | |
15.1.2.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | Event & operator=(const Event &other)=delete; | |
| Description: | Copy assignment operator deletion | |
15.1.2.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | Event & operator=(Event &&other) noexcept=default; | |
| Return value: | Event & | |
| Description: | Move assignment operator | |
15.1.2.2 Constructors
15.1.2.2.1 Event(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | explicit Event(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Parameters (in): | handle | The handle of the proxy instance the event belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the event within the service interface | |
| props | The serialization transformation properties applied to the event samples | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
15.1.2.2.2 Event(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, std::shared_ptr<ProxyDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | explicit Event(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface); | |
| Parameters (in): | handle | The handle of the proxy instance the event belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the event within the service interface | |
| props | The serialization transformation properties applied to the event samples | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
15.1.2.3 Member Functions
15.1.2.3.1 GetE2EStateMachineState
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ara::com::e2e::SMState GetE2EStateMachineState() const noexcept; | |
| Return value: | ara::com::e2e::SMState | State of the specific event class |
| Exception Safety: | exception safe | |
| Description: | Returns the state of the specific event class, which was determined by the last run of E2E_Check() function invoked during the last call of GetNewSamples | |
15.1.2.3.2 GetFreeSampleCount
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ara::core::Result< std::size_t > GetFreeSampleCount() const noexcept; | |
| Return value: | ara::core::Result< std::size_t > | The number of free/unused slots for event sample data in the local cache |
| Exception Safety: | exception safe | |
| Description: | Query Free Sample Slots | |
15.1.2.3.3 GetNewSamples(F&&, std::size_t)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | template <typename F>ara::core::Result< std::size_t > GetNewSamples(F &&f, std::size_t maxNumberOfSamples=std::numeric_limits< std::size_t >::max()) noexcept; | |
| Template param: | F | Functor which shall process the received samples |
| Parameters (in): | f | Callable ([[func.wrap]]) f with signature void(ara::com::SamplePtr<SampleType const>) |
| maxNumberOfSamples | Maximum number of received data samples being processed in the function call. | |
| Return value: | ara::core::Result< std::size_t > | • If successful: an ara::core::Result containing a ara::core::Result::value_type i.e. a std::size_t the total number of data samples passed to f • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kMaxSamplesExceeded | no_rollback_semantics |
| Application holds more ara::com::SamplePtrs than commited in Subscribe Samples were possibly skipped. | ||
| Description: | Method to update the event cache. | |
15.1.2.3.4 GetSubscriptionState
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ara::com::SubscriptionState GetSubscriptionState() const noexcept; | |
| Return value: | ara::com::SubscriptionState | The state of the subscription. |
| Exception Safety: | exception safe | |
| Description: | Query ara::com::SubscriptionState, as per SWS_CM_00310. | |
15.1.2.3.5 SetReceiveHandler(ara::com::EventReceiveHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ara::core::Result< void > SetReceiveHandler(ara::com::EventReceiveHandler handler); | |
| Parameters (in): | handler | The handler that shall be called by Communication Management upon event arrival. The EventReceiveHandler constitutes a function without parameters and has to use the GetNewSamples.f method of the specific Event class to access the retrieved event data. See SWS_CM_00309 for its definition. |
| Return value: | ara::core::Result< void > | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set/Register the event receive handler | |
15.1.2.3.6 SetReceiveHandler(ara::com::EventReceiveHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | template <typename ExecutorT>void SetReceiveHandler(ara::com::EventReceiveHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_00181 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_00181 but the method shall execute in a provided context | |
15.1.2.3.7 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ara::core::Result< void > SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler) noexcept; | |
| Parameters (in): | handler | The handler that shall be called by Communication Management when the ara::com::SubscriptionState of the event has changed. |
| Return value: | ara::core::Result< void > | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set ara::com::SubscriptionState change handler | |
15.1.2.3.8 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | template <typename ExecutorT>void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_00333 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_00333 but the method shall execute in a provided context | |
15.1.2.3.9 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler) noexcept; | |
| Parameters (in): | handler | Handler of type ara::com::e2e::TransportFaultConditionHandler to be set |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Provides possibility to register a ara::com::e2e::TransportFaultConditionHandler for a given Proxy Event. | |
15.1.2.3.10 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | template <typename ExecutorT>void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler, ExecutorT &&executor) noexcept; | |
| Parameters (in): | handler | Handler of type ara::com::e2e::TransportFaultConditionHandler to be set |
| executor | Executor object in which any asynchronous computation spawn shall be invoked | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Execution Context overload for SetTransportFaultConditionHandler for a given Proxy Event. | |
15.1.2.3.11 Subscribe(std::size_t)
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ara::core::Result< void > Subscribe(std::size_t maxSampleCount) noexcept; | |
| Parameters (in): | maxSampleCount | The cacheSize of the subscription. |
| Return value: | ara::core::Result< void > | • If successful: an ara::core::Result containing a ara::core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Errors: | ara::com::ComErrc::kMaxSampleCountNotRealizable | rollback_semantics |
| Provided maxSampleCount for event re-subscription does not match the maxSampleCount for the current subscription | ||
| Description: | Method to subscribe to a service event. If the Event is already in state ara::com::SubscriptionState.kSubscribed or in state ara::com::SubscriptionState.kSubscriptionPending at the time of the call, and the provided maxSampleCount value is the same as for the current subscription, the method shall return without action. | |
15.1.2.3.12 UnsetReceiveHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | ara::core::Result< void > UnsetReceiveHandler() noexcept; | |
| Return value: | ara::core::Result< void > | |
| Exception Safety: | exception safe | |
| Description: | Disable service event trigger | |
15.1.2.3.13 UnsetSubscriptionStateChangeHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | void UnsetSubscriptionStateChangeHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Unset ara::com::SubscriptionState change handler | |
15.1.2.3.14 UnsetTransportFaultConditionHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | void UnsetTransportFaultConditionHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Provides the possibility to unregister a previously set ara::com::e2e::TransportFaultConditionHandler for a given Proxy Event. | |
15.1.2.3.15 Unsubscribe
| Kind: | function | |
| Header file: | #include "para/com/proxy/event.h" | |
| Scope: | para::com::proxy::Event | |
| Syntax: | void Unsubscribe() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | DanglingSamplesViolation | Precondition SWS_CM_00085 has been violated. |
| Description: | Method to unsubscribe from a service event. If the Event is not subscribed to at the time of the call, the method shall return without action. | |
16 Header: para/com/proxy/field.h
16.1 Non-Member Types
16.1.1 Enumeration: FieldDecorator
| Kind: | enumeration | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldDecorator | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class FieldDecorator : std::uint8_t {...}; | |
| Values: | None | 0 — the field provides neither getter, setter nor notifier |
| Get | 1 << 0 — the field provides a getter | |
| Set | 1 << 1 — the field provides a setter | |
| Notify | 1 << 2 — the field provides a notifier | |
| Description: | Bit flags selecting which elements a field provides. The values are combined with operator| and passed as the first template argument of Field, which determines the base classes the field inherits. | |
16.1.2 Type Alias: FieldHashes
| Kind: | type | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldHashes | |
| Syntax: | using FieldHashes = std::array< std::int32_t, 3 >; | |
| Description: | The three identifiers of a field — getter, setter and notifier — held in one array. The positions are given by FieldHashIndex. | |
16.1.3 Enumeration: FieldHashIndex
| Kind: | enumeration | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldHashIndex | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum FieldHashIndex : std::uint8_t {...}; | |
| Values: | kGetter | 0 — position of the getter identifier in FieldHashes |
| kSetter | 1 — position of the setter identifier in FieldHashes | |
| kNotifier | 2 — position of the notifier identifier in FieldHashes | |
| Description: | Positions within FieldHashes. Declared as an unscoped enumeration, so the enumerators are usable directly as array subscripts. | |
16.1.4 Class: FieldNoGetter
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldNoGetter | |
| Syntax: | class FieldNoGetter {}; | |
| Description: | Empty class inherited by Field in place of FieldGetter when the decorator does not contain FieldDecorator::Get. A field built this way has no Get member. | |
16.1.5 Class: FieldNoNotifier
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldNoNotifier | |
| Syntax: | class FieldNoNotifier {}; | |
| Description: | Empty class inherited by Field in place of FieldNotifier when the decorator does not contain FieldDecorator::Notify. A field built this way has no subscription or sample-retrieval members. | |
16.1.6 Class: FieldNoSetter
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldNoSetter | |
| Syntax: | class FieldNoSetter {}; | |
| Description: | Empty class inherited by Field in place of FieldSetter when the decorator does not contain FieldDecorator::Set. A field built this way has no Set member. | |
16.2 Non-Member Functions
16.2.1 operator&
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Syntax: | constexpr FieldDecorator operator&(FieldDecorator a, FieldDecorator b); | |
| Parameters (in): | a | Left operand |
| b | Right operand | |
| Return value: | FieldDecorator | The bitwise conjunction of both operands |
| Description: | Tests a decorator combination for a single flag. Field uses it to select its base classes. | |
16.2.2 operator|
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Syntax: | constexpr FieldDecorator operator|(FieldDecorator a, FieldDecorator b); | |
| Parameters (in): | a | Left operand |
| b | Right operand | |
| Return value: | FieldDecorator | The bitwise disjunction of both operands |
| Description: | Combines decorator flags. The generated proxy writes the field type as Field<FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify, T>. | |
16.3 Class: Field
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | Field | |
| Base class: | std::conditional_t< (Decorator & FieldDecorator::Get) == FieldDecorator::Get, FieldGetter< T, DdsT, DdsReqT, DdsRetT >, FieldNoGetter > | FieldGetter when the decorator contains Get, FieldNoGetter otherwise |
std::conditional_t< (Decorator & FieldDecorator::Set) == FieldDecorator::Set, FieldSetter< T, DdsT, DdsReqT, DdsRetT >, FieldNoSetter > | FieldSetter when the decorator contains Set, FieldNoSetter otherwise | |
std::conditional_t< (Decorator & FieldDecorator::Notify) == FieldDecorator::Notify, FieldNotifier< T, DdsT, DdsNotifierT, DdsNotifierPubSubT >, FieldNoNotifier > | FieldNotifier when the decorator contains Notify, FieldNoNotifier otherwise | |
| Syntax: | template <FieldDecorator Decorator, typename T, typename DdsT = nullptr_t, typename DdsNotifierT = nullptr_t, typename DdsNotifierPubSubT = nullptr_t, typename DdsReqT = nullptr_t, typename DdsRetT = nullptr_t>class Field final {...}; | |
| Template param: | Decorator | Which elements the field provides. Combine FieldDecorator::Get, FieldDecorator::Set and FieldDecorator::Notify with operator| |
| T | The field value type | |
| DdsT | DDS binding type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsNotifierT | DDS notifier type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsNotifierPubSubT | DDS notifier publish/subscribe type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsReqT | DDS request type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsRetT | DDS return type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| Description: | Proxy-side field class. One instance is declared by the generated proxy for each field of the service interface. Which elements the field provides — getter, setter, notifier — is chosen by the Decorator template argument, which selects the base classes; an element the decorator does not name is absent from the type. Copying is deleted; moving is supported. | |
16.3.1 Public Member Types
16.3.1.1 Type Alias: FieldType
| Kind: | type | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Symbol: | FieldType | |
| Syntax: | using FieldType = T; | |
| Description: | As per SWS_CM_11402 | |
16.3.2 Public Member Functions
16.3.2.1 Special Member Functions
16.3.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | ~Field() override=default; | |
| Description: | Destructor. Overrides the pure virtual destructors of the base classes the decorator selected. | |
16.3.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | Field(const Field &other)=delete; | |
| Description: | Copy constructor deletion | |
16.3.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | Field(Field &&other) noexcept=default; | |
| Description: | Move constructor | |
16.3.2.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | Field & operator=(const Field &other)=delete; | |
| Description: | Copy assignment operator deletion | |
16.3.2.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | Field & operator=(Field &&other) noexcept=default; | |
| Return value: | Field & | |
| Description: | Move assignment operator | |
16.3.2.2 Constructors
16.3.2.2.1 Constructor (Getter)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Get >>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructs a field that provides a getter. Selected when the decorator is exactly FieldDecorator::Get. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.3.2.2.2 Constructor (Getter, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Get >>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsGetSerializer< DdsReqT > ddsGetSerializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsGetDeserializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get request | |
| ddsGetDeserializer | The deserializer for the DDS get reply | |
| Description: | Constructs a field that provides a getter. Selected when the decorator is exactly FieldDecorator::Get. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.3.2.2.3 Constructor (Setter)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Set >, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructs a field that provides a setter. Selected when the decorator is exactly FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.3.2.2.4 Constructor (Setter, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Set >>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsSetSerializer< DdsT, DdsReqT > ddsSetSerializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsSetDeserializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsSetSerializer | The serializer for the DDS set request | |
| ddsSetDeserializer | The deserializer for the DDS set reply | |
| Description: | Constructs a field that provides a setter. Selected when the decorator is exactly FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.3.2.2.5 Constructor (Notifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Notify >, typename = void, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructs a field that provides a notifier. Selected when the decorator is exactly FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.3.2.2.6 Constructor (Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Notify >>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| Description: | Constructs a field that provides a notifier. Selected when the decorator is exactly FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.3.2.2.7 Constructor (Getter, Setter)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set) >, typename = void, typename = void, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructs a field that provides a getter and a setter. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.3.2.2.8 Constructor (Getter, Setter, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set) >>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsGetSerializer< DdsReqT > ddsGetSerializer, FieldDdsSetSerializer< DdsT, DdsReqT > ddsSetSerializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsGetDeserializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsSetDeserializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get request | |
| ddsSetSerializer | The serializer for the DDS set request | |
| ddsGetDeserializer | The deserializer for the DDS get reply | |
| ddsSetDeserializer | The deserializer for the DDS set reply | |
| Description: | Constructs a field that provides a getter and a setter. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.3.2.2.9 Constructor (Getter, Notifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Notify) >, typename = void, typename = void, typename = void, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructs a field that provides a getter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.3.2.2.10 Constructor (Getter, Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Notify) >, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsGetSerializer< DdsReqT > ddsGetSerializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsGetDeserializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get request | |
| ddsGetDeserializer | The deserializer for the DDS get reply | |
| Description: | Constructs a field that provides a getter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.3.2.2.11 Constructor (Setter, Notifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Set | FieldDecorator::Notify) >, typename = void, typename = void, typename = void, typename = void, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructs a field that provides a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.3.2.2.12 Constructor (Setter, Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Set | FieldDecorator::Notify) >, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsSetSerializer< DdsT, DdsReqT > ddsSetSerializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsSetDeserializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsSetSerializer | The serializer for the DDS set request | |
| ddsSetDeserializer | The deserializer for the DDS set reply | |
| Description: | Constructs a field that provides a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.3.2.2.13 Constructor (Getter, Setter, Notifier)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify) >, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructs a field that provides a getter, a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.3.2.2.14 Constructor (Getter, Setter, Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify) >, typename = void>explicit Field(const Proxy::HandleType &handle, FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsGetSerializer< DdsReqT > ddsGetSerializer, FieldDdsSetSerializer< DdsT, DdsReqT > ddsSetSerializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsGetDeserializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsSetDeserializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hashes | The getter, setter and notifier identifiers of the field | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get request | |
| ddsSetSerializer | The serializer for the DDS set request | |
| ddsGetDeserializer | The deserializer for the DDS get reply | |
| ddsSetDeserializer | The deserializer for the DDS set reply | |
| Description: | Constructs a field that provides a getter, a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.4 Class: Field<FieldDecorator::None>
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | template <typename T, typename DdsT, typename DdsNotifierT, typename DdsReqT, typename DdsRetT>class Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > final {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Unused by this specialization | |
| DdsNotifierT | DDS notifier type. Unused by this specialization | |
| DdsReqT | DDS request type. Unused by this specialization | |
| DdsRetT | DDS return type. Unused by this specialization | |
| Description: | Specialization of Field for a field that provides neither getter, setter nor notifier. It has no base class and carries only the FieldType alias; the constructor ignores its arguments. Copying is deleted; moving is supported. | |
16.4.1 Public Member Types
16.4.1.1 Type Alias: FieldType
| Kind: | type | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Symbol: | FieldType | |
| Syntax: | using FieldType = T; | |
| Description: | As per SWS_CM_11402 | |
16.4.2 Public Member Functions
16.4.2.1 Special Member Functions
16.4.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | ~Field()=default; | |
| Description: | Destructor | |
16.4.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | Field(const Field &other)=delete; | |
| Description: | Copy constructor deletion | |
16.4.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | Field(Field &&other) noexcept=default; | |
| Description: | Move constructor | |
16.4.2.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | Field & operator=(const Field &other)=delete; | |
| Description: | Copy assignment operator deletion | |
16.4.2.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | Field & operator=(Field &&other) noexcept=default; | |
| Return value: | Field & | |
| Description: | Move assignment operator | |
16.4.2.2 Constructors
16.4.2.2.1 Field(const Proxy::HandleType &, std::shared_ptr<ProxyInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | explicit Field(const Proxy::HandleType &, std::shared_ptr< ProxyInterface >); | |
| Description: | Constructor. Both parameters are unnamed and unused — the field provides no element, so nothing is bound. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.4.2.2.2 Field(const Proxy::HandleType &, std::shared_ptr<ProxyInterface>, std::shared_ptr<ProxyDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRetT > | |
| Syntax: | explicit Field(const Proxy::HandleType &, std::shared_ptr< ProxyInterface >, std::shared_ptr< ProxyDdsInterface >); | |
| Description: | Constructor. All three parameters are unnamed and unused — the field provides no element, so nothing is bound. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.5 Class: FieldGetter
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldGetter | |
| Syntax: | template <typename T, typename DdsT, typename DdsReqT, typename DdsRetT>class FieldGetter {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Used only when the DDS implementation is enabled | |
| DdsReqT | DDS request type. Used only when the DDS implementation is enabled | |
| DdsRetT | DDS return type. Used only when the DDS implementation is enabled | |
| Description: | Abstract base class carrying the getter of a proxy field. Field inherits it when the decorator contains FieldDecorator::Get, and inherits FieldNoGetter otherwise. The destructor is pure virtual, so the class cannot be instantiated on its own. Copying is deleted; moving is supported. | |
16.5.1 Public Member Functions
16.5.1.1 Special Member Functions
16.5.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | virtual ~FieldGetter()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
16.5.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | FieldGetter(const FieldGetter &other)=delete; | |
| Description: | Copy constructor deletion | |
16.5.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | FieldGetter(FieldGetter &&other) noexcept=default; | |
| Description: | Move constructor | |
16.5.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | FieldGetter & operator=(const FieldGetter &other)=delete; | |
| Description: | Copy assignment operator deletion | |
16.5.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | FieldGetter & operator=(FieldGetter &&other) noexcept=default; | |
| Return value: | FieldGetter & | |
| Description: | Move assignment operator | |
16.5.1.2 Constructors
16.5.1.2.1 FieldGetter(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | explicit FieldGetter(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the field getter within the service interface | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.5.1.2.2 FieldGetter(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, std::shared_ptr<ProxyDdsInterface>, FieldDdsGetSerializer<DdsReqT>, FieldDdsDeserializer<DdsT, DdsRetT>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | explicit FieldGetter(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsGetSerializer< DdsReqT > ddsSerializer, FieldDdsDeserializer< DdsT, DdsRetT > ddsDeserializer); | |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the field getter within the service interface | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsSerializer | The serializer for the DDS get request | |
| ddsDeserializer | The deserializer for the DDS get reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.5.1.3 Member Functions
16.5.1.3.1 Get
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldGetter | |
| Syntax: | ara::core::Future< T > Get() noexcept; | |
| Return value: | ara::core::Future< FieldType > | • If successful: an ara::core::Future containing a FieldType object as per SWS_CM_11403 • If unsuccessful: an ara::core::Future containing a corresponding ara::core::FutureErrc |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Errors: | ara::com::ComErrc::kCommunicationFailure | rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| ara::com::ComErrc::kMinimumSendIntervalViolationError | rollback_semantics | |
| Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement.ServiceInterfaceDeploymentElement.minimumSendInterval for the service instance element has not yet expired. | ||
| Description: | Get the current value of the Field. The method is present only if Field.Field.hasGetter ==TRUE, otherwise it is not present (shall not be generated) | |
16.6 Class: FieldNotifier
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldNotifier | |
| Syntax: | template <typename T, typename DdsT, typename DdsNotifierT, typename DdsNotifierPubSubT>class FieldNotifier {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Used only when the DDS implementation is enabled | |
| DdsNotifierT | DDS notifier type. Used only when the DDS implementation is enabled | |
| DdsNotifierPubSubT | DDS notifier publish/subscribe type. Used only when the DDS implementation is enabled | |
| Description: | Abstract base class carrying the notifier of a proxy field. Field inherits it when the decorator contains FieldDecorator::Notify, and inherits FieldNoNotifier otherwise. It provides the subscription control, sample retrieval and notification handlers of the field. The destructor is pure virtual, so the class cannot be instantiated on its own. Copying is deleted; moving is supported. | |
16.6.1 Public Member Functions
16.6.1.1 Special Member Functions
16.6.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | virtual ~FieldNotifier()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
16.6.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | FieldNotifier(const FieldNotifier &other)=delete; | |
| Description: | Copy constructor deletion | |
16.6.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | FieldNotifier(FieldNotifier &&other) noexcept=default; | |
| Description: | Move constructor | |
16.6.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | FieldNotifier & operator=(const FieldNotifier &other)=delete; | |
| Description: | Copy assignment operator deletion | |
16.6.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | FieldNotifier & operator=(FieldNotifier &&other) noexcept=default; | |
| Return value: | FieldNotifier & | |
| Description: | Move assignment operator | |
16.6.1.2 Constructors
16.6.1.2.1 FieldNotifier(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | explicit FieldNotifier(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the field notifier within the service interface | |
| props | The serialization transformation properties applied to the field notification samples | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.6.1.2.2 FieldNotifier(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, std::shared_ptr<ProxyDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | explicit FieldNotifier(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface); | |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the field notifier within the service interface | |
| props | The serialization transformation properties applied to the field notification samples | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.6.1.3 Member Functions
16.6.1.3.1 GetE2EStateMachineState
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | ara::com::e2e::SMState GetE2EStateMachineState() const noexcept; | |
| Return value: | ara::com::e2e::SMState | State of the specific field class |
| Exception Safety: | exception safe | |
| Description: | Returns the state of the specific field class, which was determined by the last run of E2E_Check() function invoked during the last call of GetNewSamples | |
16.6.1.3.2 GetFreeSampleCount
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | ara::core::Result< std::size_t > GetFreeSampleCount() const noexcept; | |
| Return value: | ara::core::Result< std::size_t > | The number of free/unused slots for field notification sample data in the local cache |
| Exception Safety: | exception safe | |
| Description: | Query Free Sample Slots | |
16.6.1.3.3 GetNewSamples
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | template <typename F>ara::core::Result< std::size_t > GetNewSamples(F &&f, std::size_t maxNumberOfSamples=std::numeric_limits< std::size_t >::max()) noexcept; | |
| Template param: | F | As per SWS_CM_00701 |
| Parameters (in): | f | As per SWS_CM_00701 |
| maxNumberOfSamples | As per SWS_CM_00701 | |
| Return value: | ara::core::Result< std::size_t > | As per SWS_CM_00701 |
| Exception Safety: | not exception safe | |
| Errors: | ara::com::ComErrc::kMaxSamplesExceeded | rollback_semantics |
| As per SWS_CM_00701 | ||
| Description: | Method to update the field notification cache. | |
16.6.1.3.4 GetSubscriptionState
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | ara::com::SubscriptionState GetSubscriptionState() const noexcept; | |
| Return value: | ara::com::SubscriptionState | The state of the subscription. |
| Exception Safety: | exception safe | |
| Description: | Query ara::com::SubscriptionState, as per SWS_CM_00310. | |
16.6.1.3.5 SetReceiveHandler(ara::com::EventReceiveHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | ara::core::Result< void > SetReceiveHandler(ara::com::EventReceiveHandler handler); | |
| Parameters (in): | handler | The handler that shall be called by Communication Management upon notification arrival. The FieldReceiveHandler constitutes a function without parameters and has to use the GetNewSamples.f method of the specific Field class to access the retrieved event data. See SWS_CM_11615 for its definition. |
| Return value: | ara::core::Result< void > | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set/Register the Field notification receive handler | |
16.6.1.3.6 SetReceiveHandler(ara::com::EventReceiveHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | template <typename ExecutorT>void SetReceiveHandler(ara::com::EventReceiveHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_11605 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_11605 but the handler shall execute in a provided context | |
16.6.1.3.7 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | ara::core::Result< void > SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler) noexcept; | |
| Parameters (in): | handler | As per SWS_CM_00333 |
| Return value: | ara::core::Result< void > | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set ara::com::SubscriptionState change handler | |
16.6.1.3.8 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | template <typename ExecutorT>void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_11354 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_11607 but the handler shall execute in a provided context | |
16.6.1.3.9 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler) noexcept; | |
| Parameters (in): | handler | Handler of type ara::com::e2e::TransportFaultConditionHandler to be set |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Provides possibility to register a ara::com::e2e::TransportFaultConditionHandler for a given Proxy Field Notifier. | |
16.6.1.3.10 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | template <typename ExecutorT>void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler, ExecutorT &&executor) noexcept; | |
| Parameters (in): | handler | Handler to be set |
| executor | Executor object in which any asynchronous computation spawn shall be invoked | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Execution Context overload for SetTransportFaultConditionHandler for a given Proxy Field Notifier. | |
16.6.1.3.11 Subscribe
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | ara::core::Result< void > Subscribe(std::size_t maxSampleCount); | |
| Parameters (in): | maxSampleCount | As per SWS_CM_00141 |
| Return value: | ara::core::Result< void > | As per SWS_CM_00141 |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Errors: | ara::com::ComErrc::kMaxSampleCountNotRealizable | rollback_semantics |
| As per SWS_CM_00141 | ||
| Description: | Method to subscribe to a service field notification. If the Field is already in state ara::com::SubscriptionState.kSubscribed or in state ara::com::SubscriptionState.kSubscriptionPending at the time of the call, and the provided maxSampleCount value is the same as for the current subscription, the method shall return without action. | |
16.6.1.3.12 UnsetReceiveHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | ara::core::Result< void > UnsetReceiveHandler() noexcept; | |
| Return value: | ara::core::Result< void > | |
| Exception Safety: | exception safe | |
| Description: | Disable service field notification trigger | |
16.6.1.3.13 UnsetSubscriptionStateChangeHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | void UnsetSubscriptionStateChangeHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Unset ara::com::SubscriptionState change handler | |
16.6.1.3.14 UnsetTransportFaultConditionHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | void UnsetTransportFaultConditionHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Provides the possibility to unregister a previously set ara::com::e2e::TransportFaultConditionHandler for a given Proxy Field Notifier. | |
16.6.1.3.15 Unsubscribe
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldNotifier | |
| Syntax: | void Unsubscribe(); | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Method to unsubscribe from a service field notification. If the Field is not subscribed to at the time of the call, Unsubscribe shall return without action. | |
16.7 Class: FieldSetter
| Kind: | class | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | FieldSetter | |
| Syntax: | template <typename T, typename DdsT, typename DdsReqT, typename DdsRepT>class FieldSetter {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Used only when the DDS implementation is enabled | |
| DdsReqT | DDS request type. Used only when the DDS implementation is enabled | |
| DdsRepT | DDS reply type. Used only when the DDS implementation is enabled | |
| Description: | Abstract base class carrying the setter of a proxy field. Field inherits it when the decorator contains FieldDecorator::Set, and inherits FieldNoSetter otherwise. The destructor is pure virtual, so the class cannot be instantiated on its own. Copying is deleted; moving is supported. | |
16.7.1 Public Member Functions
16.7.1.1 Special Member Functions
16.7.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | virtual ~FieldSetter()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
16.7.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | FieldSetter(const FieldSetter &other)=delete; | |
| Description: | Copy constructor deletion | |
16.7.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | FieldSetter(FieldSetter &&other) noexcept=default; | |
| Description: | Move constructor | |
16.7.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | FieldSetter & operator=(const FieldSetter &other)=delete; | |
| Description: | Copy assignment operator deletion | |
16.7.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | FieldSetter & operator=(FieldSetter &&other) noexcept=default; | |
| Return value: | FieldSetter & | |
| Description: | Move assignment operator | |
16.7.1.2 Constructors
16.7.1.2.1 FieldSetter(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | explicit FieldSetter(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface); | |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the field setter within the service interface | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
16.7.1.2.2 FieldSetter(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, std::shared_ptr<ProxyDdsInterface>, FieldDdsSetSerializer<DdsT, DdsReqT>, FieldDdsDeserializer<DdsT, DdsRepT>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | explicit FieldSetter(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface, FieldDdsSetSerializer< DdsT, DdsReqT > ddsSerializer, FieldDdsDeserializer< DdsT, DdsRepT > ddsDeserializer); | |
| Parameters (in): | handle | The handle of the proxy instance the field belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the field setter within the service interface | |
| props | The serialization transformation properties applied to the field value | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsSerializer | The serializer for the DDS set request | |
| ddsDeserializer | The deserializer for the DDS set reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
16.7.1.3 Member Functions
16.7.1.3.1 Set
| Kind: | function | |
| Header file: | #include "para/com/proxy/field.h" | |
| Scope: | para::com::proxy::FieldSetter | |
| Syntax: | ara::core::Future< T > Set(const T &value); | |
| Parameters (in): | value | New value of field |
| Return value: | ara::core::Future< FieldType > | • If successful: an ara::core::Future containing a FieldType object as per SWS_CM_11403 • If unsuccessful: an ara::core::Future containing a corresponding ara::core::FutureErrc |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Errors: | ara::com::ComErrc::kCommunicationFailure | no_rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure. In case of a communication timeout this could lead to an uncertain state on the remote server side. | ||
| ara::com::ComErrc::kMinimumSendIntervalViolationError | no_rollback_semantics | |
| Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement.ServiceInterfaceDeploymentElement.minimumSendInterval for the service instance element has not yet expired. | ||
| Description: | Set a new value of the Field. The method is present only if Field.Field.hasSetter==TRUE, otherwise it is not present (shall not be generated). There is no need to have Get method itself return [Application Errors] errors when getting a field value (as there are no errors possible when getting a field value). The Set-Method may return [Application Errors], but does so via returning a value different from the one passed in the request parameter. | |
17 Header: para/com/proxy/method.h
17.1 Class: Method
| Kind: | class | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | Method | |
| Base class: | para::com::proxy::MethodBase< T, Args... > | |
| Syntax: | template <typename T, typename... Args>class Method final {...};When PARA_DDS_IMPLEMENTATION is defined:template <typename T, typename DdsReqT, typename DdsRepT, typename DdsErrT, typename... Args>class Method final {...}; | |
| Template param: | T | The method output type — the structure wrapping the out arguments |
| Args... | The types of the method input arguments, in the order they are declared | |
| DdsReqT | DDS request type. Declared only when the DDS implementation is enabled | |
| DdsRepT | DDS reply type. Declared only when the DDS implementation is enabled | |
| DdsErrT | DDS error type. Declared only when the DDS implementation is enabled | |
| Description: | Proxy-side method class. One instance is declared by the generated proxy for each method of the service interface whose fireAndForget is FALSE. Calling the instance sends the request and returns an ara::core::Future that carries the reply. Copying is deleted; moving is supported. | |
17.1.1 Public Member Types
17.1.1.1 Type Alias: Output
| Kind: | type | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Symbol: | Output | |
| Syntax: | using Output = T; | |
| Description: | Structure wrapping the out arguments for a method | |
17.1.2 Public Member Functions
17.1.2.1 Special Member Functions
17.1.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | ~Method() override=default; | |
| Description: | Destructor. Overrides the pure virtual destructor of MethodBase. | |
17.1.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | Method(const Method &other)=delete; | |
| Description: | Copy constructor deletion | |
17.1.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | Method(Method &&other) noexcept=default; | |
| Description: | Move constructor | |
17.1.2.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | Method & operator=(const Method &other)=delete; | |
| Description: | Copy assignment operator deletion | |
17.1.2.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | Method & operator=(Method &&other) noexcept=default; | |
| Return value: | Method & | |
| Description: | Move assignment operator | |
17.1.2.2 Constructors
17.1.2.2.1 Method(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, MethodErrorDomains, Serializer<Args...>, Deserializer<T>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | explicit Method(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, MethodErrorDomains errorDomains, Serializer< Args... > serializer, Deserializer< T > deserializer); | |
| Parameters (in): | handle | The handle of the proxy instance the method belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the method within the service interface | |
| props | The serialization transformation properties applied to the request and the reply | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| errorDomains | The application error domains declared for this method, keyed by error domain id. Used to rebuild an application error from a reply | |
| serializer | The serializer for the request arguments | |
| deserializer | The deserializer for the reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
17.1.2.2.2 Method(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, MethodErrorDomains, Serializer<Args...>, Deserializer<T>, std::shared_ptr<ProxyDdsInterface>, MethodDdsSerializer<DdsReqT, Args...>, MethodDdsDeserializer<T, DdsRepT, DdsErrT>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | explicit Method(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, MethodErrorDomains errorDomains, Serializer< Args... > serializer, Deserializer< T > deserializer, std::shared_ptr< ProxyDdsInterface > ddsInterface, MethodDdsSerializer< DdsReqT, Args... > ddsSerializer, MethodDdsDeserializer< T, DdsRepT, DdsErrT > ddsDeserializer); | |
| Parameters (in): | handle | The handle of the proxy instance the method belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the method within the service interface | |
| props | The serialization transformation properties applied to the request and the reply | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| errorDomains | The application error domains declared for this method, keyed by error domain id. Used to rebuild an application error from a reply | |
| serializer | The serializer for the request arguments | |
| deserializer | The deserializer for the reply | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsSerializer | The serializer for the DDS request | |
| ddsDeserializer | The deserializer for the DDS reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
17.1.2.3 Member Functions
17.1.2.3.1 operator()
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method | |
| Syntax: | ara::core::Future< Output > operator()(Args... args) const; | |
| Parameters (in): | args | The symbol name of method argument[0..N] in the ordered list of method arguments |
| Return value: | ara::core::Future< Output > | • If successful: an ara::core::Future containing an Output object as per SWS_CM_99333 • If unsuccessful: an ara::core::Future containing a corresponding ara::core::FutureErrc |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Errors: | ara::com::ComErrc::kCommunicationFailure | no_rollback_semantics |
| The network binding reported a recoverable communications error or a secure communication failure. In case of a communication timeout this could lead to an uncertain state on the remote server side. | ||
| ara::com::ComErrc::kUnknownApplicationError | rollback_semantics | |
| A remote service returned an unconfigured application error. | ||
| ara::com::ComErrc::kServiceNotAvailable | rollback_semantics | |
| Service is not available after being previously offered via OfferService | ||
| ara::com::ComE2EErrc::kUnspecifiedE2EError | rollback_semantics | |
| A remote service returned an unspecified E2E error. | ||
| ara::com::ComErrc::kMinimumSendIntervalViolationError | rollback_semantics | |
| Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement.ServiceInterfaceDeploymentElement.minimumSendInterval for the service instance element has not yet expired. | ||
| Description: | Initiate a method call (ClientServerOperation. ClientServerOperation.fireAndForget ==FALSE). The method call will return immediately. The caller's selection of a synchronous or asynchronous behavior to get the method output is achieved by the use of the returned ara::core::Future object which is used to query for method completion and result including possible error. | |
17.2 Class: Method<void>
| Kind: | class | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | Method< void, Args... > | |
| Base class: | para::com::proxy::MethodBase< void, Args... > | |
| Syntax: | template <typename... Args>class Method< void, Args... > final {...};When PARA_DDS_IMPLEMENTATION is defined:template <typename DdsReqT, typename DdsRepT, typename DdsErrT, typename... Args>class Method< void, DdsReqT, DdsRepT, DdsErrT, Args... > final {...}; | |
| Template param: | Args... | The types of the method input arguments, in the order they are declared |
| DdsReqT | DDS request type. Declared only when the DDS implementation is enabled | |
| DdsRepT | DDS reply type. Declared only when the DDS implementation is enabled | |
| DdsErrT | DDS error type. Declared only when the DDS implementation is enabled | |
| Description: | Specialization of Method for a fire-and-forget method — one whose fireAndForget is TRUE. Calling the instance sends the request and returns nothing; there is no reply, so the class carries no Output type. Copying is deleted; moving is supported. | |
17.2.1 Public Member Functions
17.2.1.1 Special Member Functions
17.2.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | ~Method() override=default; | |
| Description: | Destructor. Overrides the pure virtual destructor of MethodBase. | |
17.2.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | Method(const Method &other)=delete; | |
| Description: | Copy constructor deletion | |
17.2.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | Method(Method &&other) noexcept=default; | |
| Description: | Move constructor | |
17.2.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | Method & operator=(const Method &other)=delete; | |
| Description: | Copy assignment operator deletion | |
17.2.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | Method & operator=(Method &&other) noexcept=default; | |
| Return value: | Method & | |
| Description: | Move assignment operator | |
17.2.1.2 Constructors
17.2.1.2.1 Method(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, Serializer<Args...>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | explicit Method(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, Serializer< Args... > serializer); | |
| Parameters (in): | handle | The handle of the proxy instance the method belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the method within the service interface | |
| props | The serialization transformation properties applied to the request | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| serializer | The serializer for the request arguments | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. There is no deserializer and no error domain map — a fire-and-forget call has no reply. | |
17.2.1.2.2 Method(const Proxy::HandleType &, Hash, const serializer::TransformationProps, std::shared_ptr<ProxyInterface>, Serializer<Args...>, std::shared_ptr<ProxyDdsInterface>, MethodDdsSerializer<DdsReqT, Args...>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | explicit Method(const Proxy::HandleType &handle, Hash hash, const serializer::TransformationProps props, std::shared_ptr< ProxyInterface > interface, Serializer< Args... > serializer, std::shared_ptr< ProxyDdsInterface > ddsInterface, MethodDdsSerializer< DdsReqT, Args... > ddsSerializer); | |
| Parameters (in): | handle | The handle of the proxy instance the method belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the method within the service interface | |
| props | The serialization transformation properties applied to the request | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| serializer | The serializer for the request arguments | |
| ddsInterface | The proxy binding interface used for DDS | |
| ddsSerializer | The serializer for the DDS request | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. There is no deserializer and no error domain map — a fire-and-forget call has no reply. | |
17.2.1.3 Member Functions
17.2.1.3.1 operator()
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::Method< void, Args... > | |
| Syntax: | void operator()(Args... args) const; | |
| Parameters (in): | args | The symbol name of method argument[0..N] in the ordered list of method arguments |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Description: | Initiate a fire-and-forget method call (ClientServerOperation. ClientServerOperation.fireAndForget ==TRUE) | |
17.3 Class: MethodBase
| Kind: | class | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | MethodBase | |
| Syntax: | template <typename T, typename... Args>class MethodBase {...}; | |
| Template param: | T | The method output type, or void for a fire-and-forget method |
| Args... | The types of the method input arguments, in the order they are declared | |
| Description: | Abstract base class shared by Method and its fire-and-forget specialization. It holds the binding implementation and provides the E2E state query. The destructor is pure virtual, so the class is never instantiated directly; copying is deleted and moving is supported. | |
17.3.1 Public Member Functions
17.3.1.1 Special Member Functions
17.3.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::MethodBase | |
| Syntax: | MethodBase()=default; | |
| Description: | Default constructor. The binding implementation is left empty; the derived class installs it. | |
17.3.1.1.2 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::MethodBase | |
| Syntax: | virtual ~MethodBase()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
17.3.1.1.3 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::MethodBase | |
| Syntax: | MethodBase(const MethodBase &other)=delete; | |
| Description: | Copy constructor deletion | |
17.3.1.1.4 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::MethodBase | |
| Syntax: | MethodBase(MethodBase &&other) noexcept=default; | |
| Description: | Move constructor | |
17.3.1.1.5 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::MethodBase | |
| Syntax: | MethodBase & operator=(const MethodBase &other)=delete; | |
| Description: | Copy assignment operator deletion | |
17.3.1.1.6 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::MethodBase | |
| Syntax: | MethodBase & operator=(MethodBase &&other) noexcept=default; | |
| Return value: | MethodBase & | |
| Description: | Move assignment operator | |
17.3.1.2 Member Functions
17.3.1.2.1 GetE2EStateMachineState
| Kind: | function | |
| Header file: | #include "para/com/proxy/method.h" | |
| Scope: | para::com::proxy::MethodBase | |
| Syntax: | ara::com::e2e::SMState GetE2EStateMachineState() const noexcept; | |
| Return value: | ara::com::e2e::SMState | State of the specific method class |
| Exception Safety: | exception safe | |
| Description: | Returns the state of the specific method class, which was determined by the last run of E2E_Check() function invoked during the last call of operator() | |
18 Header: para/com/proxy/trigger.h
18.1 Class: Trigger
| Kind: | class | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | namespace para::com::proxy | |
| Symbol: | Trigger | |
| Syntax: | template <typename DdsT = nullptr_t>class Trigger final {...}; | |
| Template param: | DdsT | DDS binding type. Defaulted to nullptr_t and used only when the DDS implementation is enabled |
| Description: | Proxy-side trigger class. One instance is declared by the generated proxy for each trigger of the service interface. A trigger carries no payload — arrivals are counted, and the application either polls the count with GetNewTriggers or is called back through a receive handler. Copying is deleted; moving is supported. | |
18.1.1 Public Member Functions
18.1.1.1 Special Member Functions
18.1.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | ~Trigger()=default; | |
| Description: | Destructor | |
18.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | Trigger(const Trigger &other)=delete; | |
| Description: | Copy constructor deletion | |
18.1.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | Trigger(Trigger &&other) noexcept=default; | |
| Description: | Move constructor | |
18.1.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | Trigger & operator=(const Trigger &other)=delete; | |
| Description: | Copy assignment operator deletion | |
18.1.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | Trigger & operator=(Trigger &&other) noexcept=default; | |
| Return value: | Trigger & | |
| Description: | Move assignment operator | |
18.1.1.2 Constructors
18.1.1.2.1 Trigger(const Proxy::HandleType &, Hash, std::shared_ptr<ProxyInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | explicit Trigger(const Proxy::HandleType &handle, Hash hash, std::shared_ptr< ProxyInterface > interface); | |
| Parameters (in): | handle | The handle of the proxy instance the trigger belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the trigger within the service interface | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. There are no transformation properties — a trigger carries no payload to serialize. | |
18.1.1.2.2 Trigger(const Proxy::HandleType &, Hash, std::shared_ptr<ProxyInterface>, std::shared_ptr<ProxyDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | explicit Trigger(const Proxy::HandleType &handle, Hash hash, std::shared_ptr< ProxyInterface > interface, std::shared_ptr< ProxyDdsInterface > ddsInterface); | |
| Parameters (in): | handle | The handle of the proxy instance the trigger belongs to. Its service handle selects the binding implementation |
| hash | The identifier of the trigger within the service interface | |
| interface | The proxy binding interface used for SOME/IP and IPC | |
| ddsInterface | The proxy binding interface used for DDS | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. There are no transformation properties — a trigger carries no payload to serialize. | |
18.1.1.3 Member Functions
18.1.1.3.1 GetNewTriggers
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | std::size_t GetNewTriggers() noexcept; | |
| Return value: | std::size_t | The number of triggers occurred since the last call to GetNewTriggers (a Zero value means that no new triggers have been received) |
| Exception Safety: | exception safe | |
| Description: | Method to update the trigger counter. | |
18.1.1.3.2 GetSubscriptionState
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | ara::com::SubscriptionState GetSubscriptionState() const noexcept; | |
| Return value: | ara::com::SubscriptionState | The state of the subscription. |
| Exception Safety: | exception safe | |
| Description: | Query ara::com::SubscriptionState, as per SWS_CM_00310. | |
18.1.1.3.3 SetReceiveHandler(ara::com::TriggerReceiveHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void SetReceiveHandler(ara::com::TriggerReceiveHandler handler) noexcept; | |
| Parameters (in): | handler | The handler that shall be called by Communication Management upon trigger arrival. The ara::com::TriggerReceiveHandler constitutes a function without parameters and has to use the GetNewTriggers method of the specific Trigger class to access the retrieved trigger counter. See SWS_CM_00351 for it's definition. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Trigger SetReceiveHandler | |
18.1.1.3.4 SetReceiveHandler(ara::com::TriggerReceiveHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | template <typename ExecutorT>void SetReceiveHandler(ara::com::TriggerReceiveHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_00181 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_00250 but the method shall execute in a provided context | |
18.1.1.3.5 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler) noexcept; | |
| Parameters (in): | handler | The handler that shall be called by Communication Management when the ara::com::SubscriptionState of the event has changed. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set ara::com::SubscriptionState change handler | |
18.1.1.3.6 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | template <typename ExecutorT>void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_01107 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_01107 but the method shall execute in a provided context | |
18.1.1.3.7 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler) noexcept; | |
| Parameters (in): | handler | Handler of type TransportFaultConditionHandler to be set |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Provides possibility to register a TransportFaultConditionHandler for a given Proxy Trigger. | |
18.1.1.3.8 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | template <typename ExecutorT>void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler, ExecutorT &&executor) noexcept; | |
| Parameters (in): | handler | Handler to be set |
| executor | Executor object in which any asynchronous computation spawn shall be invoked | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Execution Context overload for SetTransportFaultConditionHandler for a given Proxy Trigger. | |
18.1.1.3.9 Subscribe
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void Subscribe() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InsufficientPermissionsViolation | Refused by Grant Enforcement |
| Description: | Method to subscribe to a service trigger. When called it starts a subscription of the corresponding Trigger. If the Trigger is already in state ara::com::SubscriptionState.kSubscribed or in state ara::com::SubscriptionState.kSubscriptionPending at the time of the call, and this method is invoked, it shall return without any action. | |
18.1.1.3.10 UnsetReceiveHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void UnsetReceiveHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Description: | Disable Trigger receive handler | |
18.1.1.3.11 UnsetSubscriptionStateChangeHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void UnsetSubscriptionStateChangeHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Unset ara::com::SubscriptionState change handler | |
18.1.1.3.12 UnsetTransportFaultConditionHandler
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void UnsetTransportFaultConditionHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Provides the possibility to unregister a previously set ara::com::e2e::TransportFaultConditionHandler for a given Proxy Trigger. | |
18.1.1.3.13 Unsubscribe
| Kind: | function | |
| Header file: | #include "para/com/proxy/trigger.h" | |
| Scope: | para::com::proxy::Trigger | |
| Syntax: | void Unsubscribe() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Method to unsubscribe from a service trigger. If the Trigger is not subscribed to at the time of the call invoked, it shall return without any action. | |
19 Header: para/com/skeleton/skeleton.h
19.1 Class: Skeleton
| Kind: | class | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | Skeleton | |
| Syntax: | class Skeleton {...}; | |
| Description: | Base class of every generated service skeleton. It provides service offering, the polling entry point for the kPoll processing mode, and the E2E error handler. The events, fields, methods and triggers of a particular service are added by the generated class that derives from it, together with the pure virtual method handlers the application implements. The destructor is pure virtual, so the class is never instantiated directly; copying is deleted and moving is supported. | |
19.1.1 Public Member Functions
19.1.1.1 Special Member Functions
19.1.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | virtual ~Skeleton()=0; | |
| Exception Safety: | not exception safe | |
| Violations: | DanglingSamplesViolation | Precondition SWS_CM_00086 has been violated. |
| Description: | Destruction of a Skeleton | |
19.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | Skeleton(const Skeleton &)=delete; | |
| Description: | Copy constructor deletion | |
19.1.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | Skeleton(Skeleton &&) noexcept; | |
| Exception Safety: | not exception safe | |
| Description: | Move constructor | |
19.1.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | Skeleton & operator=(const Skeleton &)=delete; | |
| Description: | Copy assignment constructor deletion | |
19.1.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | Skeleton & operator=(Skeleton &&) noexcept; | |
| Return value: | Skeleton & | The moved skeleton object |
| Exception Safety: | exception safe | |
| Description: | Move assignment constructor | |
19.1.1.2 Member Functions
19.1.1.2.1 E2EErrorHandler
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | virtual void E2EErrorHandler(const ara::com::e2e::ComE2EErrorDomain &errorCode, ara::com::e2e::DataID dataID, ara::com::e2e::MessageCounter messageCounter); | |
| Parameters (in): | errorCode | Error code object of type ara::com::e2e::ComE2EErrc to be used |
| dataID | Data ID of type ara::com::e2e::dataID to be used | |
| messageCounter | Message counter of type ara::com::e2e::MessageCounter to be used | |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Description: | Implementation may be overridden by the actual ServiceSkeleton implementation and it is not required to be reentrant. If the E2E error is a CRC error then some parts of the received message are faulty. If this part is the DataID then the E2E error handler is called with a faulty DataID. Consequently, in case of CRC error the server application can not rely on the DataID received by its error handler. | |
19.1.1.2.2 OfferService
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | ara::core::Result< void > OfferService(); | |
| 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::com::ComErrc |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kFieldValueNotInitialized | rollback_semantics |
| Field value has yet not been initialized via Update (see SWS_CM_00128 | ||
| ara::com::ComErrc::kFieldSetHandlerNotSet | rollback_semantics | |
| Field SetHandler has not been registered via RegisterSetHandler | ||
| ara::com::ComErrc::kCommunicationFailure | rollback_semantics | |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| Description: | Method to offer a service | |
19.1.1.2.3 ProcessNextMethodCall
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | ara::core::Result< bool > ProcessNextMethodCall(); | |
| Return value: | ara::core::Result< bool > | If the bool type: • ==TRUE: there is at least one pending invocation • ==FALSE: there is no pending invocation |
| Exception Safety: | exception safe | |
| Violations: | WrongMethodCallProcessingModeViolation | The method is called in a Skeleton which was constructed with ara::com::MethodCallProcessingMode == kEvent or ara::com::MethodCallProcessingMode == kEventSingleThread. |
| Description: | Allows the service to trigger the execution of the next service consumer method call at a specific point of time if the ara::com::MethodCallProcessingMode == ara::com::MethodCallProcessingMode.kPoll The pending service method (see SWS_CM_00191 or SWS_CM_90434) is executed in the context of the call to ProcessNextMethodCall(). | |
19.1.1.2.4 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler) noexcept; | |
| Parameters (in): | handler | Handler of type ara::com::e2e::TransportFaultConditionHandler to be set |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Provides possibility to register a ara::com::e2e::TransportFaultConditionHandler for all methods in a given Skeleton. | |
19.1.1.2.5 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | template <typename ExecutorT>void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler, ExecutorT &&executor) noexcept; | |
| Parameters (in): | handler | Handler of type ara::com::e2e::TransportFaultConditionHandler to be set |
| executor | Executor object in which any asynchronous computation spawn shall be invoked | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Execution Context overload for SetTransportFaultConditionHandler for all methods in a given Skeleton. | |
19.1.1.2.6 StopOfferService
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | void StopOfferService(); | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Method to stop offering a service | |
19.1.1.2.7 UnsetTransportFaultConditionHandler
| Kind: | function | |
| Header file: | #include "para/com/skeleton/skeleton.h" | |
| Scope: | para::com::skeleton::Skeleton | |
| Syntax: | void UnsetTransportFaultConditionHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Provides the possibility to unregister a previously set ara::com::e2e::TransportFaultConditionHandler for all methods in a given Skeleton. | |
20 Header: para/com/skeleton/event.h
20.1 Class: Event
| Kind: | class | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | Event | |
| Syntax: | template <typename T, typename DdsT = nullptr_t, typename DdsEventT = nullptr_t, typename PubSubType = nullptr_t>class Event final {...}; | |
| Template param: | T | The event sample type |
| DdsT | DDS binding type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsEventT | DDS event type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| PubSubType | DDS publish/subscribe type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| Description: | Skeleton-side event class. One instance is declared by the generated skeleton for each event of the service interface. It sends samples to the subscribed applications and exposes the subscription state through a query method and a change handler. Copying is deleted; moving is supported. | |
20.1.1 Public Member Types
20.1.1.1 Type Alias: SampleType
| Kind: | type | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Symbol: | SampleType | |
| Syntax: | using SampleType = T; | |
| Description: | Data type for the value of an event sample (the CppImplementationDataType of the Event, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role AutosarDataPrototype.type directly or via the indirection of a DataTypeMap) | |
20.1.2 Public Member Functions
20.1.2.1 Special Member Functions
20.1.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | ~Event()=default; | |
| Description: | Destructor | |
20.1.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | Event(const Event &other)=delete; | |
| Description: | Copy constructor deletion | |
20.1.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | Event(Event &&other) noexcept=default; | |
| Description: | Move constructor | |
20.1.2.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | Event & operator=(const Event &other)=delete; | |
| Description: | Copy assignment operator deletion | |
20.1.2.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | Event & operator=(Event &&other) noexcept=default; | |
| Return value: | Event & | |
| Description: | Move assignment operator | |
20.1.2.2 Constructors
20.1.2.2.1 Event(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | Event(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Parameters (in): | hash | The identifier of the event within the service interface |
| props | The serialization transformation properties applied to the event samples | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
20.1.2.2.2 Event(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, std::shared_ptr<SkeletonDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | Event(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface); | |
| Parameters (in): | hash | The identifier of the event within the service interface |
| props | The serialization transformation properties applied to the event samples | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
20.1.2.3 Member Functions
20.1.2.3.1 Allocate
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | ara::core::Result< ara::com::SampleAllocateePtr< SampleType > > Allocate(); | |
| Return value: | ara::com::SampleAllocateePtr< SampleType > | A ara::com::SampleAllocateePtr to an event sample |
| Exception Safety: | not exception safe | |
| Violations: | SampleAllocationViolation | Not enough memory resources can be allocated |
| AllocateUsageViolation | The allocation was illegally done via custom allocator | |
| Description: | Allocating data for event transfer when Communication Management is responsible for the data. | |
20.1.2.3.2 GetSubscriptionState
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | ara::com::SubscriptionState GetSubscriptionState() const noexcept; | |
| Return value: | ara::com::SubscriptionState | The state of the subscription (as per SWS_CM_12008). |
| Exception Safety: | exception safe | |
| Description: | Query ara::com::SubscriptionState of an event. | |
20.1.2.3.3 Send(const SampleType &)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | ara::core::Result< void > Send(const SampleType &data) noexcept; | |
| Parameters (in): | data | The data to send out to the subscribed applications. |
| Return value: | ara::core::Result< void > | • If successful: an ara::core::Result containing a ara::core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kServiceNotOffered | rollback_semantics |
| Service has not yet been offered via OfferService | ||
| ara::com::ComErrc::kMinimumSendIntervalViolationError | rollback_semantics | |
| Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement.ServiceInterfaceDeploymentElement.minimumSendInterval for the service instance element has not yet expired. | ||
| Description: | Send event where the application is responsible for the data. The Communication Management creates a copy of the data to send and sends it to all subscribing applications. | |
20.1.2.3.4 Send(ara::com::SampleAllocateePtr<SampleType>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | ara::core::Result< void > Send(ara::com::SampleAllocateePtr< SampleType > data) noexcept; | |
| Parameters (in): | data | the data to send. |
| Return value: | ara::core::Result< void > | • If successful: an ara::core::Result containing a ara::core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kServiceNotOffered | rollback_semantics |
| Service has not yet been offered via OfferService | ||
| ara::com::ComErrc::kMinimumSendIntervalViolationError | rollback_semantics | |
| Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement.ServiceInterfaceDeploymentElement.minimumSendInterval for the service instance element has not yet expired. | ||
| Description: | Send event where Communication Management is responsible for the data. The data is allocated using Allocate. The application is not allowed to access the data after Communication Management sends it to all subscribing applications. | |
20.1.2.3.5 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler) noexcept; | |
| Parameters (in): | handler | The handler (as per SWS_CM_00311) that shall be called by Communication Management as soon as the ara::com::SubscriptionState of the event has changed. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set/Register ara::com::SubscriptionState change handler | |
20.1.2.3.6 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | template <typename ExecutorT>void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_12008 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_12008 but the method shall execute in a provided context | |
20.1.2.3.7 UnsetSubscriptionStateChangeHandler
| Kind: | function | |
| Header file: | #include "para/com/skeleton/event.h" | |
| Scope: | para::com::skeleton::Event | |
| Syntax: | void UnsetSubscriptionStateChangeHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Unset/Deregister the ara::com::SubscriptionState change handler | |
21 Header: para/com/skeleton/field.h
21.1 Non-Member Types
21.1.1 Enumeration: FieldDecorator
| Kind: | enumeration | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldDecorator | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum class FieldDecorator : std::uint8_t {...}; | |
| Values: | None | 0 — the field provides neither getter, setter nor notifier |
| Get | 1 << 0 — the field provides a getter | |
| Set | 1 << 1 — the field provides a setter | |
| Notify | 1 << 2 — the field provides a notifier | |
| Description: | Bit flags selecting which elements a field provides. The values are combined with operator| and passed as the first template argument of Field, which determines the base classes the field inherits. | |
21.1.2 Type Alias: FieldHashes
| Kind: | type | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldHashes | |
| Syntax: | using FieldHashes = std::array< std::int32_t, 3 >; | |
| Description: | The three identifiers of a field — getter, setter and notifier — held in one array. The positions are given by FieldHashIndex. | |
21.1.3 Enumeration: FieldHashIndex
| Kind: | enumeration | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldHashIndex | |
| Underlying type: | std::uint8_t | |
| Syntax: | enum FieldHashIndex : std::uint8_t {...}; | |
| Values: | kGetter | 0 — position of the getter identifier in FieldHashes |
| kSetter | 1 — position of the setter identifier in FieldHashes | |
| kNotifier | 2 — position of the notifier identifier in FieldHashes | |
| Description: | Positions within FieldHashes. Declared as an unscoped enumeration, so the enumerators are usable directly as array subscripts. | |
21.1.4 Class: FieldNoGetter
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldNoGetter | |
| Syntax: | class FieldNoGetter {}; | |
| Description: | Empty class inherited by Field in place of FieldGetter when the decorator does not contain FieldDecorator::Get. | |
21.1.5 Class: FieldNoNotifier
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldNoNotifier | |
| Syntax: | class FieldNoNotifier {}; | |
| Description: | Empty class inherited by Field in place of FieldNotifier when the decorator does not contain FieldDecorator::Notify. | |
21.1.6 Class: FieldNoSetter
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldNoSetter | |
| Syntax: | class FieldNoSetter {}; | |
| Description: | Empty class inherited by Field in place of FieldSetter when the decorator does not contain FieldDecorator::Set. | |
21.2 Non-Member Functions
21.2.1 operator&
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Syntax: | constexpr FieldDecorator operator&(FieldDecorator a, FieldDecorator b); | |
| Parameters (in): | a | Left operand |
| b | Right operand | |
| Return value: | FieldDecorator | The bitwise conjunction of both operands |
| Description: | Tests a decorator combination for a single flag. Field uses it to select its base classes. | |
21.2.2 operator|
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Syntax: | constexpr FieldDecorator operator|(FieldDecorator a, FieldDecorator b); | |
| Parameters (in): | a | Left operand |
| b | Right operand | |
| Return value: | FieldDecorator | The bitwise disjunction of both operands |
| Description: | Combines decorator flags. The generated skeleton writes the field type as Field<FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify, T>. | |
21.3 Class: Field
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | Field | |
| Base class: | para::com::skeleton::FieldCommon | Always inherited. Carries the transport fault condition handlers shared by the getter and the setter |
std::conditional_t< (Decorator & FieldDecorator::Get) == FieldDecorator::Get, FieldGetter< T, DdsT, DdsReqT, DdsRepT >, FieldNoGetter > | FieldGetter when the decorator contains Get, FieldNoGetter otherwise | |
std::conditional_t< (Decorator & FieldDecorator::Set) == FieldDecorator::Set, FieldSetter< T, DdsT, DdsReqT, DdsRepT >, FieldNoSetter > | FieldSetter when the decorator contains Set, FieldNoSetter otherwise | |
std::conditional_t< (Decorator & FieldDecorator::Notify) == FieldDecorator::Notify, FieldNotifier< T, DdsT, DdsNotifierT, DdsNotifierPubSubT >, FieldNoNotifier > | FieldNotifier when the decorator contains Notify, FieldNoNotifier otherwise | |
| Syntax: | template <FieldDecorator Decorator, typename T, typename DdsT = nullptr_t, typename DdsNotifierT = nullptr_t, typename DdsNotifierPubSubT = nullptr_t, typename DdsReqT = nullptr_t, typename DdsRepT = nullptr_t>class Field final {...}; | |
| Template param: | Decorator | Which elements the field provides. Combine FieldDecorator::Get, FieldDecorator::Set and FieldDecorator::Notify with operator| |
| T | The field value type | |
| DdsT | DDS binding type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsNotifierT | DDS notifier type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsNotifierPubSubT | DDS notifier publish/subscribe type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsReqT | DDS request type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsRepT | DDS reply type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| Description: | Skeleton-side field class. One instance is declared by the generated skeleton for each field of the service interface. Which elements the field provides — getter, setter, notifier — is chosen by the Decorator template argument, which selects the base classes; an element the decorator does not name is absent from the type. Copying is deleted; moving is supported. | |
21.3.1 Public Member Types
21.3.1.1 Type Alias: FieldType
| Kind: | type | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Symbol: | FieldType | |
| Syntax: | using FieldType = T; | |
| Description: | Data type for the value of a field (an alias for the CppImplementationDataType of the Field, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role AutosarDataPrototype.type directly or via indirection of a DataTypeMap) | |
21.3.2 Public Member Functions
21.3.2.1 Special Member Functions
21.3.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | ~Field() override=default; | |
| Description: | Destructor. Overrides the pure virtual destructors of FieldCommon and of the base classes the decorator selected. | |
21.3.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | Field(const Field &other)=delete; | |
| Description: | Copy constructor deletion | |
21.3.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | Field(Field &&other) noexcept=default; | |
| Description: | Move constructor | |
21.3.2.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | Field & operator=(const Field &other)=delete; | |
| Description: | Copy assignment operator deletion | |
21.3.2.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | Field & operator=(Field &&other) noexcept=default; | |
| Return value: | Field & | |
| Description: | Move assignment operator | |
21.3.2.2 Constructors
21.3.2.2.1 Constructor (Getter)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Get >>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructs a field that provides a getter. Selected when the decorator is exactly FieldDecorator::Get. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.3.2.2.2 Constructor (Getter, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Get >>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSerializer< DdsT, DdsRepT > ddsGetSerializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get reply | |
| Description: | Constructs a field that provides a getter. Selected when the decorator is exactly FieldDecorator::Get. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.3.2.2.3 Constructor (Setter)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Set >, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructs a field that provides a setter. Selected when the decorator is exactly FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.3.2.2.4 Constructor (Setter, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Set >>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSetDeserializer< DdsT, DdsReqT > ddsSetDeserializer, FieldDdsSerializer< DdsT, DdsRepT > ddsSetSerializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsSetDeserializer | The deserializer for the DDS set request | |
| ddsSetSerializer | The serializer for the DDS set reply | |
| Description: | Constructs a field that provides a setter. Selected when the decorator is exactly FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.3.2.2.5 Constructor (Notifier)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Notify >, typename = void, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructs a field that provides a notifier. Selected when the decorator is exactly FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.3.2.2.6 Constructor (Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == FieldDecorator::Notify >>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| Description: | Constructs a field that provides a notifier. Selected when the decorator is exactly FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.3.2.2.7 Constructor (Getter, Setter)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set) >, typename = void, typename = void, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructs a field that provides a getter and a setter. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.3.2.2.8 Constructor (Getter, Setter, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set) >>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSerializer< DdsT, DdsRepT > ddsGetSerializer, FieldDdsSetDeserializer< DdsT, DdsReqT > ddsSetDeserializer, FieldDdsSerializer< DdsT, DdsRepT > ddsSetSerializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get reply | |
| ddsSetDeserializer | The deserializer for the DDS set request | |
| ddsSetSerializer | The serializer for the DDS set reply | |
| Description: | Constructs a field that provides a getter and a setter. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.3.2.2.9 Constructor (Getter, Notifier)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Notify) >, typename = void, typename = void, typename = void, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructs a field that provides a getter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.3.2.2.10 Constructor (Getter, Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Notify) >, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSerializer< DdsT, DdsRepT > ddsGetSerializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get reply | |
| Description: | Constructs a field that provides a getter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.3.2.2.11 Constructor (Setter, Notifier)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Set | FieldDecorator::Notify) >, typename = void, typename = void, typename = void, typename = void, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructs a field that provides a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.3.2.2.12 Constructor (Setter, Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Set | FieldDecorator::Notify) >, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSetDeserializer< DdsT, DdsReqT > ddsSetDeserializer, FieldDdsSerializer< DdsT, DdsRepT > ddsSetSerializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsSetDeserializer | The deserializer for the DDS set request | |
| ddsSetSerializer | The serializer for the DDS set reply | |
| Description: | Constructs a field that provides a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.3.2.2.13 Constructor (Getter, Setter, Notifier)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify) >, typename = void, typename = void, typename = void, typename = void, typename = void, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructs a field that provides a getter, a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.3.2.2.14 Constructor (Getter, Setter, Notifier, DDS build)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field | |
| Syntax: | template <FieldDecorator F = Decorator, typename = std::enable_if_t< F == (FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify) >, typename = void>explicit Field(FieldHashes hashes, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSerializer< DdsT, DdsRepT > ddsGetSerializer, FieldDdsSetDeserializer< DdsT, DdsReqT > ddsSetDeserializer, FieldDdsSerializer< DdsT, DdsRepT > ddsSetSerializer); | |
| Template param: | F | Defaulted to the field's own decorator. Present only so that std::enable_if_t can select this overload; it is never given explicitly |
| Parameters (in): | hashes | The getter, setter and notifier identifiers of the field |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsGetSerializer | The serializer for the DDS get reply | |
| ddsSetDeserializer | The deserializer for the DDS set request | |
| ddsSetSerializer | The serializer for the DDS set reply | |
| Description: | Constructs a field that provides a getter, a setter and a notifier. Selected when the decorator is exactly FieldDecorator::Get | FieldDecorator::Set | FieldDecorator::Notify. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.4 Class: Field<FieldDecorator::None>
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | template <typename T, typename DdsT, typename DdsNotifierT, typename DdsReqT, typename DdsRepT>class Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > final {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Unused by this specialization | |
| DdsNotifierT | DDS notifier type. Unused by this specialization | |
| DdsReqT | DDS request type. Unused by this specialization | |
| DdsRepT | DDS reply type. Unused by this specialization | |
| Description: | Specialization of Field for a field that provides neither getter, setter nor notifier. It has no base class — not even FieldCommon — and carries only the FieldType alias; the constructor ignores its arguments. Copying is deleted; moving is supported. | |
21.4.1 Public Member Types
21.4.1.1 Type Alias: FieldType
| Kind: | type | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Symbol: | FieldType | |
| Syntax: | using FieldType = T; | |
| Description: | Data type for the value of a field (an alias for the CppImplementationDataType of the Field, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role AutosarDataPrototype.type directly or via indirection of a DataTypeMap) | |
21.4.2 Public Member Functions
21.4.2.1 Special Member Functions
21.4.2.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | ~Field()=default; | |
| Description: | Destructor | |
21.4.2.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | Field(const Field &other)=delete; | |
| Description: | Copy constructor deletion | |
21.4.2.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | Field(Field &&other) noexcept=default; | |
| Description: | Move constructor | |
21.4.2.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | Field & operator=(const Field &other)=delete; | |
| Description: | Copy assignment operator deletion | |
21.4.2.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | Field & operator=(Field &&other) noexcept=default; | |
| Return value: | Field & | |
| Description: | Move assignment operator | |
21.4.2.2 Constructors
21.4.2.2.1 Field(std::shared_ptr<SkeletonInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | explicit Field(std::shared_ptr< SkeletonInterface >); | |
| Description: | Constructor. The parameter is unnamed and unused — the field provides no element, so nothing is bound. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.4.2.2.2 Field(std::shared_ptr<SkeletonInterface>, std::shared_ptr<SkeletonDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::Field< FieldDecorator::None, T, DdsT, DdsNotifierT, DdsReqT, DdsRepT > | |
| Syntax: | explicit Field(std::shared_ptr< SkeletonInterface >, std::shared_ptr< SkeletonDdsInterface >); | |
| Description: | Constructor. Both parameters are unnamed and unused — the field provides no element, so nothing is bound. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.5 Class: FieldCommon
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldCommon | |
| Syntax: | class FieldCommon {...}; | |
| Description: | Abstract base class carrying what the getter and the setter of a skeleton field share — the transport fault condition handlers. Field inherits it unconditionally, unlike the three decorator-selected bases. It is not a template: the handlers do not depend on the field value type. The destructor is pure virtual, so the class cannot be instantiated on its own. Copying is deleted; moving is supported. | |
21.5.1 Public Member Functions
21.5.1.1 Special Member Functions
21.5.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | virtual ~FieldCommon()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
21.5.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | FieldCommon(const FieldCommon &other)=delete; | |
| Description: | Copy constructor deletion | |
21.5.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | FieldCommon(FieldCommon &&other) noexcept=default; | |
| Description: | Move constructor | |
21.5.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | FieldCommon & operator=(const FieldCommon &other)=delete; | |
| Description: | Copy assignment operator deletion | |
21.5.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | FieldCommon & operator=(FieldCommon &&other) noexcept=default; | |
| Return value: | FieldCommon & | |
| Description: | Move assignment operator | |
21.5.1.2 Constructors
21.5.1.2.1 FieldCommon(std::shared_ptr<SkeletonInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | explicit FieldCommon(std::shared_ptr< SkeletonInterface > interface); | |
| Parameters (in): | interface | The skeleton binding interface. Its service protocol selects the binding implementation |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.5.1.2.2 FieldCommon(std::shared_ptr<SkeletonInterface>, std::shared_ptr<SkeletonDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | explicit FieldCommon(std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface); | |
| Parameters (in): | interface | The skeleton binding interface. Its service protocol selects the binding implementation |
| ddsInterface | The skeleton binding interface used for DDS | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.5.1.3 Member Functions
21.5.1.3.1 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler) noexcept; | |
| Parameters (in): | handler | Handler of type ara::com::e2e::TransportFaultConditionHandler to be set |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Provides possibility to register a ara::com::e2e::TransportFaultConditionHandler for a given Skeleton Field Get/Set. | |
21.5.1.3.2 SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | template <typename ExecutorT>void SetTransportFaultConditionHandler(ara::com::e2e::TransportFaultConditionHandler handler, ExecutorT &&executor) noexcept; | |
| Parameters (in): | handler | Handler of type ara::com::e2e::TransportFaultConditionHandler to be set |
| executor | Executor object in which any asynchronous computation spawn shall be invoked | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Execution Context overload for SetTransportFaultConditionHandler for a given Skeleton Field Get/Set. | |
21.5.1.3.3 UnsetTransportFaultConditionHandler
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldCommon | |
| Syntax: | void UnsetTransportFaultConditionHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Provides the possibility to unregister a previously set ara::com::e2e::TransportFaultConditionHandler for a given Skeleton Field Get/Set. | |
21.6 Class: FieldGetter
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldGetter | |
| Syntax: | template <typename T, typename DdsT, typename DdsReqT, typename DdsRepT>class FieldGetter {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Used only when the DDS implementation is enabled | |
| DdsReqT | DDS request type. Used only when the DDS implementation is enabled | |
| DdsRepT | DDS reply type. Used only when the DDS implementation is enabled | |
| Description: | Abstract base class carrying the getter of a skeleton field — the registration point for the callback that answers a proxy Get() request. Field inherits it when the decorator contains FieldDecorator::Get, and inherits FieldNoGetter otherwise. The destructor is pure virtual, so the class cannot be instantiated on its own. Copying is deleted; moving is supported. | |
21.6.1 Public Member Functions
21.6.1.1 Special Member Functions
21.6.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | virtual ~FieldGetter()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
21.6.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | FieldGetter(const FieldGetter &other)=delete; | |
| Description: | Copy constructor deletion | |
21.6.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | FieldGetter(FieldGetter &&other) noexcept=default; | |
| Description: | Move constructor | |
21.6.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | FieldGetter & operator=(const FieldGetter &other)=delete; | |
| Description: | Copy assignment operator deletion | |
21.6.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | FieldGetter & operator=(FieldGetter &&other) noexcept=default; | |
| Return value: | FieldGetter & | |
| Description: | Move assignment operator | |
21.6.1.2 Constructors
21.6.1.2.1 FieldGetter(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | explicit FieldGetter(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Parameters (in): | hash | The identifier of the field getter within the service interface |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.6.1.2.2 FieldGetter(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, std::shared_ptr<SkeletonDdsInterface>, FieldDdsSerializer<DdsT, DdsRepT>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | explicit FieldGetter(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSerializer< DdsT, DdsRepT > serializer); | |
| Parameters (in): | hash | The identifier of the field getter within the service interface |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| serializer | The serializer for the DDS get reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.6.1.3 Member Functions
21.6.1.3.1 RegisterGetHandler(std::function<ara::core::Future<T>()>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | void RegisterGetHandler(std::function< ara::core::Future< T >() > handler) noexcept; | |
| Parameters (in): | handler | The callback function to be invoked to process the Field get request |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Register a callback function to be invoked when a Get request is received. The method exists only if the offered service contains a Field and Field.Field.hasGetter ==TRUE | |
21.6.1.3.2 RegisterGetHandler(std::function<ara::core::Future<T>()>, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldGetter | |
| Syntax: | template <typename ExecutorT>void RegisterGetHandler(std::function< ara::core::Future< T >() > handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | Wrapper type providing methods for asynchronous execution of Callables. AUTOSAR provides a standardized ara::core::Executor or implementations may use a custom type which provides the same interface. |
| Parameters (in): | handler | As per SWS_CM_00114 |
| executor | The context in which this method shall be "executed" | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_00114 but the method shall execute in a provided context | |
21.7 Class: FieldNotifier
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldNotifier | |
| Syntax: | template <typename T, typename DdsT, typename DdsNotifierT, typename DdsNotifierPubSubT>class FieldNotifier {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Used only when the DDS implementation is enabled | |
| DdsNotifierT | DDS notifier type. Used only when the DDS implementation is enabled | |
| DdsNotifierPubSubT | DDS notifier publish/subscribe type. Used only when the DDS implementation is enabled | |
| Description: | Abstract base class carrying the notifier of a skeleton field. It sends the updated field value to the subscribers and exposes the subscription state through a query method and a change handler. Field inherits it when the decorator contains FieldDecorator::Notify, and inherits FieldNoNotifier otherwise. The destructor is pure virtual, so the class cannot be instantiated on its own. Copying is deleted; moving is supported. | |
21.7.1 Public Member Functions
21.7.1.1 Special Member Functions
21.7.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | virtual ~FieldNotifier()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
21.7.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | FieldNotifier(const FieldNotifier &other)=delete; | |
| Description: | Copy constructor deletion | |
21.7.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | FieldNotifier(FieldNotifier &&other) noexcept=default; | |
| Description: | Move constructor | |
21.7.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | FieldNotifier & operator=(const FieldNotifier &other)=delete; | |
| Description: | Copy assignment operator deletion | |
21.7.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | FieldNotifier & operator=(FieldNotifier &&other) noexcept=default; | |
| Return value: | FieldNotifier & | |
| Description: | Move assignment operator | |
21.7.1.2 Constructors
21.7.1.2.1 FieldNotifier(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | explicit FieldNotifier(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Parameters (in): | hash | The identifier of the field notifier within the service interface |
| props | The serialization transformation properties applied to the field notification samples | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.7.1.2.2 FieldNotifier(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, std::shared_ptr<SkeletonDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | explicit FieldNotifier(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface); | |
| Parameters (in): | hash | The identifier of the field notifier within the service interface |
| props | The serialization transformation properties applied to the field notification samples | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.7.1.3 Member Functions
21.7.1.3.1 GetSubscriptionState
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | ara::com::SubscriptionState GetSubscriptionState() const noexcept; | |
| Return value: | ara::com::SubscriptionState | The state of the subscription (as per SWS_CM_12008). |
| Exception Safety: | exception safe | |
| Description: | Query ara::com::SubscriptionState of an event. | |
21.7.1.3.2 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler) noexcept; | |
| Parameters (in): | handler | The handler (as per SWS_CM_00311) that shall be called by Communication Management as soon as the ara::com::SubscriptionState of the event has changed. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set/Register ara::com::SubscriptionState change handler | |
21.7.1.3.3 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | template <typename ExecutorT>void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_12008 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_12008 but the method shall execute in a provided context | |
21.7.1.3.4 UnsetSubscriptionStateChangeHandler
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | void UnsetSubscriptionStateChangeHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Unset/Deregister the ara::com::SubscriptionState change handler | |
21.7.1.3.5 Update(const T &)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldNotifier | |
| Syntax: | ara::core::Result< void > Update(const T &value) noexcept; | |
| Parameters (in): | value | The value to be sent to subscribers |
| 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::com::ComErrc |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kMinimumSendIntervalViolationError | rollback_semantics |
| Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement.ServiceInterfaceDeploymentElement.minimumSendInterval for the service instance element has not yet expired. | ||
| Description: | Initiate the transmission of updated field data to the subscribers. See SWS_CM_00162 for the required behavior. The Update function shall also update the fields internal value. An update notification shall be sent to any subscribers if: • Field.Field.hasNotifier ==TRUE (according to SWS_CM_00120) | |
21.8 Class: FieldSetter
| Kind: | class | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | FieldSetter | |
| Syntax: | template <typename T, typename DdsT, typename DdsReqT, typename DdsRepT>class FieldSetter {...}; | |
| Template param: | T | The field value type |
| DdsT | DDS binding type. Used only when the DDS implementation is enabled | |
| DdsReqT | DDS request type. Used only when the DDS implementation is enabled | |
| DdsRepT | DDS reply type. Used only when the DDS implementation is enabled | |
| Description: | Abstract base class carrying the setter of a skeleton field — the registration point for the callback that answers a proxy Set() request. Field inherits it when the decorator contains FieldDecorator::Set, and inherits FieldNoSetter otherwise. The destructor is pure virtual, so the class cannot be instantiated on its own. Copying is deleted; moving is supported. | |
21.8.1 Public Member Functions
21.8.1.1 Special Member Functions
21.8.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | virtual ~FieldSetter()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
21.8.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | FieldSetter(const FieldSetter &other)=delete; | |
| Description: | Copy constructor deletion | |
21.8.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | FieldSetter(FieldSetter &&other) noexcept=default; | |
| Description: | Move constructor | |
21.8.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | FieldSetter & operator=(const FieldSetter &other)=delete; | |
| Description: | Copy assignment operator deletion | |
21.8.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | FieldSetter & operator=(FieldSetter &&other) noexcept=default; | |
| Return value: | FieldSetter & | |
| Description: | Move assignment operator | |
21.8.1.2 Constructors
21.8.1.2.1 FieldSetter(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | explicit FieldSetter(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface); | |
| Parameters (in): | hash | The identifier of the field setter within the service interface |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
21.8.1.2.2 FieldSetter(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, std::shared_ptr<SkeletonDdsInterface>, FieldDdsSetDeserializer<DdsT, DdsReqT>, FieldDdsSerializer<DdsT, DdsRepT>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | explicit FieldSetter(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface, FieldDdsSetDeserializer< DdsT, DdsReqT > ddsDeserializer, FieldDdsSerializer< DdsT, DdsRepT > ddsSerializer); | |
| Parameters (in): | hash | The identifier of the field setter within the service interface |
| props | The serialization transformation properties applied to the field value | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsDeserializer | The deserializer for the DDS set request | |
| ddsSerializer | The serializer for the DDS set reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
21.8.1.3 Member Functions
21.8.1.3.1 RegisterSetHandler(std::function<ara::core::Future<T>(const T &)>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | void RegisterSetHandler(std::function< ara::core::Future< T >(const T &value) > handler) noexcept; | |
| Parameters (in): | handler | As per SWS_CM_00114 |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Register a callback function to be invoked when a Set request is received. The method exists only if the offered service contains a Field and Field.Field.hasSetter ==TRUE | |
21.8.1.3.2 RegisterSetHandler(std::function<ara::core::Future<T>(const T &)>, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/field.h" | |
| Scope: | para::com::skeleton::FieldSetter | |
| Syntax: | template <typename ExecutorT>void RegisterSetHandler(std::function< ara::core::Future< T >(const T &value) > handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_00116 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_00116 but the method shall execute in a provided context | |
22 Header: para/com/skeleton/method.h
22.1 Class: Method
| Kind: | class | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | Method | |
| Base class: | para::com::skeleton::MethodBase< T > | |
| Syntax: | template <typename T, typename DdsReqT = nullptr_t, typename DdsRepT = nullptr_t>class Method final {...}; | |
| Template param: | T | The method output type — the structure wrapping the out arguments |
| DdsReqT | DDS request type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| DdsRepT | DDS reply type. Defaulted to nullptr_t and used only when the DDS implementation is enabled | |
| Description: | Skeleton-side method class. One instance is held by the generated skeleton for each method of the service interface whose fireAndForget is FALSE. It receives the request from the binding, deserializes the arguments and calls the invoker it was constructed with — the invoker forwards to the pure virtual member that the application implements on the generated skeleton. Beyond construction the class exposes no member function: the application never calls it directly. Copying is deleted; moving is supported. | |
22.1.1 Public Member Functions
22.1.1.1 Special Member Functions
22.1.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method | |
| Syntax: | ~Method() override=default; | |
| Description: | Destructor. Overrides the pure virtual destructor of MethodBase. | |
22.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method | |
| Syntax: | Method(const Method &other)=delete; | |
| Description: | Copy constructor deletion | |
22.1.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method | |
| Syntax: | Method(Method &&other) noexcept=default; | |
| Description: | Move constructor | |
22.1.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method | |
| Syntax: | Method & operator=(const Method &other)=delete; | |
| Description: | Copy assignment operator deletion | |
22.1.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method | |
| Syntax: | Method & operator=(Method &&other) noexcept=default; | |
| Return value: | Method & | |
| Description: | Move assignment operator | |
22.1.1.2 Constructors
22.1.1.2.1 Method(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, Invoker<T>, Serializer<T>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method | |
| Syntax: | explicit Method(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, Invoker< T > invoker, Serializer< T > serializer); | |
| Parameters (in): | hash | The identifier of the method within the service interface |
| props | The serialization transformation properties applied to the request and the reply | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| invoker | The callable that deserializes the request and invokes the application handler | |
| serializer | The serializer for the reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. | |
22.1.1.2.2 Method(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, Invoker<T>, Serializer<T>, std::shared_ptr<SkeletonDdsInterface>, MethodDdsInvoker<T, DdsReqT>, MethodDdsSerializer<T, DdsRepT>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method | |
| Syntax: | explicit Method(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, Invoker< T > invoker, Serializer< T > serializer, std::shared_ptr< SkeletonDdsInterface > ddsInterface, MethodDdsInvoker< T, DdsReqT > ddsInvoker, MethodDdsSerializer< T, DdsRepT > ddsSerializer); | |
| Parameters (in): | hash | The identifier of the method within the service interface |
| props | The serialization transformation properties applied to the request and the reply | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| invoker | The callable that deserializes the request and invokes the application handler | |
| serializer | The serializer for the reply | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsInvoker | The callable that invokes the application handler from a DDS request | |
| ddsSerializer | The serializer for the DDS reply | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. | |
22.2 Class: Method<void>
| Kind: | class | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | Method< void, DdsReqT, DdsRepT > | |
| Base class: | para::com::skeleton::MethodBase< void > | |
| Syntax: | template <typename DdsReqT, typename DdsRepT>class Method< void, DdsReqT, DdsRepT > final {...}; | |
| Template param: | DdsReqT | DDS request type. Used only when the DDS implementation is enabled |
| DdsRepT | DDS reply type. Used only when the DDS implementation is enabled | |
| Description: | Specialization of Method for a fire-and-forget method — one whose fireAndForget is TRUE. It takes an invoker that returns nothing and has no reply serializer, since no reply is sent. Copying is deleted; moving is supported. | |
22.2.1 Public Member Functions
22.2.1.1 Special Member Functions
22.2.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method< void, DdsReqT, DdsRepT > | |
| Syntax: | ~Method() override=default; | |
| Description: | Destructor. Overrides the pure virtual destructor of MethodBase. | |
22.2.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method< void, DdsReqT, DdsRepT > | |
| Syntax: | Method(const Method &other)=delete; | |
| Description: | Copy constructor deletion | |
22.2.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method< void, DdsReqT, DdsRepT > | |
| Syntax: | Method(Method &&other) noexcept=default; | |
| Description: | Move constructor | |
22.2.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method< void, DdsReqT, DdsRepT > | |
| Syntax: | Method & operator=(const Method &other)=delete; | |
| Description: | Copy assignment operator deletion | |
22.2.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method< void, DdsReqT, DdsRepT > | |
| Syntax: | Method & operator=(Method &&other) noexcept=default; | |
| Return value: | Method & | |
| Description: | Move assignment operator | |
22.2.1.2 Constructors
22.2.1.2.1 Method(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, InvokerNoReturn)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method< void, DdsReqT, DdsRepT > | |
| Syntax: | explicit Method(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, InvokerNoReturn invoker); | |
| Parameters (in): | hash | The identifier of the method within the service interface |
| props | The serialization transformation properties applied to the request | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| invoker | The callable that deserializes the request and invokes the application handler. It returns nothing | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. There is no reply serializer — a fire-and-forget call sends no reply. | |
22.2.1.2.2 Method(const Hash, const serializer::TransformationProps, std::shared_ptr<SkeletonInterface>, InvokerNoReturn, std::shared_ptr<SkeletonDdsInterface>, MethodDdsInvokerNoReturn<DdsReqT>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::Method< void, DdsReqT, DdsRepT > | |
| Syntax: | explicit Method(const Hash hash, const serializer::TransformationProps props, std::shared_ptr< SkeletonInterface > interface, InvokerNoReturn invoker, std::shared_ptr< SkeletonDdsInterface > ddsInterface, MethodDdsInvokerNoReturn< DdsReqT > ddsInvoker); | |
| Parameters (in): | hash | The identifier of the method within the service interface |
| props | The serialization transformation properties applied to the request | |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| invoker | The callable that deserializes the request and invokes the application handler. It returns nothing | |
| ddsInterface | The skeleton binding interface used for DDS | |
| ddsInvoker | The callable that invokes the application handler from a DDS request. It returns nothing | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. There is no reply serializer — a fire-and-forget call sends no reply. | |
22.3 Class: MethodBase
| Kind: | class | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | MethodBase | |
| Syntax: | template <typename T>class MethodBase {...}; | |
| Template param: | T | The method output type, or void for a fire-and-forget method |
| Description: | Abstract base class shared by Method and its fire-and-forget specialization. It holds the binding implementation and nothing else — unlike its proxy-side namesake it declares no member function of its own. The destructor is pure virtual, so the class is never instantiated directly; copying is deleted and moving is supported. | |
22.3.1 Public Member Functions
22.3.1.1 Special Member Functions
22.3.1.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::MethodBase | |
| Syntax: | MethodBase()=default; | |
| Description: | Default constructor. The binding implementation is left empty; the derived class installs it. | |
22.3.1.1.2 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::MethodBase | |
| Syntax: | virtual ~MethodBase()=0; | |
| Description: | Destructor. Declared pure virtual and defined out of class, so the class serves only as a base class. | |
22.3.1.1.3 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::MethodBase | |
| Syntax: | MethodBase(const MethodBase &other)=delete; | |
| Description: | Copy constructor deletion | |
22.3.1.1.4 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::MethodBase | |
| Syntax: | MethodBase(MethodBase &&other) noexcept=default; | |
| Description: | Move constructor | |
22.3.1.1.5 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::MethodBase | |
| Syntax: | MethodBase & operator=(const MethodBase &other)=delete; | |
| Description: | Copy assignment operator deletion | |
22.3.1.1.6 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/method.h" | |
| Scope: | para::com::skeleton::MethodBase | |
| Syntax: | MethodBase & operator=(MethodBase &&other) noexcept=default; | |
| Return value: | MethodBase & | |
| Description: | Move assignment operator | |
23 Header: para/com/skeleton/trigger.h
23.1 Class: Trigger
| Kind: | class | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | namespace para::com::skeleton | |
| Symbol: | Trigger | |
| Syntax: | template <typename DdsT = nullptr_t>class Trigger final {...}; | |
| Template param: | DdsT | DDS binding type. Defaulted to nullptr_t and used only when the DDS implementation is enabled |
| Description: | Skeleton-side trigger class. One instance is declared by the generated skeleton for each trigger of the service interface. A trigger carries no payload — sending one notifies the subscribers that the event occurred. Copying is deleted; moving is supported. | |
23.1.1 Public Member Functions
23.1.1.1 Special Member Functions
23.1.1.1.1 Destructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | ~Trigger()=default; | |
| Description: | Destructor | |
23.1.1.1.2 Copy Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | Trigger(const Trigger &other)=delete; | |
| Description: | Copy constructor deletion | |
23.1.1.1.3 Move Constructor
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | Trigger(Trigger &&other) noexcept=default; | |
| Description: | Move constructor | |
23.1.1.1.4 Copy Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | Trigger & operator=(const Trigger &other)=delete; | |
| Description: | Copy assignment operator deletion | |
23.1.1.1.5 Move Assignment Operator
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | Trigger & operator=(Trigger &&other) noexcept=default; | |
| Return value: | Trigger & | |
| Description: | Move assignment operator | |
23.1.1.2 Constructors
23.1.1.2.1 Trigger(const Hash, std::shared_ptr<SkeletonInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | explicit Trigger(const Hash hash, std::shared_ptr< SkeletonInterface > interface); | |
| Parameters (in): | hash | The identifier of the trigger within the service interface |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is not defined. There are no transformation properties — a trigger carries no payload to serialize. | |
23.1.1.2.2 Trigger(const Hash, std::shared_ptr<SkeletonInterface>, std::shared_ptr<SkeletonDdsInterface>)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | explicit Trigger(const Hash hash, std::shared_ptr< SkeletonInterface > interface, std::shared_ptr< SkeletonDdsInterface > ddsInterface); | |
| Parameters (in): | hash | The identifier of the trigger within the service interface |
| interface | The skeleton binding interface. Its service protocol selects the binding implementation | |
| ddsInterface | The skeleton binding interface used for DDS | |
| Description: | Constructor. Declared when PARA_DDS_IMPLEMENTATION is defined. There are no transformation properties — a trigger carries no payload to serialize. | |
23.1.1.3 Member Functions
23.1.1.3.1 GetSubscriptionState
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | ara::com::SubscriptionState GetSubscriptionState() const noexcept; | |
| Return value: | ara::com::SubscriptionState | The state of the subscription (as per SWS_CM_12008). |
| Exception Safety: | exception safe | |
| Description: | Query ara::com::SubscriptionState of an trigger. | |
23.1.1.3.2 Send
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | ara::core::Result< void > Send() noexcept; | |
| Return value: | ara::core::Result< void > | • If successful: an ara::core::Result containing a ara::core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Errors: | ara::com::ComErrc::kServiceNotOffered | rollback_semantics |
| Service has not yet been offered via OfferService | ||
| ara::com::ComErrc::kMinimumSendIntervalViolationError | rollback_semantics | |
| Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement.ServiceInterfaceDeploymentElement.minimumSendInterval for the service instance element has not yet expired. | ||
| Description: | Send trigger to all subscribing applications. | |
23.1.1.3.3 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler) noexcept; | |
| Parameters (in): | handler | The handler (as per SWS_CM_00311) that shall be called by Communication Management as soon as the ara::com::SubscriptionState of the trigger has changed. |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | Set/Register ara::com::SubscriptionState change handler | |
23.1.1.3.4 SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler, ExecutorT&&)
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | template <typename ExecutorT>void SetSubscriptionStateChangeHandler(ara::com::SubscriptionStateChangeHandler handler, ExecutorT &&executor) noexcept; | |
| Template param: | ExecutorT | As per SWS_CM_11360 |
| Parameters (in): | handler | As per SWS_CM_12008 |
| executor | As per SWS_CM_11360 | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Violations: | InvalidHandlerViolation | Provided Callable handler does not exist or is null |
| Description: | As per SWS_CM_12008 but the method shall execute in a provided context | |
23.1.1.3.5 UnsetSubscriptionStateChangeHandler
| Kind: | function | |
| Header file: | #include "para/com/skeleton/trigger.h" | |
| Scope: | para::com::skeleton::Trigger | |
| Syntax: | void UnsetSubscriptionStateChangeHandler() noexcept; | |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Unset/Deregister the ara::com::SubscriptionState change handler | |
24 Generated header: {si-shortname-lower}_common.h
24.1 Class: {si-shortname}
| Kind: | class | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_common.h" | |
| Scope: | namespace ::{hierarchical-namespace-list-lower}::common | |
| Symbol: | {si-shortname} | |
| Syntax: | class {si-shortname} {...}; | |
| Description: | Inner namespace for definitions common to a Service Skeleton Header File and Service Proxy Header File. | |
24.1.1 Public Member Types
24.1.1.1 Struct: {method-name}Output
| Kind: | struct | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_common.h" | |
| Scope: | {hierarchical-namespace-list-lower}::common::{si-shortname} | |
| Symbol: | {method-name}Output | |
| Syntax: | struct {method-name}Output {...}; | |
| Description: | Structure wrapping the out arguments for a {method-name}. One is generated for each method of the service interface, whether or not the method has out arguments — a method without them yields an empty struct. | |
24.1.1.2 Member Variable: {method-out-arg-symbol}
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_common.h" | |
| Scope: | {hierarchical-namespace-list-lower}::common::{si-shortname}::{method-name}Output | |
| Symbol: | {method-out-arg-symbol} | |
| Type: | {method-out-arg-type} | |
| Syntax: | {method-out-arg-type} {method-out-arg-symbol}{}; | |
| Description: | Member declaration representing an out argument in an {method-name}Output. | |
24.1.2 Public Member Variables
24.1.2.1 serviceContractVersionMajor
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_common.h" | |
| Scope: | {hierarchical-namespace-list-lower}::common::{si-shortname} | |
| Symbol: | serviceContractVersionMajor | |
| Type: | std::uint32_t | |
| Syntax: | std::uint32_t serviceContractVersionMajor = {major}; | |
| Description: | Service Contract Major Version | |
24.1.2.2 serviceContractVersionMinor
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_common.h" | |
| Scope: | {hierarchical-namespace-list-lower}::common::{si-shortname} | |
| Symbol: | serviceContractVersionMinor | |
| Type: | std::uint32_t | |
| Syntax: | std::uint32_t serviceContractVersionMinor = {minor}; | |
| Description: | Service Contract Minor Version | |
24.1.2.3 serviceIdentifier
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_common.h" | |
| Scope: | {hierarchical-namespace-list-lower}::common::{si-shortname} | |
| Symbol: | serviceIdentifier | |
| Type: | const ara::com::ServiceIdentifierType | |
| Syntax: | static const ara::com::ServiceIdentifierType serviceIdentifier; | |
| Description: | Service Identifier | |
24.1.2.4 serviceVersion
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_common.h" | |
| Scope: | {hierarchical-namespace-list-lower}::common::{si-shortname} | |
| Symbol: | serviceVersion | |
| Type: | const ara::com::ServiceVersionType | |
| Syntax: | static const ara::com::ServiceVersionType serviceVersion; | |
| Description: | Service Version | |
25 Generated header: {si-shortname-lower}_proxy.h
25.1 Class: {service-interface-name}Proxy
| Kind: | class | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_proxy.h" | |
| Scope: | namespace ::{hierarchical-namespace-list-lower}::proxy | |
| Symbol: | {service-interface-name}Proxy | |
| Base class: | common::{si-shortname} | The common class generated into {si-shortname-lower}_common.h (§24) |
para::com::proxy::Proxy | The runtime base class (§14). Service discovery, handle access and service state observation come from here | |
| Syntax: | class {service-interface-name}Proxy {...}; | |
| Description: | Service Interface Proxy | |
25.1.1 Public Member Variables
25.1.1.1 {event-name}
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_proxy.h" | |
| Scope: | {hierarchical-namespace-list-lower}::proxy::{service-interface-name}Proxy | |
| Symbol: | {event-name} | |
| Type: | events::{event-name} | |
| Syntax: | events::{event-name} {event-name}; | |
| Description: | Event member, one for each VariableDataPrototype defined in the ServiceInterface in the role ServiceInterface.event. | |
25.1.1.2 {field-name}
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_proxy.h" | |
| Scope: | {hierarchical-namespace-list-lower}::proxy::{service-interface-name}Proxy | |
| Symbol: | {field-name} | |
| Type: | fields::{field-name} | |
| Syntax: | fields::{field-name} {field-name}; | |
| Description: | Field member, one for each Field defined in the ServiceInterface in the role ServiceInterface.field. | |
25.1.1.3 {method-name}
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_proxy.h" | |
| Scope: | {hierarchical-namespace-list-lower}::proxy::{service-interface-name}Proxy | |
| Symbol: | {method-name} | |
| Type: | methods::{method-name} | |
| Syntax: | methods::{method-name} {method-name}; | |
| Description: | Method member, one for each ClientServerOperation defined in the ServiceInterface in the role ServiceInterface.method. | |
25.1.2 Public Member Functions
25.1.2.1 Constructors
25.1.2.1.1 {Si}Proxy(const HandleType &)
| Kind: | function | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_proxy.h" | |
| Scope: | {hierarchical-namespace-list-lower}::proxy::{service-interface-name}Proxy | |
| Syntax: | {service-interface-name}Proxy(const HandleType &handle); | |
| Parameters (in): | handle | A found FindServiceHandle returned by any of the FindService() methods, or a FindServiceHandle found and sent to the assigned FindServiceHandler callback, by any of the StartFindService() methods |
| Exceptions: | ara::com::ComException | As per ara::com::ComErrc::kServiceNotAvailable |
| Exception Safety: | not exception safe | |
| Violations: | ErroneousServiceHandleViolation | Provided HandleType is null or corrupt |
| InsufficientPermissionsViolation | Refused by Grant Enforcement | |
| Description: | Construction of the service proxy from the found handles (from any of the FindService()/ StartFindService() methods) | |
25.1.2.2 Named Constructors
25.1.2.2.1 Create
| Kind: | function | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_proxy.h" | |
| Scope: | {hierarchical-namespace-list-lower}::proxy::{service-interface-name}Proxy | |
| Syntax: | static ara::core::Result< {service-interface-name}Proxy > Create(const HandleType &handle) noexcept; | |
| Parameters (in): | handle | As per SWS_CM_00131 |
| Return value: | ara::core::Result< {service-interface-name}Proxy > | • If successful: an ara::core::Result containing a ara::core::Result::value_type containing a {service-interface-name}Proxy • If unsuccessful: an ara::core::Result containing an ara::core::Result::error_type i.e. a corresponding ara::com::ComErrc |
| Exception Safety: | exception safe | |
| Violations: | ErroneousServiceHandleViolation | Provided HandleType is null or corrupt |
| InsufficientPermissionsViolation | Refused by Grant Enforcement | |
| Errors: | ara::com::ComErrc::kServiceNotAvailable | rollback_semantics |
| Service is not available after being previously offered via OfferService | ||
| ara::com::ComErrc::kCommunicationFailure | rollback_semantics | |
| The network binding reported a recoverable communications error or a secure communication failure | ||
| Description: | Exception-less construction of a {service-interface-name}Proxy from a {service-interface-name}Proxy::HandleType using the Named Constructor idiom. | |
26 Generated header: {si-shortname-lower}_skeleton.h
26.1 Class: {service-interface-name}Skeleton
| Kind: | class | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_skeleton.h" | |
| Scope: | namespace ::{hierarchical-namespace-list-lower}::skeleton | |
| Symbol: | {service-interface-name}Skeleton | |
| Base class: | common::{si-shortname} | The common class generated into {si-shortname-lower}_common.h (§24) |
para::com::skeleton::Skeleton | The runtime base class (§19). Service offering, the polling entry point and the E2E error handler come from here | |
| Syntax: | class {service-interface-name}Skeleton {...}; | |
| Description: | Service skeleton class | |
26.1.1 Public Member Variables
26.1.1.1 {event-name}
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_skeleton.h" | |
| Scope: | {hierarchical-namespace-list-lower}::skeleton::{service-interface-name}Skeleton | |
| Symbol: | {event-name} | |
| Type: | events::{event-name} | |
| Syntax: | events::{event-name} {event-name}; | |
| Description: | Event member, one for each VariableDataPrototype defined in the ServiceInterface in the role ServiceInterface.event. | |
26.1.1.2 {field-name}
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_skeleton.h" | |
| Scope: | {hierarchical-namespace-list-lower}::skeleton::{service-interface-name}Skeleton | |
| Symbol: | {field-name} | |
| Type: | fields::{field-name} | |
| Syntax: | fields::{field-name} {field-name}; | |
| Description: | Field member, one for each Field defined in the ServiceInterface in the role ServiceInterface.field. | |
26.1.1.3 {trigger-name}
| Kind: | variable | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_skeleton.h" | |
| Scope: | {hierarchical-namespace-list-lower}::skeleton::{service-interface-name}Skeleton | |
| Symbol: | {trigger-name} | |
| Type: | triggers::{trigger-name} | |
| Syntax: | triggers::{trigger-name} {trigger-name}; | |
| Description: | Trigger member, one for each Trigger defined in the ServiceInterface in the role ServiceInterface.trigger. | |
26.1.2 Public Member Functions
26.1.2.1 Constructors
26.1.2.1.1 {Si}Skeleton(ara::core::InstanceSpecifier, ara::com::MethodCallProcessingMode)
| Kind: | function | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_skeleton.h" | |
| Scope: | {hierarchical-namespace-list-lower}::skeleton::{service-interface-name}Skeleton | |
| Syntax: | {service-interface-name}Skeleton(ara::core::InstanceSpecifier instanceSpec, ara::com::MethodCallProcessingMode mode=ara::com::MethodCallProcessingMode::kEvent); | |
| Parameters (in): | instanceSpec | The specifier of a specific instance of a service. |
| mode | Mode (as per SWS_CM_00301) for processing incoming service method invocations. Default argument is ara::com::MethodCallProcessingMode.kEvent. | |
| Exception Safety: | exception safe | |
| Violations: | InstanceSpecifierMappingIntegrityViolation | InstanceSpecifier either cannot be resolved in the model in the context of the executable, or it refers to a model element other than a PortPrototype. |
| PortInterfaceMappingViolation | The type of mapping does not match the expected type of PortInterface: ServiceInterface referenced by a ServiceInstanceToPortPrototypeMapping. | |
| ProcessMappingViolation | The type of mapping does not match the expected type of PortInterface | |
| InstanceSpecifierAlreadyInUseViolation | The constructor was called with an Instance Specifier already | |
| WrongMethodCallProcessingModeViolation | Wrong processing mode passed to constructor | |
| InsufficientPermissionsViolation | Refused by Grant Enforcement | |
| Description: | Construct a {service-interface-name}Skeleton from an ara::core::InstanceSpecifier | |
26.1.2.2 Service Communication
26.1.2.2.1 {fnfmethod-name}
| Kind: | function | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_skeleton.h" | |
| Scope: | {hierarchical-namespace-list-lower}::skeleton::{service-interface-name}Skeleton | |
| Syntax: | virtual void {fnfmethod-name}({fnfmethod-in-arg-derived-type-0toN} {fnfmethod-in-arg-symbol-0toN}) = 0; | |
| Parameters (in): | {fnfmethod-in-arg-symbol-0toN} | As per {method-in-arg-symbol-0toN} in SWS_CM_00191 |
| Return value: | None | |
| Exception Safety: | exception safe | |
| Description: | Provision of a fire-and-forget method (ClientServerOperation. ClientServerOperation.fireAndForget ==TRUE). The application implements this pure virtual member on its own class derived from the generated skeleton. | |
26.1.2.2.2 {method-name}
| Kind: | function | |
| Header file: | #include "{si-namespace-derived-directory-path-lower}/{si-shortname-lower}_skeleton.h" | |
| Scope: | {hierarchical-namespace-list-lower}::skeleton::{service-interface-name}Skeleton | |
| Syntax: | virtual ara::core::Future< {method-name}Output > {method-name}({method-in-arg-derived-type-0toN} {method-in-arg-symbol-0toN}) = 0; | |
| Parameters (in): | {method-in-arg-symbol-0toN} | The symbol name of method ClientServerOperation.argument[0..N] in the ordered list of ClientServerOperation arguments, with ArgumentDataPrototype.direction == ArgumentDirectionEnum.in or ArgumentDataPrototype.direction == ArgumentDirectionEnum.inout |
| Return value: | ara::core::Future< {method-name}Output > | • If successful: an ara::core::Future containing a {method-name}Output object as per SWS_CM_99556 • If unsuccessful: an ara::core::Future containing a corresponding ara::com::ComErrc or ApApplicationError. |
| Exception Safety: | exception safe | |
| Errors: | This function does not specify any standardized errors. | |
| Description: | Provision of a method (ClientServerOperation. ClientServerOperation.fireAndForget ==FALSE). The application implements this pure virtual member on its own class derived from the generated skeleton. | |
27 Generated header: impl_type_{cppidt-name-lower}.h
27.1 Content
One header is generated for each CppImplementationDataType reachable from the service
interface, under {si-namespace-derived-directory-path-lower}/type/. What it declares
follows the data type's category, so there is no fixed API surface to tabulate:
STRUCTURE— astructwith one public member per element, a defaulted default constructor, an all-element constructor, and aPARA_STRUCTURE(...)marker that registers the members for serialization.TYPE_REFERENCE,VALUE— a type alias to the mapped C++ type.VECTOR,ARRAY,MAP,STRING— a type alias to the correspondingara::corecontainer instantiated with the element type.UNION— a type alias toara::core::Variantover the alternative types.
When PARA_DDS_IMPLEMENTATION is defined the header also declares _convert
specializations between the PARA type and its DDS counterpart.
These declarations carry no ara::com API item — they are the data types the service
interface is built from, and their names come from the model.
28 Generated header: {error-set-name-lower}_error_domain.h
28.1 Non-Member Types
28.1.1 Enumeration: {error-set-name}Errc
| Kind: | enumeration | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | namespace ::{namespace-derived-directory-path-lower}::error | |
| Symbol: | {error-set-name}Errc | |
| Underlying type: | ara::core::ErrorDomain::CodeType | |
| Syntax: | enum class {error-set-name}Errc : ara::core::ErrorDomain::CodeType {...}; | |
| Description: | The application errors of one ApApplicationErrorSet. One enumerator is generated for each ApApplicationError, named after its short name and set to its error code. The enumerators are emitted in alphabetical order, so the values are not consecutive. | |
28.2 Non-Member Functions
28.2.1 Other
28.2.1.1 Get{error-set-name}ErrorDomain
| Kind: | function | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | namespace ::{namespace-derived-directory-path-lower}::error | |
| Syntax: | constexpr const ara::core::ErrorDomain & Get{error-set-name}ErrorDomain() noexcept; | |
| Return value: | const ara::core::ErrorDomain & | The single instance of the error domain |
| Exception Safety: | exception safe | |
| Description: | Returns the error domain object of this ApApplicationErrorSet. | |
28.2.1.2 MakeErrorCode
| Kind: | function | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | namespace ::{namespace-derived-directory-path-lower}::error | |
| Syntax: | constexpr ara::core::ErrorCode MakeErrorCode({error-set-name}Errc code, ara::core::ErrorDomain::SupportDataType data) noexcept; | |
| Parameters (in): | code | The application error to wrap |
| data | Vendor-defined supplementary data carried with the error code | |
| Return value: | ara::core::ErrorCode | An error code bound to this error domain |
| Exception Safety: | exception safe | |
| Description: | Creates an error code from this error domain. The skeleton returns one of these to report an application error from a method handler. | |
28.3 Class: {error-set-name}ErrorDomain
| Kind: | class | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | namespace ::{namespace-derived-directory-path-lower}::error | |
| Symbol: | {error-set-name}ErrorDomain | |
| Base class: | ara::core::ErrorDomain | |
| Syntax: | class {error-set-name}ErrorDomain final {...}; | |
| Description: | Error domain for one ApApplicationErrorSet. Its domain identifier is fixed at generation time from the model. | |
28.3.1 Public Member Types
28.3.1.1 Type Alias: Errc
| Kind: | type | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | {namespace-derived-directory-path-lower}::error::{error-set-name}ErrorDomain | |
| Symbol: | Errc | |
| Syntax: | using Errc = {error-set-name}Errc; | |
| Description: | Alias for the error code enumeration of this domain. | |
28.3.2 Public Member Functions
28.3.2.1 Special Member Functions
28.3.2.1.1 Default Constructor
| Kind: | function | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | {namespace-derived-directory-path-lower}::error::{error-set-name}ErrorDomain | |
| Syntax: | constexpr {error-set-name}ErrorDomain() noexcept; | |
| Description: | Default constructor. Binds the domain identifier taken from the model. | |
28.3.2.2 Member Functions
28.3.2.2.1 Message
| Kind: | function | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | {namespace-derived-directory-path-lower}::error::{error-set-name}ErrorDomain | |
| Syntax: | const char * Message(ara::core::ErrorDomain::CodeType errorCode) const noexcept override; | |
| Parameters (in): | errorCode | The error code to translate |
| Return value: | const char * | The message text of the error code. An unrecognised code yields the text of the generated fallback |
| Exception Safety: | exception safe | |
| Description: | Translates an error code of this domain into a message text. | |
28.3.2.2.2 Name
| Kind: | function | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | {namespace-derived-directory-path-lower}::error::{error-set-name}ErrorDomain | |
| Syntax: | const char * Name() const noexcept override; | |
| Return value: | const char * | The short name of the ApApplicationErrorSet |
| Exception Safety: | exception safe | |
| Description: | Returns the name of this error domain. | |
28.3.2.2.3 ThrowAsException
| Kind: | function | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | {namespace-derived-directory-path-lower}::error::{error-set-name}ErrorDomain | |
| Syntax: | void ThrowAsException(const ara::core::ErrorCode &errorCode) const noexcept(false) override; | |
| Parameters (in): | errorCode | The error code to throw |
| Return value: | None | |
| Exception Safety: | not exception safe | |
| Description: | Throws the given error code as an exception, or terminates the process when exceptions are disabled. | |
28.4 Class: {error-set-name}Exception
| Kind: | class | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | namespace ::{namespace-derived-directory-path-lower}::error | |
| Symbol: | {error-set-name}Exception | |
| Base class: | ara::core::Exception | |
| Syntax: | class {error-set-name}Exception {...}; | |
| Description: | Exception type thrown for errors of this ApApplicationErrorSet. | |
28.4.1 Public Member Functions
28.4.1.1 Constructors
28.4.1.1.1 {error-set-name}Exception
| Kind: | function | |
| Header file: | #include "{namespace-derived-directory-path-lower}/error/{error-set-name-lower}_error_domain.h" | |
| Scope: | {namespace-derived-directory-path-lower}::error::{error-set-name}Exception | |
| Syntax: | {error-set-name}Exception(ara::core::ErrorCode &err) noexcept; | |
| Parameters (in): | err | The error code to carry |
| Description: | Constructs the exception from an error code. | |
참고
- Communication Manager(CM)와 런타임 동작 모델: PARA 개요
- 서비스 설정: Service Interface 설정, Service Instance 설정