DEENESPTFRRUARHIKOZHNL

struct ara::diag::SovdOperationExecution::GetStatusResponse

[SWS_DM_02200] Upstream: RS_Diag_04262

struct GetStatusResponse {...};

Get Status response .

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::SovdOperationExecution

User GuideAI-GENERATED

Serves as a return structure for the asynchronous status query of SOVD operations to Diagnostic Management.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: b16aa086639a Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Serves as a return structure for the asynchronous status query of SOVD operations to Diagnostic Management.

Data structure GetStatusResponse serves as a return container for the asynchronous status query of SOVD operations ([SWS_DM_02200]). It is passed from a SovdOperationExecution instance via a ara::core::Future to Diagnostic Management, which derives from it attributes status and parameters for the ASAM SOVD response ([SWS_DM_02181]). A prerequisite for provisioning is a successful proximity validation as well as error-free asynchronous execution of the call.

Context

Structure ara::diag::SovdOperationExecution::GetStatusResponse is a response data structure of the Adaptive Platform ([SWS_DM_02200]) used as a standardized return container when querying the status of SOVD operations (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 “Struct: GetStatusResponse”). Within module diag, the structure functions as an interface element between the diagnostic daemon Diagnostic Management (DM) and application-specific diagnostic services that implement interface SovdOperationExecution. If an external SOVD call to query operation status is received by Diagnostic Management (“Read the Status of an operation”), the DM forwards this request to the responsible instance ([SWS_DM_02180]). GetStatusResponse encapsulates the determined status and result data and enables the DM to construct the standard-compliant response according to ASAM SOVD ([SWS_DM_02181]).

Lifecycle

As a data structure (struct GetStatusResponse), an instance is typically instantiated in the context of the service application as soon as the virtual method SovdOperationExecution::GetStatus is called for processing. The object is embedded as a value in a ara::core::Future<GetStatusResponse>, which prescribes the asynchronous method signature as a return type (AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”). Interpretation: GetStatusResponse is likely designed as a pure value transfer object whose lifecycle is tightly coupled to the associated Future and Promise pair. Question Q-e5e2b31a97df0af4 (open) As soon as the application-specific determination is completed and the Future is fulfilled, data access transfers to the calling Diagnostic Management. After reading the attributes to assemble the SOVD response ([SWS_DM_02181]), the lifetime of the structure ends, and it is destroyed regularly.

Usage Path

The regular sequence when querying operation status comprises the interaction of several components:

  1. An external SOVD client sends the method “Read the Status of an operation” with a specific execution-id to the DM ([SWS_DM_02180]).
  2. The DM checks the request and, if necessary, validates the proximity challenge ([SWS_DM_02173]).
  3. After successful verification, the DM uses execution-id to address the corresponding SovdOperationExecution instance ([SWS_DM_02177]) and calls its method GetStatus(meta_info, cancellation_handler) ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”).
  4. The application determines the execution state, populates GetStatusResponse with the status value (status) as well as the output parameters (Parameters from DiagnosticSovdContentData), and provides the object via the ara::core::Future ([SWS_DM_02181]).
  5. The DM extracts the data from the provided GetStatusResponse, sets field capability to execute, and sends the response body back to the client according to ASAM SOVD ([SWS_DM_02181]).
Status query sequence of an SOVD operationSOVD-ClientDiagnostic ManagementSovdOperationExecutionRead the Status of an operation (execution-id)optProximity check requiredproximity_challenge validieren [SWS_DM_02173]GetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

Sequence diagram: interaction when querying operation status via GetStatusResponse. Sources: [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”, [SWS_DM_02173]

Error Scenarios

Processing and successful exchange of GetStatusResponse depend on several preconditions and error paths:

  • If a required proximity challenge fails ([SWS_DM_02173]), the DM does not call method GetStatus in the first place ([SWS_DM_02180]); instantiation or evaluation of GetStatusResponse is omitted entirely in this case.
  • The method SovdOperationExecution::GetStatus is declared as noexcept (AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”). Consequently, errors during status determination must not be propagated via C++ exceptions, but must be signaled asynchronously via the error path of the ara::core::Future.
  • If the execution of the method fails ("succeeded" condition not met), regular assembly of the SOVD success response is omitted ([SWS_DM_02181]).
  • Via the passed object ara::diag::CancellationHandler, the ongoing operation can be informed of a cancellation request (AUTOSAR_AP_SWS_Diagnostics §8.62 “GetStatus”).

This guide was generated by an AI and is based on the AUTOSAR specification R25-11.