estructura ara::diag::SovdOperationExecution::GetStatusResponse
struct GetStatusResponse {...};
Get Status response .
| Header-Datei | #include "ara/diag/generic_diagnostic_sovd_operation.h" |
|---|---|
| Forwarding-Header | #include "ara/diag/diag_fwd.h" |
| Scope | class ara::diag::SovdOperationExecution |
Guía del usuarioGENERADO POR IA
Sirve como estructura de retorno para la consulta de estado asíncrona de operaciones SOVD a Diagnostic Management.
Sirve como estructura de retorno para la consulta de estado asíncrona de operaciones SOVD a Diagnostic Management.
La estructura de datos GetStatusResponse sirve como contenedor de retorno para la consulta de estado asíncrona de operaciones SOVD ([SWS_DM_02200]). Es transferida desde una instancia de SovdOperationExecution a través de un ara::core::Future a Diagnostic Management, el cual deduce a partir de ella los atributos status y parameters para la respuesta ASAM SOVD ([SWS_DM_02181]). El requisito para su provisión es una validación de proximidad exitosa, así como la ejecución asíncrona sin fallos de la llamada.
Contexto
La estructura ara::diag::SovdOperationExecution::GetStatusResponse es una estructura de datos de respuesta de Adaptive Platform ([SWS_DM_02200]) que se emplea como contenedor de retorno estandarizado en la consulta de estado de operaciones SOVD (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 «Struct: GetStatusResponse»). Dentro del módulo diag, la estructura actúa como elemento de interfaz entre el demonio de diagnóstico Diagnostic Management (DM) y los servicios de diagnóstico específicos de la aplicación que implementan la interfaz SovdOperationExecution. Si Diagnostic Management recibe una llamada externa de SOVD para consultar el estado de la operación («Read the Status of an operation»), el DM reenvía esta petición a la instancia responsable ([SWS_DM_02180]). GetStatusResponse encapsula los datos de estado y resultado determinados y permite al DM construir la respuesta conforme al estándar según ASAM SOVD ([SWS_DM_02181]).
Ciclo de vida
Como estructura de datos (struct GetStatusResponse), una instancia se instancia típicamente en el contexto de la aplicación de servicio en cuanto se llama al método virtual SovdOperationExecution::GetStatus para su procesamiento. El objeto se integra como valor en un ara::core::Future<GetStatusResponse>, el cual prescribe la signatura asíncrona del método como tipo de retorno (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Interpretación: GetStatusResponse debería estar diseñada como un mero objeto de transferencia de valor cuyo ciclo de vida está estrechamente acoplado al par correspondiente de Future y Promise. Pregunta Q-e5e2b31a97df0af4 (abierta) Tan pronto como la determinación específica de la aplicación finaliza y se satisface el Future, el acceso a los datos pasa al Diagnostic Management llamador. Tras la lectura de los atributos para la confección de la respuesta SOVD ([SWS_DM_02181]), finaliza el tiempo de vida de la estructura y esta se destruye regularmente.
Ruta de uso
El flujo regular en la consulta del estado de la operación comprende la interacción de varios componentes:
- Un cliente SOVD externo envía el método «Read the Status of an operation» con un
execution-idespecífico al DM ([SWS_DM_02180]). - El DM comprueba la petición y, si es necesario, realiza una validación del Proximity Challenge ([SWS_DM_02173]).
- Tras una comprobación exitosa, el DM direcciona mediante el
execution-idla instancia correspondiente deSovdOperationExecution([SWS_DM_02177]) e invoca su métodoGetStatus(meta_info, cancellation_handler)([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). - La aplicación determina el estado de ejecución, rellena
GetStatusResponsecon el valor de estado (status) y los parámetros de salida (ParametersdeDiagnosticSovdContentData), y pone a disposición el objeto a través delara::core::Future([SWS_DM_02181]). - El DM extrae los datos de la
GetStatusResponseproporcionada, establece el campocapabilityenexecutey devuelve el cuerpo de respuesta al cliente conforme a ASAM SOVD ([SWS_DM_02181]).
Diagrama de secuencia: Interacción durante la consulta del estado de la operación a través de GetStatusResponse. Fuentes: [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus», [SWS_DM_02173]
Escenarios de error
El procesamiento y el intercambio correcto de GetStatusResponse dependen de varias precondiciones y rutas de error:
- Si un Proximity Challenge requerido falla ([SWS_DM_02173]), el DM ni siquiera invoca el método
GetStatus([SWS_DM_02180]); en este caso, se omite por completo cualquier instanciación o evaluación deGetStatusResponse. - El método
SovdOperationExecution::GetStatusestá declarado comonoexcept(AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Por consiguiente, los errores en la determinación del estado no deben propagarse mediante excepciones de C++, sino que deben señalizarse de forma asíncrona a través de la ruta de error delara::core::Future. - Si la ejecución del método no tiene éxito (no se cumple la condición «succeeded»), no se lleva a cabo la composición regular de la respuesta de éxito de SOVD ([SWS_DM_02181]).
- A través del objeto
ara::diag::CancellationHandlertransferido, se puede informar a la operación en curso sobre una solicitud de cancelación (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).
Esta guía ha sido elaborada por una IA y se basa en la especificación AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán