structure 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 |
Guide utilisateurGÉNÉRÉ PAR IA
Sert de structure de retour pour l'interrogation asynchrone de l'état d'opérations SOVD auprès du Diagnostic Management.
Sert de structure de retour pour l'interrogation asynchrone de l'état d'opérations SOVD auprès du Diagnostic Management.
La structure de données GetStatusResponse sert de conteneur de retour pour l'interrogation asynchrone de l'état d'opérations SOVD ([SWS_DM_02200]). Elle est transmise au Diagnostic Management par une instance de SovdOperationExecution via un ara::core::Future, à partir duquel le Diagnostic Management dérive les attributs status et parameters pour la réponse ASAM SOVD ([SWS_DM_02181]). La mise à disposition a pour prérequis une validation de proximité réussie ainsi que l'exécution asynchrone sans erreur de l'appel.
Contexte
La structure ara::diag::SovdOperationExecution::GetStatusResponse est une structure de données de réponse de l'Adaptive Platform ([SWS_DM_02200]), utilisée comme conteneur de retour standardisé lors de l'interrogation de l'état d'opérations SOVD (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 « Struct: GetStatusResponse »). Au sein du module diag, la structure fait office d'élément d'interface entre le démon de diagnostic Diagnostic Management (DM) et les services de diagnostic spécifiques à l'application qui implémentent l'interface SovdOperationExecution. Lorsque le Diagnostic Management reçoit un appel SOVD externe demandant l'état de l'opération (« Read the Status of an operation »), le DM transmet cette requête à l'instance compétente ([SWS_DM_02180]). GetStatusResponse encapsule les données d'état et de résultat déterminées et permet au DM de construire la réponse conforme au standard selon ASAM SOVD ([SWS_DM_02181]).
Cycle de vie
En tant que structure de données (struct GetStatusResponse), une instance est typiquement instanciée dans le contexte de l'application de service dès que la méthode virtuelle SovdOperationExecution::GetStatus est appelée pour traitement. L'objet est incorporé comme valeur dans un ara::core::Future<GetStatusResponse>, prescrit par la signature de méthode asynchrone comme type de retour (AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »). Interprétation : GetStatusResponse devrait être conçu comme un pur objet de transfert de valeur dont le cycle de vie est étroitement couplé à la paire Future et Promise associée. Dès que la détermination spécifique à l'application est achevée et que le Future est rempli, l'accès aux données passe au Diagnostic Management appelant. Après la lecture des attributs servant à composer la réponse SOVD ([SWS_DM_02181]), la durée de vie de la structure prend fin et celle-ci est détruite de manière régulière. Question Q-e5e2b31a97df0af4 (ouverte)
Parcours d'utilisation
Le déroulement régulier lors de l'interrogation de l'état d'une opération comprend l'interaction de plusieurs composants :
- Un client SOVD externe envoie la méthode « Read the Status of an operation » avec un
execution-idspécifique au DM ([SWS_DM_02180]). - Le DM vérifie la requête et exécute au besoin une validation du challenge de proximité ([SWS_DM_02173]).
- Après vérification réussie, le DM adresse, à l'aide du
execution-id, l'instance deSovdOperationExecutioncorrespondante ([SWS_DM_02177]) et appelle sa méthodeGetStatus(meta_info, cancellation_handler)([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »). - L'application détermine l'état d'exécution, remplit
GetStatusResponseavec la valeur d'état (status) ainsi qu'avec les paramètres de sortie (Parametersissus deDiagnosticSovdContentData) et met l'objet à disposition via leara::core::Future([SWS_DM_02181]). - Le DM extrait les données du
GetStatusResponsemis à disposition, définit le champcapabilitysurexecuteet renvoie le corps de réponse au client conformément à ASAM SOVD ([SWS_DM_02181]).
Diagramme de séquence : interaction lors de l'interrogation de l'état d'une opération via GetStatusResponse. Sources : [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus », [SWS_DM_02173]
Scénarios d'erreur
Le traitement et l'échange réussi de GetStatusResponse dépendent de plusieurs préconditions et chemins d'erreur :
- Si un challenge de proximité requis échoue ([SWS_DM_02173]), le DM n'appelle même pas la méthode
GetStatus([SWS_DM_02180]) ; l'instanciation ou l'évaluation deGetStatusResponseest alors totalement omise dans ce cas. - La méthode
SovdOperationExecution::GetStatusest déclarée commenoexcept(AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »). Par conséquent, les erreurs lors de la détermination de l'état ne doivent pas être propagées par le biais d'exceptions C++, mais doivent être signalées de manière asynchrone via le chemin d'erreur duara::core::Future. - Si l'exécution de la méthode ne réussit pas (condition « succeeded » non remplie), la composition régulière de la réponse de succès SOVD n'a pas lieu ([SWS_DM_02181]).
- L'opération en cours peut être informée d'un souhait d'interruption via l'objet
ara::diag::CancellationHandlertransmis (AUTOSAR_AP_SWS_Diagnostics §8.62 « GetStatus »).
Ce guide a été généré par une IA et s'appuie sur la spécification AUTOSAR R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand