Encapsule un élément de contenu de diagnostic SOVD ainsi qu'un identifiant de clé pour les opérations de lecture et d'écriture.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 816c129f74baProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Encapsule un élément de contenu de diagnostic SOVD ainsi qu'un identifiant de clé pour les opérations de lecture et d'écriture.
La classe sert à encapsuler un élément de contenu de diagnostic SOVD conjointement avec un identifiant de clé unique [SWS_DM_02375]. Elle est alimentée par le Diagnostic Management lors des accès en écriture selon ASAM SOVD et transmise à GenericDiagnosticSovdContent::Write[SWS_DM_02166]. Toutes les fonctions membres sont spécifiées comme sûres vis-à-vis des threads et des exceptions, les affectations erronées étant signalées via ara::core::Result avec DiagErrc::kInvalidArgument[SWS_DM_02381].
Contexte
Au sein de l'Adaptive Platform, la classe ara::diag::DiagnosticSovdContentElementDataWithKey sert de capsule de données pour un élément de contenu de diagnostic individuel dans le contexte d'ASAM SOVD (Service-Oriented Vehicle Diagnostics) et associe un identifiant de clé unique à un objet de données utiles [SWS_DM_02375]. Les données SOVD sont structurées via l'élément de modèle DiagnosticSovdContent, qui se compose d'au moins un DiagnosticSovdContentElementAUTOSAR_AP_SWS_Diagnostics §7.3.3.3.2 « SOVD Data – Conversion ». Tandis que les requêtes de lecture sont traitées via GenericDiagnosticSovdContent::Read[SWS_DM_01432], la classe interagit principalement avec le Diagnostic Management (DM) et l'interface de service GenericDiagnosticSovdContent::Write afin d'exécuter des accès en écriture structurés sur les ressources de données [SWS_DM_01431], [SWS_DM_02166].
Cycle de vie
L'instanciation et la destruction de ara::diag::DiagnosticSovdContentElementDataWithKey s'effectuent dans le respect du principe RAII. Le destructeur ainsi que les opérations de copie et de déplacement associées (constructeurs de déplacement/copie et opérateurs d'affectation) sont explicitement déclarés comme noexcept[SWS_DM_02376]. Concernant la relation de possession, la classe prend en charge le contenu des données utiles par passage par valeur dans SetContent[SWS_DM_02381], tandis que le nom de clé est transmis sous forme de ara::core::StringView[SWS_DM_02378]. Le Diagnostic Management devrait garantir en interne que la chaîne de caractères sous-jacente reste valide pendant l'accès ou qu'elle soit copiée dans la mémoire interne. Question Q-f00f62f43629a773 (ouverte) Selon la spécification, toutes les fonctions membres de la classe sont conçues pour être sûres vis-à-vis des threads et sûres vis-à-vis des exceptions [SWS_DM_02376], [SWS_DM_02377], [SWS_DM_02378], [SWS_DM_02379], [SWS_DM_02380], [SWS_DM_02381].
Parcours d'utilisation
Le chemin d'utilisation typique se produit lors de la réception d'une requête d'écriture SOVD pour une ressource de données d'entité [SWS_DM_01431]. Le Diagnostic Management crée ou utilise une instance et définit tout d'abord à l'aide de SetName le shortName du DiagnosticSovdContentElement respectif [SWS_DM_02166], [SWS_DM_02378]. La valeur entrante est ensuite transformée selon les règles de conversion AUTOSAR_AP_SWS_Diagnostics §7.3.3.3.2 « SOVD Data – Conversion » et affectée via SetContent[SWS_DM_02166], [SWS_DM_02381]. Les données ainsi agrégées sont ensuite transmises à GenericDiagnosticSovdContent::Write[SWS_DM_02166]. Les consommateurs peuvent interroger le nom de clé via GetName[SWS_DM_02377] et inspecter ou manipuler le contenu des données via la surcharge constante ou non constante de GetContent[SWS_DM_02379], [SWS_DM_02380].
Diagramme de séquence : Flux d'appels et de données lors du traitement d'une requête d'écriture SOVD à l'aide de DiagnosticSovdContentElementDataWithKey. Sources : [SWS_DM_01431], [SWS_DM_02166], [SWS_DM_02378], [SWS_DM_02381].
Scénarios d'erreur
En cas d'erreur, la classe renonce aux exceptions C++ et signale au contraire les échecs via le type de retour ara::core::Result<void> de SetContent[SWS_DM_02381]. Si la définition du contenu échoue – par exemple si le type de contenu transmis ne correspond pas à la structure cible ou s'avère non valide –, le code d'erreur DiagErrc::kInvalidArgument est renvoyé [SWS_DM_02381]. L'appelant doit vérifier le résultat renvoyé avant que l'objet ne soit transmis à GenericDiagnosticSovdContent::Write[SWS_DM_02166].
Ce guide de classe repose sur la spécification AUTOSAR AP Release R25-11. Toutes les affirmations sont étayées par des exigences SWS et des passages documentaires de l'interface ara::diag.
gemini-3.8-flash-low· 2026-10-13 · Original allemand