DEENESPTFRRUARHIKOZHNL

struct <DataElement-Namespace>::<DataElementInterface>::<DataElement>ReadOutput

[SWS_DM_00580] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

struct <DataElement>ReadOutput {...};

Structure wrapping the out arguments for a ReadOutput

Header-Datei#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }.h"
Forwarding-Header#include "<DataElementDirectoryPath>/{<data-element-shortname-lower> }/<DataElementShortname>_fwd.h"
Scopeclass <DataElement-Namespace>::<DataElementInterface>

User GuideAI-GENERATED

Encapsulates the output arguments of a read operation for a diagnostic data element.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: b44a386da139 Provenance Open questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Encapsulates the output arguments of a read operation for a diagnostic data element.

In the adaptive diagnostic module, the structure <DataElement>ReadOutput serves as a transport container for encapsulating all output arguments of a data element read operation. Upon an incoming read request, it is instantiated by the service provider, populated with the retrieved values, and returned to the caller. The instances possess pure value semantics without their own state management and are likely destroyed immediately after evaluation. Question (open) As an interpretation, any errors during the query are handled via the return mechanisms of the higher-level platform function rather than via the structure itself.

Context

The structure <DataElement>ReadOutput is part of the interface definition of the diagnostic module (diag) within the AUTOSAR Adaptive Platform in release R25-11. Its primary role is to aggregate, as a wrapper structure, the output arguments (out arguments) of a read operation (ReadOutput) for a specific diagnostic data element within the associated <DataElementInterface>. In the architecture of AUTOSAR Adaptive, functional software components communicate with the platform diagnostic manager via clearly defined service interfaces. Here, <DataElement>ReadOutput acts as a pure data transfer container that bundles the payload data of a read request. The data structure presumably serves as the return type of an asynchronous read operation (such as Read()) within the diagnostic interface <DataElementInterface> in order to provide output parameters in a bundled manner. Question Q-e3c1110153021b2a (open) This encapsulation creates a uniform and typed interface that dispenses with pointer passing or separate output parameters.

Lifecycle

Regarding its lifecycle, the structure <DataElement>ReadOutput exhibits the characteristics of an elementary value type. It has no long-lived identity and undergoes no complex internal states. It is created dynamically or on the stack by the component that implements read access to the data element and compiles the output data. Instances of the structure are likely to be passed typically by-value or via move semantics, and consumed and destroyed by the calling diagnostic component or platform framework after completion of the read operation. Question Q-f7af8c361e9352b0 (open) Ownership is transferred directly to the receiver of the read result. As soon as the processing routine has read the required data, the structure is automatically released upon leaving scope. With respect to concurrency, <DataElement>ReadOutput provides no internal synchronization. Since instances in the regular call flow are passed exclusively to the respective caller, shared use across thread boundaries is not intended in standard operation.

Usage Path

The typical usage path extends from triggering a read request to processing the supplied output parameters. A typical sequence is structured as follows:

  • Request: A diagnostic client or the adaptive framework requests reading of a data element via the method of the interface <DataElementInterface>.
  • Instantiation and population: The providing software component determines the current diagnostic data, instantiates an instance of <DataElement>ReadOutput, and sets its data fields with the captured values.
  • Return: The populated structure is transmitted to the requesting framework as the result of the operation.
  • Consumption: The framework or the calling component accesses the contained output arguments, formats the diagnostic response, and concludes processing of the query.

After successful handover and extraction of the data fields, the instance loses its validity and is discarded without further interaction steps.

Error Scenarios

Interpretation: The failure of a read operation is expected not to be represented via the structure itself, but rather via the enclosing result or error mechanism of the platform (such as ara::core::Result or ara::core::Future). Question Q-7d16241843f2d5e6 (open) As a pure data structure, <DataElement>ReadOutput does not declare any methods, preconditions, or error codes of its own. Should read access to a data element fail—for instance due to insufficient permissions, invalid system states, or communication problems with the underlying sensor system—the implementing interface signals this error via the higher-level platform error channel. In such an error case, no valid instance of <DataElement>ReadOutput is provided for evaluation, thereby avoiding misinterpretations of incomplete payload data on the caller side.

This guide is based on the specification data of AUTOSAR release R25-11 for the Adaptive Platform.