función 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
usar
El método RegisterGetHandler se invoca en el lado del servidor sobre el objeto de campo de un skeleton ([SWS_CM_00114]). Solo existe en el código generado si en la descripción de interfaz se ha configurado un getter para el campo en cuestión (Field.hasGetter == TRUE) (EXP ARAComAPI §5.4.8.1 «Registering Getters»). Se pasa un callback handler de tipo std::function<ara::core::Future<FieldType>()>, el cual es invocado por la implementación del binding ante una solicitud Get() entrante de un proxy.
El registro de dicho manejador es completamente opcional (EXP ARAComAPI §5.4.8.1 «Registering Getters»). Por lo general, la implementación del servicio no requiere un manejador de getter, ya que Communication Management almacena en caché el último valor establecido mediante Update() y responde a las solicitudes de proxy de forma autónoma. Un manejador tiene sentido sobre todo si la determinación del valor del campo requiere mucho tiempo o cómputo y, por lo tanto, solo debe realizarse de forma asíncrona mediante el patrón promise/future ante una necesidad real.
Tratamiento de errores y condiciones límite
La función no tiene valor de retorno, está declarada como noexcept y es segura frente a excepciones (exception safe) ([SWS_CM_00114]). Si el invocable suministrado no existe o es null, se produce el error InvalidHandlerViolation ([SWS_CM_00114]).
Interacción
A diferencia de RegisterSetHandler, cuya invocación es obligatoria si hay un setter presente (EXP ARAComAPI §5.4.8.2 «Registering Setters»), RegisterGetHandler sigue siendo puramente opcional. Si el manejador se debe procesar de forma asíncrona en un contexto de ejecución específico, se encuentra disponible adicionalmente la función de plantilla sobrecargada con ExecutorT ([SWS_CM_11360]).
Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR R25-11.
Guía del implementador pendiente (complejidad 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#2added95- Content hash
2added95- 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 en alemán