Exception-less preconstruction of ServiceInterfaceSkeleton.
The ServiceInterfaceSkeleton
can be preconstructed using:
- the InstanceIdentifier
- the InstanceSpecifier
- or an InstanceIdentifierContainer
Syntax
// Preconstruct with InstanceIdentifier
ConstructionResult namespace::ExampleServiceInterfaceSkeleton::Preconstruct (ara::com::InstanceIdentifier instance_id,
ara::com::MethodCallProcessingMode const mode = ara::com::MethodCallProcessingMode::kEvent, std::size_t const max_requests = 0)
// Preconstruct with InstanceSpecifier
ConstructionResult namespace::ExampleServiceInterfaceSkeleton::Preconstruct (ara::core::InstanceSpecifier instance,
ara::com::MethodCallProcessingMode const mode = ara::com::MethodCallProcessingMode::kEvent, std::size_t const max_requests = 0)
// Preconstruct with InstanceIdentifierContainer
ConstructionResult namespace::ExampleServiceInterfaceSkeleton::Preconstruct (ara::com::InstanceIdentifierContainer instance_identifiers,
ara::com::MethodCallProcessingMode const mode = ara::com::MethodCallProcessingMode::kEvent, std::size_t const max_requests = 0)
Parameters
in | instance_id | The Preconditions:
|
in | instance | The Preconditions:
Must belong to the service interface. |
in | mode | The mode of the service implementation for processing service method invocations. Default: Event-driven processing. Preconditions:
|
in | max_requrests | The maximal number of method requests that can be queued per skeleton instance. The default is 0: no upper limit for incoming method requests. Usage hint: For |
Returns
ConstructionToken
Result containing construction token from which a skeleton object can be constructed.
Errors
Error Message | Reason |
---|---|
ara::com::ComErrc::kGrantEnforcementError | Request is refused by IAM. |
ara::com::ComErrc::kCommunicationLinkError | Connection failure with the |
| The given |
| Connection failure with the |
| The given |
Precondition
- No other service skeleton for the same instance must exist concurrently.
After destruction of an already created skeleton object, the instantiation for the same service instance will be possible.
Thread-safety, Reentrance, Result Delivery
- Threadsafe : FALSE
- Reentrant : FALSE
- Synchronous : TRUE