DEENESPTFRRUARHIKOZHNL

estructura 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

Guía del usuarioGENERADO POR IA

Sirve como token de control para gestionar y finalizar una búsqueda asíncrona en segundo plano de instancias de servicio en curso.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: eb9ee1985b4b Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve como token de control para gestionar y finalizar una búsqueda asíncrona en segundo plano de instancias de servicio en curso.

La estructura ara::com::FindServiceHandle sirve como un token de control unívoco para dirigir la monitorización de servicios en ejecución en segundo plano (AUTOSAR_AP_EXP_ARAComAPI p. 34). Dado que el constructor predeterminado está eliminado ([SWS_CM_00353]), el identificador es generado exclusivamente por StartFindService y permite, tras recibir callbacks de estado asíncronos, la finalización selectiva de la búsqueda a través de StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30). Los operadores de comparación admitidos garantizan, además, la gestión almacenable de múltiples solicitudes de búsqueda en contenedores estándar ([SWS_CM_11526], [SWS_CM_11527]).

Contexto

La estructura ara::com::FindServiceHandle actúa en el módulo com de la Adaptive Platform como un identificador unívoco y token de control para una búsqueda de servicios continua y asíncrona. Mientras que una consulta síncrona a través de FindService determina por única vez las instancias de servicio coincidentes y devuelve directamente contenedores de identificadores, StartFindService inicia una monitorización permanente de la disponibilidad del servicio en segundo plano (AUTOSAR_AP_EXP_ARAComAPI p. 34). En este proceso intervienen típicamente la instancia de la aplicación, la clase proxy específica del tipo (por ejemplo, RadarServiceProxy) y una función de callback definida por el usuario de tipo FindServiceHandler (AUTOSAR_AP_EXP_ARAComAPI p. 30). La representación interna concreta de ara::com::FindServiceHandle está diseñada de forma específica para la implementación del Communication Management correspondiente, pero proporciona interfaces de C++ estandarizadas para su manejo.

Ciclo de vida

El ciclo de vida de un ara::com::FindServiceHandle está estrictamente vinculado al proceso de búsqueda activo en el Communication Management:

  • Creación: El constructor predeterminado está explícitamente eliminado ([SWS_CM_00353]). Por lo tanto, una aplicación no puede crear instancias de identificadores sin inicializar o de forma autónoma. En su lugar, la llamada estática al método StartFindService genera un identificador válido exclusivamente como carga útil de un ara::core::Result (AUTOSAR_AP_EXP_ARAComAPI p. 30).
  • Gestión y propiedad: Un identificador admite la asignación a través del operador de asignación por copia [SWS_CM_11528]. Para permitir que la aplicación almacene y organice múltiples solicitudes de búsqueda en contenedores estándar (como conjuntos ordenados o memorias asociativas), el tipo cumple con los conceptos de C++ [equalitycomparable] y [lessthancomparable] mediante los operadores operator== ([SWS_CM_11526]) y operator< ([SWS_CM_11527]).
  • Finalización y destrucción: El identificador conserva su validez mientras la monitorización en segundo plano esté activa. La finalización de la búsqueda se realiza pasando el identificador a StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34). Después de esta llamada, el identificador ya no representa ningún proceso de búsqueda en ejecución.

Ruta de uso

El flujo regular comprende el registro de la solicitud de búsqueda, la recepción continua de actualizaciones de disponibilidad y la detención ordenada del proceso de monitorización:

  1. Inicio de la búsqueda: La aplicación registra un FindServiceHandler mediante StartFindService para ser informada sobre instancias de servicio recién disponibles o que dejan de estarlo (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34).
  2. Obtención del identificador: En caso de un inicio correcto, la llamada devuelve un ara::core::Result con el FindServiceHandle (AUTOSAR_AP_EXP_ARAComAPI p. 30), que la aplicación conserva para posteriores llamadas de control.
  3. Notificación asíncrona: El Communication Management ejecuta la búsqueda en segundo plano y llama al gestor provisto ante cambios de estado (AUTOSAR_AP_EXP_ARAComAPI p. 34).
  4. Detención de la búsqueda: Tan pronto como se han encontrado las instancias o la monitorización ya no es necesaria, la aplicación pasa el identificador a StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34).
Flujo de la búsqueda asíncrona de servicios con FindServiceHandleApplikationProxyFindServiceHandlerStartFindService(handler)Result<FindServiceHandle>Use Case: Supervisión en segundo plano activaNotificación sobre instanciasUse Case: Finalización de la supervisiónStopFindService(handle)

Diagrama de secuencia: Flujo típico de la búsqueda asíncrona de servicios, desde el registro y las notificaciones hasta la finalización mediante FindServiceHandle. Fuentes: AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34.

Escenarios de error

Al utilizar ara::com::FindServiceHandle, se deben tener en cuenta las siguientes condiciones de contorno específicas del sistema:

  • Inicio de búsqueda fallido: Si los enlaces técnicos no están disponibles o la configuración de despliegue del servicio es errónea (AUTOSAR_AP_EXP_ARAComAPI p. 34), StartFindService falla. En este caso, el ara::core::Result devuelto no contiene un identificador válido, sino un código de error (AUTOSAR_AP_EXP_ARAComAPI p. 30).
  • Seguridad frente a excepciones: Los operadores de comparación y asignación implementados operator== ([SWS_CM_11526]), operator< ([SWS_CM_11527]) y operator= ([SWS_CM_11528]) están declarados explícitamente en la especificación como no seguros frente a excepciones (not exception safe).
  • Detención múltiple: Presumiblemente, una llamada repetida a StopFindService con el mismo identificador no tendría efecto o provocaría un error en tiempo de ejecución, ya que la actividad de monitorización subyacente ya se ha eliminado. Pregunta Q-f44130c33fa1caea (abierta)

Esta guía se basa en la especificación AUTOSAR para la Adaptive Platform (Release R25-11). Las interfaces y los comportamientos presentados se sustentan en los requisitos de SWS y las descripciones de la API referenciados.

Mapa de miembros

Constructores y destructor

1

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Default constructor deletion

FindServiceHandle ()=delete;

Operadores

operator< función

LessThan operator as per [lessthancomparable] in [30]

bool operator< (const FindServiceHandle &other) const;
operator= función

Copy assignment constructor

FindServiceHandle & operator= (const FindServiceHandle &other);
operator== función

Equality operator as per [equalitycomparable] in [30]

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

Documentación de los métodos

función 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#fbbf817b
Content hash
fbbf817b
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

función 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#ce308a40
Content hash
ce308a40
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

función 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#f19f621f
Content hash
f19f621f
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

función 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#55767eb2
Content hash
55767eb2
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