DEENESPTFRRUARHIKOZHNL

structure ara::com::FindServiceHandle

[SWS_CM_00303] Upstream: RS_CM_00102

struct FindServiceHandle {...};

The exact definition of ara::com::FindServiceHandle is Communication Management implementation specific. ara::com::FindServiceHandle satisfies the [equalitycomparable] and [lessthancomparable] requirements as per [30] to allow storing and managing ara::com::FindServiceHandles by the application.

Literaturverzeichnis SWS CommunicationManagement: [30] ISO/IEC 14882:2014, Information technology – Programming languages – C++ – www.iso.org

Header-Datei#include "ara/com/service/find_service_handle.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com

Guide utilisateurGÉNÉRÉ PAR IA

Sert de jeton de contrôle pour gérer et terminer une recherche d'instances de service asynchrone en arrière-plan en cours d'exécution.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : eb9ee1985b4b Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert de jeton de contrôle pour gérer et terminer une recherche d'instances de service asynchrone en arrière-plan en cours d'exécution.

La structure ara::com::FindServiceHandle sert de jeton de contrôle unique pour commander une surveillance de service s'exécutant en arrière-plan (AUTOSAR_AP_EXP_ARAComAPI p. 34). Le constructeur par défaut étant supprimé ([SWS_CM_00353]), le handle est exclusivement créé par StartFindService et permet, après réception de rappels d'état asynchrones, d'arrêter de manière ciblée la recherche via StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30). Les opérateurs de comparaison pris en charge garantissent en outre la gestion mémorisable de plusieurs requêtes de recherche dans des conteneurs standard ([SWS_CM_11526], [SWS_CM_11527]).

Contexte

La structure ara::com::FindServiceHandle fait office, dans le module com de l'Adaptive Platform, d'identifiant unique et de jeton de contrôle pour une recherche de service asynchrone et continue. Tandis qu'une requête synchrone via FindService détermine ponctuellement les instances de service correspondantes et renvoie directement des conteneurs de handles, StartFindService initie une surveillance permanente de la disponibilité du service en arrière-plan (AUTOSAR_AP_EXP_ARAComAPI p. 34). L'instance d'application, la classe proxy spécifique au type (par exemple RadarServiceProxy) ainsi qu'une fonction de rappel personnalisée de type FindServiceHandler participent typiquement à ce processus (AUTOSAR_AP_EXP_ARAComAPI p. 30). La représentation interne concrète de ara::com::FindServiceHandle est conçue de manière spécifique à l'implémentation pour le Communication Management concerné, mais fournit des interfaces C++ standardisées pour la manipulation.

Cycle de vie

Le cycle de vie d'un ara::com::FindServiceHandle est étroitement couplé au processus de recherche actif dans le Communication Management :

  • Création : le constructeur par défaut est explicitement supprimé ([SWS_CM_00353]). Une application ne peut donc pas créer d'instances de handle non initialisées ou de sa propre initiative. Au lieu de cela, un handle valide est généré exclusivement comme charge utile d'un ara::core::Result par la méthode statique StartFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30).
  • Gestion et possession : un handle prend en charge l'affectation via l'opérateur d'affectation par copie [SWS_CM_11528]. Afin de permettre à l'application de stocker et d'organiser plusieurs requêtes de recherche dans des conteneurs standard (tels que des ensembles ordonnés ou des conteneurs associatifs), le type satisfait les concepts C++ [equalitycomparable] et [lessthancomparable] via les opérateurs operator== ([SWS_CM_11526]) et operator< ([SWS_CM_11527]).
  • Terminaison et destruction : le handle reste valide tant que la surveillance en arrière-plan est active. L'arrêt de la recherche s'effectue en transmettant le handle à StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34). Après cet appel, le handle ne représente plus aucun processus de recherche en cours.

Parcours d'utilisation

Le déroulement régulier comprend l'enregistrement de la requête de recherche, la réception continue des mises à jour de disponibilité et l'arrêt ordonné du processus de surveillance :

  1. Démarrage de la recherche : l'application enregistre un FindServiceHandler via StartFindService afin d'être informée des instances de service nouvellement disponibles ou disparaissant (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34).
  2. Obtention du descripteur : en cas de démarrage réussi, l'appel renvoie un ara::core::Result avec le FindServiceHandle (AUTOSAR_AP_EXP_ARAComAPI p. 30), que l'application conserve pour de futurs appels de contrôle.
  3. Notification asynchrone : le Communication Management exécute la recherche en arrière-plan et appelle le gestionnaire fourni lors des changements d'état (AUTOSAR_AP_EXP_ARAComAPI p. 34).
  4. Arrêt de la recherche : dès que les instances ont été trouvées ou que la surveillance n'est plus nécessaire, l'application transmet le descripteur à StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34).
Déroulement de la recherche asynchrone de service avec FindServiceHandleApplikationProxyFindServiceHandlerStartFindService(handler)Result<FindServiceHandle>Use Case: Surveillance en arrière-plan activeNotification sur les instancesUse Case: Fin de la surveillanceStopFindService(handle)

Diagramme de séquence : déroulement typique de la recherche asynchrone de services, de l'enregistrement jusqu'à l'arrêt via FindServiceHandle en passant par les notifications. Sources : AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34.

Scénarios d'erreur

Lors de l'utilisation de ara::com::FindServiceHandle, les contraintes spécifiques au système suivantes doivent être prises en compte :

  • Échec du démarrage de la recherche : si les liaisons techniques ne sont pas disponibles ou si la configuration de déploiement du service est incorrecte (AUTOSAR_AP_EXP_ARAComAPI p. 34), StartFindService échoue. Dans ce cas, le ara::core::Result renvoyé ne contient pas de descripteur valide, mais un code d'erreur (AUTOSAR_AP_EXP_ARAComAPI p. 30).
  • Sécurité vis-à-vis des exceptions : les opérateurs de comparaison et d'affectation implémentés operator== ([SWS_CM_11526]), operator< ([SWS_CM_11527]) et operator= ([SWS_CM_11528]) sont explicitement déclarés dans la spécification comme n'étant pas sûrs vis-à-vis des exceptions (not exception safe).
  • Arrêt multiple : un appel répété de StopFindService avec le même descripteur devrait probablement rester sans effet ou entraîner une erreur d'exécution, car l'activité de surveillance sous-jacente a déjà été supprimée. Question Q-f44130c33fa1caea (ouverte)

Ce guide est basé sur la spécification AUTOSAR pour l'Adaptive Platform (Release R25-11). Les interfaces et comportements présentés s'appuient sur les exigences SWS et les descriptions d'API référencées.

Carte des membres

Constructeurs et destructeur

1

Diagramme de classes

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__com__FindServiceHandle138 «struct» FindServiceHandle + FindServiceHandle() + operator=() + operator<() + operator==()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

Default constructor deletion

FindServiceHandle ()=delete;

Opérateurs

operator< fonction

LessThan operator as per [lessthancomparable] in [30]

bool operator< (const FindServiceHandle &other) const;
operator= fonction

Copy assignment constructor

FindServiceHandle & operator= (const FindServiceHandle &other);
operator== fonction

Equality operator as per [equalitycomparable] in [30]

bool operator== (const FindServiceHandle &other) const;

Documentation des méthodes

fonction FindServiceHandle [SWS_CM_00353] Upstream: RS_AP_00146

FindServiceHandle ()=delete;

Default constructor deletion

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00353
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00353@rel:R25-11#201abd64
Content hash
201abd64
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00353
Status: valid/unmigrated Version: rel:R25-11#8a450052 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00353@rel:R25-11#8a450052
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b1f430d12026-09-30
  • R23-11rel:R23-11#604163032026-10-14
  • R24-11rel:R24-11#8a4500522026-10-14
  • R25-11rel:R25-11#8a4500522026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator< [SWS_CM_11527]

bool operator< (const FindServiceHandle &other) const;

LessThan operator as per [lessthancomparable] in [30]

Literaturverzeichnis SWS CommunicationManagement: [30] ISO/IEC 14882:2014, Information technology – Programming languages – C++ – www.iso.org

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle
Exception-Sicherheitnot exception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::FindServiceHandle to compare

Rückgabewert

TypBeschreibung
boolTRUE if other is less than *this, FALSE otherwise.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11527
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11527@rel:R25-11#273a3dc8
Content hash
273a3dc8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11527
Status: valid/unmigrated Version: rel:R25-11#b1ec1ec0 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_11527@rel:R25-11#b1ec1ec0
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#9b3fc18e2026-09-30
  • R24-11rel:R24-11#2bb55cbe2026-10-14
  • R25-11rel:R25-11#b1ec1ec02026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator= [SWS_CM_11528]

FindServiceHandle & operator= (const FindServiceHandle &other);

Copy assignment constructor

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle
Exception-Sicherheitnot exception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::FindServiceHandle to copy

Rückgabewert

TypBeschreibung
FindServiceHandle &New ara::com::FindServiceHandle

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11528
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11528@rel:R25-11#9eeb1072
Content hash
9eeb1072
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11528
Status: valid/unmigrated Version: rel:R25-11#847556b4 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_11528@rel:R25-11#847556b4
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#414d7a6c2026-09-30
  • R24-11rel:R24-11#f73bf3482026-10-14
  • R25-11rel:R25-11#847556b42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction operator== [SWS_CM_11526]

bool operator== (const FindServiceHandle &other) const;

Equality operator as per [equalitycomparable] in [30]

Literaturverzeichnis SWS CommunicationManagement: [30] ISO/IEC 14882:2014, Information technology – Programming languages – C++ – www.iso.org

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle
Exception-Sicherheitnot exception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::FindServiceHandle to compare

Rückgabewert

TypBeschreibung
boolTRUE if other is equal to *this, FALSE otherwise.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11526
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11526@rel:R25-11#577ec835
Content hash
577ec835
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11526
Status: valid/unmigrated Version: rel:R25-11#d2ea98ee Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_11526@rel:R25-11#d2ea98ee
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#d9c8643c2026-09-30
  • R24-11rel:R24-11#491d93d72026-10-14
  • R25-11rel:R25-11#d2ea98ee2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill