DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Serve como estrutura de retorno para a consulta assíncrona de status de operações SOVD ao Diagnostic Management.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: b16aa086639a Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como estrutura de retorno para a consulta assíncrona de status de operações SOVD ao Diagnostic Management.

A estrutura de dados GetStatusResponse serve como contêiner de retorno para a consulta assíncrona de status de operações SOVD ([SWS_DM_02200]). Ela é transferida por uma instância de SovdOperationExecution através de um ara::core::Future ao Diagnostic Management, que dela deriva os atributos status e parameters para a resposta ASAM SOVD ([SWS_DM_02181]). Pré-requisito para a disponibilização é uma validação de proximidade bem-sucedida, bem como a execução assíncrona sem erros da chamada.

Contexto

A estrutura ara::diag::SovdOperationExecution::GetStatusResponse é uma estrutura de dados de resposta da Adaptive Platform ([SWS_DM_02200]), utilizada como contêiner de retorno padronizado na consulta de status de operações SOVD (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 «Struct: GetStatusResponse»). Dentro do módulo diag, a estrutura funciona como elemento de interface entre o daemon de diagnóstico Diagnostic Management (DM) e serviços de diagnóstico específicos da aplicação que implementam a interface SovdOperationExecution. Quando o Diagnostic Management recebe uma chamada SOVD externa para consultar o status da operação («Read the Status of an operation»), o DM encaminha essa requisição para a instância responsável ([SWS_DM_02180]). GetStatusResponse encapsula os dados de estado e de resultado determinados e permite que o DM construa a resposta em conformidade com o padrão ASAM SOVD ([SWS_DM_02181]).

Ciclo de vida

Como estrutura de dados (struct GetStatusResponse), uma instância é tipicamente instanciada no contexto da aplicação de serviço assim que o método virtual SovdOperationExecution::GetStatus é chamado para processamento. O objeto é incorporado como valor em um ara::core::Future<GetStatusResponse>, que prescreve a assinatura assíncrona do método como tipo de retorno (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Interpretação: GetStatusResponse provavelmente foi projetada como um objeto puro de transferência de valor, cujo ciclo de vida está intimamente ligado ao par Future e Promise correspondente. Pergunta Q-e5e2b31a97df0af4 (aberta) Assim que a determinação específica da aplicação é concluída e o Future é atendido, o acesso aos dados passa para o Diagnostic Management chamador. Após a leitura dos atributos para a montagem da resposta SOVD ([SWS_DM_02181]), o tempo de vida da estrutura termina e ela é destruída normalmente.

Caminho de utilização

O fluxo regular na consulta do status da operação compreende a interação de vários componentes:

  1. Um cliente SOVD externo envia o método «Read the Status of an operation» com um execution-id específico para o DM ([SWS_DM_02180]).
  2. O DM verifica a requisição e realiza, se necessário, uma validação do Proximity Challenge ([SWS_DM_02173]).
  3. Após a verificação bem-sucedida, o DM endereça, com base no execution-id, a respectiva instância de SovdOperationExecution ([SWS_DM_02177]) e chama seu método GetStatus(meta_info, cancellation_handler) ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).
  4. A aplicação determina o estado de execução, preenche GetStatusResponse com o valor de status (status) bem como com os parâmetros de saída (Parameters de DiagnosticSovdContentData) e disponibiliza o objeto através do ara::core::Future ([SWS_DM_02181]).
  5. O DM extrai os dados do GetStatusResponse disponibilizado, define o campo capability como execute e envia o corpo de resposta (response body) conforme ASAM SOVD de volta ao cliente ([SWS_DM_02181]).
Fluxo da consulta de status de uma operação SOVDSOVD-ClientDiagnostic ManagementSovdOperationExecutionRead the Status of an operation (execution-id)optVerificação de proximidade necessáriaproximity_challenge validieren [SWS_DM_02173]GetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

Diagrama de sequência: interação na consulta do status da operação via GetStatusResponse. Fontes: [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus», [SWS_DM_02173]

Cenários de erro

O processamento e a troca bem-sucedida de GetStatusResponse dependem de várias pré-condições e caminhos de erro:

  • Se um Proximity Challenge exigido falhar ([SWS_DM_02173]), o DM sequer chama o método GetStatus ([SWS_DM_02180]); uma instanciação ou avaliação de GetStatusResponse é totalmente dispensada nesse caso.
  • O método SovdOperationExecution::GetStatus está declarado como noexcept (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Erros na determinação do status não devem, portanto, ser propagados via exceções C++, mas sim sinalizados de forma assíncrona através do caminho de erro do ara::core::Future.
  • Caso a execução do método não seja bem-sucedida (condição «succeeded» não atendida), a composição regular da resposta de sucesso SOVD não é realizada ([SWS_DM_02181]).
  • Através do objeto passado ara::diag::CancellationHandler, a operação em andamento pode ser informada sobre uma solicitação de cancelamento (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).

Este guia foi criado por uma IA e baseia-se na especificação AUTOSAR R25-11.