Encapsula um elemento de conteúdo de diagnóstico SOVD junto com um identificador de chave para operações de leitura e escrita.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 816c129f74baProcedênciaPerguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Encapsula um elemento de conteúdo de diagnóstico SOVD junto com um identificador de chave para operações de leitura e escrita.
A classe destina-se ao encapsulamento de um elemento de conteúdo de diagnóstico SOVD junto com um identificador de chave exclusivo [SWS_DM_02375]. Ela é preenchida pelo Diagnostic Management em acessos de escrita de acordo com o ASAM SOVD e repassada para GenericDiagnosticSovdContent::Write[SWS_DM_02166]. Todas as funções-membro são especificadas como thread-safe e seguras contra exceções, sendo que atribuições com erro são reportadas via ara::core::Result com DiagErrc::kInvalidArgument[SWS_DM_02381].
Contexto
A classe ara::diag::DiagnosticSovdContentElementDataWithKey serve, dentro da Adaptive Platform, como cápsula de dados para um único elemento de conteúdo de diagnóstico no contexto do ASAM SOVD (Service-Oriented Vehicle Diagnostics) e associa um identificador de chave exclusivo a um objeto de dados úteis [SWS_DM_02375]. Os dados SOVD são estruturados através do elemento de modelo DiagnosticSovdContent, que se compõe de pelo menos um DiagnosticSovdContentElementAUTOSAR_AP_SWS_Diagnostics §7.3.3.3.2 «SOVD Data – Conversion». Enquanto as consultas de leitura são processadas via GenericDiagnosticSovdContent::Read[SWS_DM_01432], a classe interage primariamente com o Diagnostic Management (DM) e a interface de serviço GenericDiagnosticSovdContent::Write para executar acessos de escrita estruturados a recursos de dados [SWS_DM_01431], [SWS_DM_02166].
Ciclo de vida
A instanciação e a destruição de ara::diag::DiagnosticSovdContentElementDataWithKey ocorrem em conformidade com o princípio RAII. O destrutor, bem como as operações de cópia e movimentação associadas (construtores move/copy e operadores de atribuição), são explicitamente declarados como noexcept[SWS_DM_02376]. Em relação à relação de posse, a classe assume o conteúdo dos dados úteis por passagem por valor em SetContent[SWS_DM_02381], enquanto o nome da chave é passado como ara::core::StringView[SWS_DM_02378]. O Diagnostic Management deve garantir internamente que a cadeia de caracteres subjacente permaneça válida durante o acesso ou seja copiada para a memória interna. Pergunta Q-f00f62f43629a773 (aberta) De acordo com a especificação, todas as funções-membro da classe são projetadas como thread-safe e seguras contra exceções [SWS_DM_02376], [SWS_DM_02377], [SWS_DM_02378], [SWS_DM_02379], [SWS_DM_02380], [SWS_DM_02381].
Caminho de utilização
O fluxo típico de utilização ocorre na recepção de uma requisição de escrita SOVD para um recurso de dados de entidade [SWS_DM_01431]. O Diagnostic Management cria ou utiliza uma instância e define inicialmente com SetName o shortName do respectivo DiagnosticSovdContentElement[SWS_DM_02166], [SWS_DM_02378]. Em seguida, o valor de entrada é transformado com base nas regras de conversão AUTOSAR_AP_SWS_Diagnostics §7.3.3.3.2 «SOVD Data – Conversion» e atribuído via SetContent[SWS_DM_02166], [SWS_DM_02381]. Os dados agregados dessa maneira são posteriormente repassados a GenericDiagnosticSovdContent::Write[SWS_DM_02166]. Os consumidores podem consultar o nome da chave via GetName[SWS_DM_02377] e inspecionar ou manipular o conteúdo de dados através da sobrecarga constante ou não constante de GetContent[SWS_DM_02379], [SWS_DM_02380].
Diagrama de sequência: fluxo de chamada e de dados no processamento de uma requisição de escrita SOVD com o uso de DiagnosticSovdContentElementDataWithKey. Fontes: [SWS_DM_01431], [SWS_DM_02166], [SWS_DM_02378], [SWS_DM_02381].
Cenários de erro
Em caso de falha, a classe abre mão de C++-Exceptions e, em vez disso, reporta as falhas através do tipo de retorno ara::core::Result<void> de SetContent[SWS_DM_02381]. Se a definição do conteúdo falhar – por exemplo, se o tipo de conteúdo passado não for compatível com a estrutura de destino ou for inválido –, o código de erro DiagErrc::kInvalidArgument é retornado [SWS_DM_02381]. O chamador deve verificar o resultado retornado antes que o objeto seja passado para GenericDiagnosticSovdContent::Write[SWS_DM_02166].
Este guia de classe baseia-se na especificação AUTOSAR AP Release R25-11. Todas as afirmações são comprovadas por requisitos SWS e referências de documentos da interface ara::diag.
gemini-3.8-flash-low· 2026-10-13 · Original em alemão