estrutura 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 |
Guia do utilizadorGERADO POR IA
Serve como estrutura de retorno para a consulta assíncrona de status de operações SOVD ao Diagnostic Management.
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:
- Um cliente SOVD externo envia o método «Read the Status of an operation» com um
execution-idespecífico para o DM ([SWS_DM_02180]). - O DM verifica a requisição e realiza, se necessário, uma validação do Proximity Challenge ([SWS_DM_02173]).
- Após a verificação bem-sucedida, o DM endereça, com base no
execution-id, a respectiva instância deSovdOperationExecution([SWS_DM_02177]) e chama seu métodoGetStatus(meta_info, cancellation_handler)([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). - A aplicação determina o estado de execução, preenche
GetStatusResponsecom o valor de status (status) bem como com os parâmetros de saída (ParametersdeDiagnosticSovdContentData) e disponibiliza o objeto através doara::core::Future([SWS_DM_02181]). - O DM extrai os dados do
GetStatusResponsedisponibilizado, define o campocapabilitycomoexecutee envia o corpo de resposta (response body) conforme ASAM SOVD de volta ao cliente ([SWS_DM_02181]).
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 deGetStatusResponseé totalmente dispensada nesse caso. - O método
SovdOperationExecution::GetStatusestá declarado comonoexcept(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 doara::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.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão