fonction RegisterGetHandler [SWS_CM_00114] Upstream: RS_CM_00218, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138
void RegisterGetHandler (std::function< ara::core::Future< FieldType >()> handler) noexcept;
Register a callback function to be invoked when a Get() request is received. The method exists only if the offered service contains a Field and Field.hasGetter ==TRUE
Utilisation
La méthode RegisterGetHandler est appelée côté serveur sur l'objet de champ d'un skeleton ([SWS_CM_00114]). Elle n'existe dans le code généré que si un getter a été configuré pour le champ concerné dans la description d'interface (Field.hasGetter == TRUE) (EXP ARAComAPI §5.4.8.1 « Registering Getters »). Un callback handler de type std::function<ara::core::Future<FieldType>()> est transmis, lequel est appelé par l'implémentation de liaison lors d'une requête Get() entrante d'un proxy.
L'enregistrement d'un tel gestionnaire est totalement facultatif (EXP ARAComAPI §5.4.8.1 « Registering Getters »). Habituellement, l'implémentation du service ne requiert pas de gestionnaire de getter, car le Communication Management met en cache la dernière valeur définie via Update() et répond de manière autonome aux requêtes de proxy. Un gestionnaire s'avère particulièrement pertinent lorsque la détermination de la valeur du champ nécessite beaucoup de temps ou de ressources de calcul et ne doit donc être effectuée de manière asynchrone via le modèle Promise/Future qu'en cas de besoin réel.
Gestion des erreurs et conditions limites
La fonction ne possède aucune valeur de retour, est déclarée comme noexcept et est sûre vis-à-vis des exceptions (exception safe) ([SWS_CM_00114]). Si le callable transmis n'existe pas ou vaut null, l'erreur InvalidHandlerViolation est présente ([SWS_CM_00114]).
Interaction
Contrairement à RegisterSetHandler, dont l'appel est obligatoire en présence d'un setter (EXP ARAComAPI §5.4.8.2 « Registering Setters »), RegisterGetHandler demeure purement facultatif. Si le gestionnaire doit être traité de manière asynchrone dans un contexte d'exécution spécifique, la fonction modèle surchargée avec ExecutorT est disponible en complément ([SWS_CM_11360]).
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R25-11.
Guide de l'implémenteur à venir (complexité I2)
| Header-Datei | #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h" |
|---|---|
| Scope | class <SI-Namespace>::skeleton:: fields::<Field> |
| Exception-Sicherheit | exception safe |
| Verletzungen (Violations) | InvalidHandlerVio- Provided Callable handler does not exist or is null lation |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| handler | The callback function to be invoked to process the Field get request |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| None |
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/SWS_CM_00114- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_CM_00114@rel:R25-11#ffdc8796- Content hash
ffdc8796- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00114
Status: valid/unmigrated
Version: rel:R25-11#c6386380
Versionshistorie & Revisions (1 transition, 8 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_00114@rel:R25-11#c6386380
Recorded Revisions (8):
- R25-11
rel:R25-11#417163c72026-09-30 - R19-11
rel:R19-11#f07f56a32026-10-14 - R20-11
rel:R20-11#cdd125c72026-10-14 - R21-11
rel:R21-11#cdd125c72026-10-14 - R22-11
rel:R22-11#6a153b112026-10-14 - R23-11
rel:R23-11#23956e7c2026-10-14 - R24-11
rel:R24-11#5d29d0102026-10-14 - R25-11
rel:R25-11#c63863802026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · Original allemand