Encapsula un elemento de contenido de diagnóstico SOVD junto con un identificador de clave para operaciones de lectura y escritura.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 816c129f74baProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Encapsula un elemento de contenido de diagnóstico SOVD junto con un identificador de clave para operaciones de lectura y escritura.
La clase sirve para encapsular un elemento de contenido de diagnóstico SOVD junto con un identificador de clave unívoco [SWS_DM_02375]. El Diagnostic Management la cumplimenta durante los accesos de escritura según ASAM SOVD y la transmite a GenericDiagnosticSovdContent::Write[SWS_DM_02166]. Todas las funciones miembro están especificadas como seguras para subprocesos y seguras frente a excepciones, notificándose las asignaciones erróneas a través de ara::core::Result con DiagErrc::kInvalidArgument[SWS_DM_02381].
Contexto
La clase ara::diag::DiagnosticSovdContentElementDataWithKey sirve dentro de la Adaptive Platform como cápsula de datos para un elemento de contenido de diagnóstico individual en el contexto de ASAM SOVD (Service-Oriented Vehicle Diagnostics) y asigna un identificador de clave unívoco a un objeto de datos de usuario [SWS_DM_02375]. Los datos de SOVD se estructuran a través del elemento de modelo DiagnosticSovdContent, el cual se compone de al menos un DiagnosticSovdContentElementAUTOSAR_AP_SWS_Diagnostics §7.3.3.3.2 «SOVD Data – Conversion». Mientras que las consultas de lectura se procesan a través de GenericDiagnosticSovdContent::Read[SWS_DM_01432], la clase interactúa principalmente con el Diagnostic Management (DM) y la interfaz de servicio GenericDiagnosticSovdContent::Write para ejecutar accesos estructurados de escritura a los recursos de datos [SWS_DM_01431], [SWS_DM_02166].
Ciclo de vida
La instanciación y destrucción de ara::diag::DiagnosticSovdContentElementDataWithKey se realiza respetando el principio RAII. El destructor, así como las correspondientes operaciones de copia y movimiento (constructores de copia/movimiento y operadores de asignación), están declarados explícitamente como noexcept[SWS_DM_02376]. Respecto a la relación de propiedad, la clase asume el contenido de datos de usuario por paso por valor en SetContent[SWS_DM_02381], mientras que el nombre de la clave se transmite como ara::core::StringView[SWS_DM_02378]. Es de esperar que el Diagnostic Management garantice internamente que la cadena subyacente permanezca válida durante el acceso o se copie en la memoria interna. Pregunta Q-f00f62f43629a773 (abierta) Todas las funciones miembro de la clase están diseñadas según la especificación como seguras para subprocesos y seguras frente a excepciones [SWS_DM_02376], [SWS_DM_02377], [SWS_DM_02378], [SWS_DM_02379], [SWS_DM_02380], [SWS_DM_02381].
Ruta de uso
La ruta de uso típica se produce al recibir una solicitud de escritura SOVD para un recurso de datos de entidad [SWS_DM_01431]. El Diagnostic Management crea o utiliza una instancia y establece en primer lugar con SetName el shortName del respectivo DiagnosticSovdContentElement[SWS_DM_02166], [SWS_DM_02378]. A continuación, el valor entrante se transforma según las reglas de conversión AUTOSAR_AP_SWS_Diagnostics §7.3.3.3.2 «SOVD Data – Conversion» y se asigna mediante SetContent[SWS_DM_02166], [SWS_DM_02381]. Los datos agregados de esta forma se transmiten después a GenericDiagnosticSovdContent::Write[SWS_DM_02166]. Los consumidores pueden consultar el nombre de la clave a través de GetName[SWS_DM_02377] e inspeccionar o manipular el contenido de datos a través de la sobrecarga constante o no constante de GetContent[SWS_DM_02379], [SWS_DM_02380].
Diagrama de secuencia: flujo de llamadas y de datos durante el procesamiento de una solicitud de escritura SOVD utilizando DiagnosticSovdContentElementDataWithKey. Fuentes: [SWS_DM_01431], [SWS_DM_02166], [SWS_DM_02378], [SWS_DM_02381].
Escenarios de error
En caso de error, la clase prescinde de excepciones de C++ y, en su lugar, notifica los fallos a través del tipo de retorno ara::core::Result<void> de SetContent[SWS_DM_02381]. Si falla la definición del contenido —por ejemplo, si el tipo de contenido transferido no coincide con la estructura de destino o no es válido—, se devuelve el código de error DiagErrc::kInvalidArgument[SWS_DM_02381]. El llamador debe comprobar el resultado devuelto antes de transferir el objeto a GenericDiagnosticSovdContent::Write[SWS_DM_02166].
Esta guía de clase se basa en la especificación AUTOSAR AP Release R25-11. Todas las afirmaciones están respaldadas por requisitos SWS y referencias documentales de la interfaz ara::diag.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán