function 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
Verwendung
Die Methode RegisterGetHandler wird serverseitig am Feldobjekt eines Skeletons aufgerufen ([SWS_CM_00114]). Sie existiert ausschließlich dann im generierten Code, wenn in der Schnittstellenbeschreibung für das betreffende Feld ein Getter konfiguriert wurde (Field.hasGetter == TRUE) (EXP ARAComAPI §5.4.8.1 „Registering Getters“). Übergeben wird ein Callback handler vom Typ std::function<ara::core::Future<FieldType>()>, welcher bei einer eingehenden Get()-Anfrage eines Proxys von der Binding-Implementierung aufgerufen wird.
Die Registrierung eines solchen Handlers ist vollständig optional (EXP ARAComAPI §5.4.8.1 „Registering Getters“). Üblicherweise benötigt die Service-Implementierung keinen Getter-Handler, da das Communication Management den zuletzt per Update() gesetzten Wert zwischenspeichert und Proxy-Anfragen eigenständig beantwortet. Ein Handler ist vor allem dann sinnvoll, wenn die Ermittlung des Feldwerts zeitintensiv oder rechenaufwendig ist und daher erst bei tatsächlichem Bedarf asynchron über das Promise/Future-Muster erfolgen soll.
Fehlerbehandlung und Randbedingungen
Die Funktion besitzt keinen Rückgabewert, ist als noexcept deklariert und ausnahmesicher (exception safe) ([SWS_CM_00114]). Falls das übergebene Callable nicht existiert oder null ist, liegt der Fehler InvalidHandlerViolation vor ([SWS_CM_00114]).
Zusammenspiel
Im Gegensatz zu RegisterSetHandler, dessen Aufruf bei vorhandenem Setter verpflichtend ist (EXP ARAComAPI §5.4.8.2 „Registering Setters“), bleibt RegisterGetHandler rein optional. Soll der Handler in einem spezifischen Ausführungskontext asynchron verarbeitet werden, steht ergänzend die überladene Template-Funktion mit ExecutorT zur Verfügung ([SWS_CM_11360]).
Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR R25-11 generiert.
Implementer's Guide folgt (Komplexität 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#417163c7- Content hash
417163c7- 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-medium· 2026-10-13