DEENESPTFRRUARHIKOZHNL

clase ara::diag::ClientAuthenticationHandle

[SWS_DM_01145] Upstream: RS_Diag_04251

class ClientAuthenticationHandle final {...};

Definition of the ClientAuthenticationHandle which is returned to the application when an AuthenticationState is set by the application.

Header-Datei#include "ara/diag/client_authentication_handle.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

Guía del usuarioGENERADO POR IA

Gestiona derechos de diagnóstico dinámicos, temporizadores de sesión y la revocación de la autenticación de un cliente de diagnóstico.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ceee534cb2db Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Gestiona derechos de diagnóstico dinámicos, temporizadores de sesión y la revocación de la autenticación de un cliente de diagnóstico.

La clase ara::diag::ClientAuthenticationHandle sirve a la aplicación para gestionar una sesión de autenticación activa de un cliente de diagnóstico [SWS_DM_01206]. A través de este handle, la aplicación configura listas de acceso dinámicas y renueva los temporizadores de inactividad del cliente [SWS_DM_01213]. El objeto sigue una semántica de movimiento estricta sin posibilidad de copia y notifica errores mediante DiagErrc::kServiceNotAvailable en caso de que la gestión de diagnóstico no esté disponible. Mediante la llamada a Revoke, los roles asignados y los derechos adicionales pueden revocarse de forma controlada en cualquier momento.

Contexto

La clase de la API ara::diag::ClientAuthenticationHandle está definida en el archivo de cabecera ara/diag/client_authentication_handle.h [SWS_DM_01145]. Funciona como objeto de control central que se pone a disposición de una aplicación de diagnóstico a través de la instancia del Diagnostic Server tan pronto como un cliente se ha autenticado con éxito o sus roles predeterminados se han sobrescrito temporalmente AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle».

Durante el inicio del sistema, un cliente se encuentra por defecto en el estado kDeAuthenticated [SWS_DM_01205] con roles predeterminados preconfigurados [SWS_DM_01204]. Si la aplicación llama a ara::diag::ClientAuthentication::Authenticate, el Diagnostic Server pasa el cliente al estado kAuthenticated y devuelve un ara::diag::ClientAuthenticationHandle [SWS_DM_01206]. Del mismo modo, al llamar a ara::diag::ClientAuthentication::OverrideDefaultRoles para la adaptación temporal de los roles, se genera dicho handle [SWS_DM_01209]. A través del handle, la aplicación controla el estado de autenticación y la lista de acceso dinámica (DynamicAccessList), la cual concede a un cliente autenticado derechos de acceso adicionales a recursos de diagnóstico más allá del extracto de diagnóstico AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle».

diag_auth_context Anwendung Anwendung ClientAuthenticationHandle ClientAuthenticationHandle Anwendung->ClientAuthenticationHandle steuert Zugriff DiagnosticServer DiagnosticServer ClientAuthenticationHandle->DiagnosticServer aktualisiert Sitzung DiagnoseClient DiagnoseClient DiagnoseClient->DiagnosticServer sendet UDS-Anfragen

Diagrama de contexto: interacción entre la aplicación, ClientAuthenticationHandle y el Diagnostic Server. Fuentes: [SWS_DM_01206], [SWS_DM_01209], AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle»

Ciclo de vida

La instanciación de ara::diag::ClientAuthenticationHandle se realiza habitualmente mediante métodos de fábrica del Diagnostic Server en el curso de Authenticate [SWS_DM_01206] o OverrideDefaultRoles [SWS_DM_01209]. De forma complementaria, la clase proporciona un constructor predeterminado sin parámetros [SWS_DM_01146]; presumiblemente, un objeto creado de este modo actuaría como marcador de posición no vinculado hasta que se le transfiera un handle activo mediante asignación por movimiento. Pregunta Q-74f44c072616cce9 (abierta)

En cuanto a las relaciones de propiedad, la clase implementa una estricta semántica de movimiento: el constructor de movimiento [SWS_DM_01148] y el operador de asignación por movimiento [SWS_DM_01149] están definidos como noexcept = default. La copia está completamente impedida, ya que el constructor de copia [SWS_DM_01150] y el operador de asignación por copia [SWS_DM_01151] están eliminados (=delete). La liberación de la instancia se realiza a través del destructor ~ClientAuthenticationHandle() [SWS_DM_01147].

Respecto a la concurrencia, el constructor predeterminado está especificado como seguro para subprocesos (thread-safe) [SWS_DM_01146]. Por el contrario, el destructor [SWS_DM_01147] así como todas las llamadas a métodos que modifican el estado están identificados como no seguros para subprocesos (not thread-safe) [SWS_DM_01152], [SWS_DM_01153], [SWS_DM_01154], [SWS_DM_01155]. Por lo tanto, el acceso concurrente al mismo handle requiere sincronización por parte de la aplicación.

Ruta de uso

El flujo típico en tiempo de ejecución incluye la configuración de derechos dinámicos, el mantenimiento de la autorización y la finalización controlada:

  1. Obtener handle: la aplicación inicia la autenticación en ara::diag::ClientAuthentication y recibe la instancia del handle [SWS_DM_01206].
  2. Establecer o ampliar la lista de acceso: mediante el método Set, la aplicación sustituye por completo la lista de acceso dinámica de una conversación de diagnóstico [SWS_DM_01153], [SWS_DM_01213]. Como alternativa, Append añade patrones de diagnóstico adicionales a una lista de acceso existente [SWS_DM_01152] AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.4 «DynamicAccessList Creation and Update».
  3. Renovar actividad: en caso de inactividad en la sesión estándar, tras transcurrir el tiempo de espera de inactividad existe el riesgo de volver automáticamente a kDeAuthenticated [SWS_DM_01210]. Mediante la llamada a Refresh, la aplicación prolonga los temporizadores iniciados por Authenticate o OverrideDefaultRoles [SWS_DM_01155] AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle».
  4. Revocar autorizaciones: con Revoke, la aplicación desautentica explícitamente al cliente, elimina la DynamicAccessList asociada y restablece los roles predeterminados sobrescritos [SWS_DM_01154].
Control de autenticación y acceso mediante ClientAuthenticationHandleAplicaciónClientAuthenticationClientAuthenticationHandleDiagnosticServerUse Case: Autenticación y provisión de handleAuthenticate(roles)Establecer estado en kAuthenticatedClientAuthenticationHandleUse Case: Configuración de permisos y actualización del temporizadorSet(dynamicAccessList)DynamicAccessList ersetzenResult<void>Refresh()Inaktivitaetstimer zuruecksetzenResult<void>Use Case: SitzungsbeendigungRevoke()kDeAuthenticated & Rechte loeschenResult<void>

Diagrama de secuencia: flujo para la autenticación, la gestión de derechos y la revocación a través del handle. Fuentes: [SWS_DM_01206], [SWS_DM_01153], [SWS_DM_01155], [SWS_DM_01154]

Escenarios de error

Los métodos operativos Set [SWS_DM_01153], Append [SWS_DM_01152], Refresh [SWS_DM_01155] y Revoke [SWS_DM_01154] devuelven respectivamente ara::core::Result<void> y están declarados como noexcept así como seguros contra excepciones (exception safe).

Si la comunicación o la ejecución fallan debido a que funcionalidades esenciales del Diagnostic Manager no están disponibles en ese momento, las llamadas devuelven el código de error DiagErrc::kServiceNotAvailable [SWS_DM_01152], [SWS_DM_01153], [SWS_DM_01154], [SWS_DM_01155]. En este caso se aplica una semántica de reversión (rollback), de modo que no queden modificaciones parciales incoherentes en el estado de autenticación o en las listas de acceso del cliente.

Se basa en la especificación de la interfaz de diagnóstico de AUTOSAR Adaptive R25-11.

Mapa de miembros

Diagrama de clases

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

G nara__diag__ClientAuthenticationHandle939 ClientAuthenticationHandle + ClientAuthenticationHandle() + ~ClientAuthenticationHandle() + Append() + Refresh() + Revoke() + Set() + operator=()

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Constructor of ClientAuthenticationHandle.

Sobrecargas ClientAuthenticationHandle 3
ClientAuthenticationHandle () noexcept; SWS_DM_01146
ClientAuthenticationHandle (ClientAuthenticationHandle &&other) noexcept=default; SWS_DM_01148
ClientAuthenticationHandle (ClientAuthenticationHandle const &other)=delete; SWS_DM_01150

Destructor of ClientAuthenticationHandle.

Métodos

Append función

This function is used by the application to append a DynamicAccessList to the already existing DynamicAccessList of a Diagnostic Conversation.

ara::core::Result< void > Append (DiagnosticServiceDynamicAccessList dynamicAccessList) noexcept;
Refresh función

This function is used by the application to refresh the timer that was started by Authenticate or OverrideDefaultRoles. If both Methods were previously called, both timers are refreshed.

ara::core::Result< void > Refresh () noexcept;
Revoke función

This function is used by the application to de-authenticate a client, and also to clear the Dynamic AccessList and any overridden defaults.

ara::core::Result< void > Revoke () noexcept;
Set función

This function is used by the application to set/replace a DynamicAccessList of a Diagnostic Conversation.

ara::core::Result< void > Set (DiagnosticServiceDynamicAccessList dynamicAccessList) noexcept;

Operadores

operator= función 2

Move assignment operator of ClientAuthenticationHandle.

Sobrecargas = 2
auto operator= (ClientAuthenticationHandle &&other) & noexcept -> ClientAuthenticationHandle & =default; SWS_DM_01149
auto operator= (ClientAuthenticationHandle const &other) -> Client AuthenticationHandle &=delete; SWS_DM_01151

Documentación de los métodos

función Append [SWS_DM_01152] Upstream: RS_Diag_04251

ara::core::Result< void > Append (DiagnosticServiceDynamicAccessList dynamicAccessList) noexcept;

This function is used by the application to append a DynamicAccessList to the already existing DynamicAccessList of a Diagnostic Conversation.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ecc404bb2530 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método Append de la clase ara::diag::ClientAuthenticationHandle es utilizado por las aplicaciones para anexar una lista de acceso dinámica (dynamicAccessList) a la DynamicAccessList ya existente de una conversación de diagnóstico activa [SWS_DM_01152]. La interfaz se proporciona mediante la cabecera ara/diag/client_authentication_handle.h AUTOSAR_AP_SWS_Diagnostics §8.6.1.1.3.1 «Append».

La llamada se ejecuta de forma síncrona y está especificada como noexcept [SWS_DM_01152]. Como parámetro de entrada, la función recibe una DiagnosticServiceDynamicAccessList. El tipo de retorno ara::core::Result<void> señala la finalización satisfactoria o, en caso de fallo, transporta el código de error DiagErrc::kServiceNotAvailable [SWS_DM_01152]. Este último indica que funciones esenciales de Diagnostic Management no están disponibles actualmente. Para este caso de fallo rige una semántica de rollback, de modo que se conserva el estado previo de la lista de acceso [SWS_DM_01152].

En relación con la concurrencia, la operación se considera segura frente a excepciones (exception safe), pero está clasificada expresamente como no segura para hilos (not thread-safe) [SWS_DM_01152]. En caso de accesos paralelos al mismo objeto handle, es probable que se requiera una sincronización externa por parte de la aplicación invocadora. Pregunta Q-f0da9a0538a86a16 (abierta)

Esta nota de uso se generó automáticamente y se basa exclusivamente en los datos de especificación de AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I1)

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
dynamicAccessListThe DynamicAccessList to be appended in the client.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01152
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01152@rel:R25-11#59a117a4
Content hash
59a117a4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01152
Status: valid/unmigrated Version: rel:R25-11#760cf1a2 Versionshistorie & Revisions (1 transition, 6 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_DM_01152@rel:R25-11#760cf1a2
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#5fbe369d2026-09-30
  • R21-11rel:R21-11#fe6687392026-10-14
  • R22-11rel:R22-11#4d5753f62026-10-14
  • R23-11rel:R23-11#85d630192026-10-14
  • R24-11rel:R24-11#e44623a72026-10-14
  • R25-11rel:R25-11#760cf1a22026-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 ClientAuthenticationHandle [SWS_DM_01146] Upstream: RS_Diag_04251

ClientAuthenticationHandle () noexcept;

Constructor of ClientAuthenticationHandle.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 970d47856338 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El constructor por defecto síncrono [SWS_DM_01146] crea una instancia de la clase ara::diag::ClientAuthenticationHandle. La llamada no recibe parámetros de transferencia y no devuelve ningún valor. La función está declarada como noexcept y especificada como segura para subprocesos (thread-safe) y segura frente a excepciones [SWS_DM_01146], por lo que no se producen códigos de error ni excepciones durante la creación.

Para la transmisión y el ciclo de vida del objeto creado se aplican las siguientes restricciones:

En el sistema global, el Diagnostic Server proporciona de forma regular handles activos vinculados a un cliente a través de Authenticate [SWS_DM_01142] o OverrideDefaultRoles [SWS_DM_01141] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle»). Por lo tanto, un ejemplar creado mediante el constructor por defecto debería servir como marcador de posición no vinculado que solo recibe un handle válido para controlar las listas de acceso tras una posterior asignación de movimiento [SWS_DM_01149]. Pregunta Q-ce182402bd1d4072 (abierta)

Este texto ha sido generado por una IA a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I2)

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_01146
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01146@rel:R25-11#1284c971
Content hash
1284c971
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01146
Status: valid/unmigrated Version: rel:R25-11#e53f888a Versionshistorie & Revisions (1 transition, 6 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_DM_01146@rel:R25-11#e53f888a
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#343d84612026-09-30
  • R21-11rel:R21-11#382fc8b12026-10-14
  • R22-11rel:R22-11#1b1476a42026-10-14
  • R23-11rel:R23-11#ae2414252026-10-14
  • R24-11rel:R24-11#2fa9197f2026-10-14
  • R25-11rel:R25-11#e53f888a2026-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 ClientAuthenticationHandle [SWS_DM_01148] Upstream: RS_Diag_04251

ClientAuthenticationHandle (ClientAuthenticationHandle &&other) noexcept=default;

Move constructor of ClientAuthenticationHandle.

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherObject to move-construct from

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

Record
AUTOSAR/AP/record/SWS_DM_01148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01148@rel:R25-11#aae4c08b
Content hash
aae4c08b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01148
Status: valid/unmigrated Version: rel:R25-11#61fab40f Versionshistorie & Revisions (1 transition, 6 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_DM_01148@rel:R25-11#61fab40f
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#398da6ac2026-09-30
  • R21-11rel:R21-11#4ded0cd12026-10-14
  • R22-11rel:R22-11#6906c58f2026-10-14
  • R23-11rel:R23-11#9b4b55cb2026-10-14
  • R24-11rel:R24-11#ce30ca042026-10-14
  • R25-11rel:R25-11#61fab40f2026-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 ClientAuthenticationHandle [SWS_DM_01150] Upstream: RS_Diag_04251

ClientAuthenticationHandle (ClientAuthenticationHandle const &other)=delete;

Copy constructor of ClientAuthenticationHandle cannot be used.

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle

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

Record
AUTOSAR/AP/record/SWS_DM_01150
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01150@rel:R25-11#82083b0b
Content hash
82083b0b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01150
Status: valid/unmigrated Version: rel:R25-11#5c00c5f2 Versionshistorie & Revisions (1 transition, 6 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_DM_01150@rel:R25-11#5c00c5f2
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#b2ba2b412026-09-30
  • R21-11rel:R21-11#be3428ad2026-10-14
  • R22-11rel:R22-11#7ad065b42026-10-14
  • R23-11rel:R23-11#f8cce9ac2026-10-14
  • R24-11rel:R24-11#5c00c5f22026-10-14
  • R25-11rel:R25-11#5c00c5f22026-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 Refresh [SWS_DM_01155] Upstream: RS_Diag_04251

ara::core::Result< void > Refresh () noexcept;

This function is used by the application to refresh the timer that was started by Authenticate or OverrideDefaultRoles. If both Methods were previously called, both timers are refreshed.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8c9744884d32 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método Refresh de la clase ara::diag::ClientAuthenticationHandle (archivo de cabecera #include "ara/diag/client_authentication_handle.h") sirve para que una aplicación prolongue temporizadores activos de autenticación o de rol (AUTOSAR_AP_SWS_Diagnostics §8.6.1.1.3.2 «Refresh»). Restablece el temporizador iniciado previamente por Authenticate o OverrideDefaultRoles. Si antes se llamaron ambos métodos, mediante la llamada se renuevan ambos temporizadores simultáneamente [SWS_DM_01155].

La llamada síncrona (interpretación: retorno directo sin futuro asíncrono) se realiza sin parámetros sobre una instancia existente de ClientAuthenticationHandle, la cual ha recibido la aplicación desde el servidor de diagnóstico tras la finalización exitosa de Authenticate o OverrideDefaultRoles (AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle»). Pregunta Q-b07e81ff4629ada7 (abierta) La función está declarada como noexcept y es segura frente a excepciones (exception safe), pero está especificada como no segura para subprocesos (not thread-safe) [SWS_DM_01155]. Por lo tanto, las llamadas concurrentes en la misma instancia deben ser sincronizadas por el invocador.

Si la operación falla, la función devuelve el código de error DiagErrc::kServiceNotAvailable mediante ara::core::Result<void> [SWS_DM_01155]. Esto indica mediante semántica de reversión que la llamada no se pudo ejecutar porque funcionalidades esenciales de Diagnostic Management (DM) no están disponibles en ese momento [SWS_DM_01155].

Esta nota de uso se generó automáticamente a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I2)

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01155
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01155@rel:R25-11#835757ca
Content hash
835757ca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01155
Status: valid/unmigrated Version: rel:R25-11#336ea0d5 Versionshistorie & Revisions (1 transition, 6 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_DM_01155@rel:R25-11#336ea0d5
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#b5659ac02026-09-30
  • R21-11rel:R21-11#f05c61ca2026-10-14
  • R22-11rel:R22-11#2739c0e72026-10-14
  • R23-11rel:R23-11#ebcd83152026-10-14
  • R24-11rel:R24-11#aa896f602026-10-14
  • R25-11rel:R25-11#336ea0d52026-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 Revoke [SWS_DM_01154] Upstream: RS_Diag_04251

ara::core::Result< void > Revoke () noexcept;

This function is used by the application to de-authenticate a client, and also to clear the Dynamic AccessList and any overridden defaults.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 97421a5ce76e Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método síncrono Revoke de la clase ara::diag::ClientAuthenticationHandle (SWS Diagnostics §8.6.1.1.3.3 «Revoke») sirve para que las aplicaciones desautentiquen un cliente de diagnóstico previamente autenticado y descarten por completo su lista de acceso dinámica (DynamicAccessList) y los roles estándar sobrescritos ([SWS_DM_01154], [SWS_DM_01216]).

La función carece de parámetros de transferencia y devuelve un ara::core::Result<void> ([SWS_DM_01154]). En caso de éxito, finaliza el estado de autenticación del cliente. Si una funcionalidad esencial del Diagnostic Manager no está disponible en el momento de la llamada, la operación falla y devuelve el error DiagErrc::kServiceNotAvailable con semántica de rollback ([SWS_DM_01154]).

En cuanto a la concurrencia, la interfaz está especificada como segura frente a excepciones (exception safe), pero como no segura para hilos (not thread-safe) ([SWS_DM_01154]). Interpretación: En caso de accesos concurrentes a la misma instancia de handle desde varios hilos, es probable que la aplicación invocadora deba garantizar una sincronización externa. Pregunta Q-8781261c9a2f5f8e (abierta)

En el flujo global, la instancia de ClientAuthenticationHandle se proporciona a la aplicación tras una autenticación satisfactoria o tras la sobrescritura de roles estándar por parte de la instancia de Diagnostic Server (SWS Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle»). Mientras que el handle activo permite, además de la revocación, la sustitución ([SWS_DM_01213]) o ampliación ([SWS_DM_01215]) de la DynamicAccessList, Revoke pone fin de forma definitiva a estas autorizaciones del cliente.

Este texto ha sido generado por una IA a partir de la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad I1)

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01154
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01154@rel:R25-11#42088891
Content hash
42088891
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01154
Status: valid/unmigrated Version: rel:R25-11#d654e83e Versionshistorie & Revisions (1 transition, 6 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_DM_01154@rel:R25-11#d654e83e
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#0fc0c68f2026-09-30
  • R21-11rel:R21-11#341b16582026-10-14
  • R22-11rel:R22-11#b81da6112026-10-14
  • R23-11rel:R23-11#4f5f61352026-10-14
  • R24-11rel:R24-11#6d88b2f82026-10-14
  • R25-11rel:R25-11#d654e83e2026-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 Set [SWS_DM_01153] Upstream: RS_Diag_04251

ara::core::Result< void > Set (DiagnosticServiceDynamicAccessList dynamicAccessList) noexcept;

This function is used by the application to set/replace a DynamicAccessList of a Diagnostic Conversation.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8ef0a8bd09d8 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método síncrono Set de la clase ara::diag::ClientAuthenticationHandle ([SWS_DM_01153]) sirve para que una aplicación establezca o sustituya por completo la lista de acceso dinámica (DynamicAccessList) para una conversación de diagnóstico o para un cliente autenticado en el Diagnostic Server ([SWS_DM_01213]). El Diagnostic Manager mantiene para cada cliente autenticado una DynamicAccessList de este tipo, la cual puede conceder al cliente derechos de acceso adicionales a recursos de diagnóstico más allá de la configuración depositada en el Diagnostic Extract (AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle»).

En su utilización son determinantes los siguientes aspectos:

  • Contexto de invocación y parámetros: La función se invoca sobre una instancia de ara::diag::ClientAuthenticationHandle (declarada en #include "ara/diag/client_authentication_handle.h"). Dicha instancia de handle se proporciona a la aplicación cuando con anterioridad ha concluido con éxito bien ara::diag::ClientAuthentication::Authenticate ([SWS_DM_01206]) o bien ara::diag::ClientAuthentication::OverrideDefaultRoles ([SWS_DM_01209]). Como único parámetro de transferencia se pasa dynamicAccessList de tipo DiagnosticServiceDynamicAccessList, la cual define la nueva lista de acceso ([SWS_DM_01153]).
  • Valor de retorno y tratamiento de errores: El método está especificado como noexcept y devuelve un ara::core::Result<void>. Opera con semántica de rollback: si la invocación no puede ejecutarse porque la funcionalidad esencial de DM no está disponible actualmente, la llamada falla con el código de error DiagErrc::kServiceNotAvailable ([SWS_DM_01153]). Respecto al tratamiento de excepciones, el método está catalogado como seguro frente a excepciones (exception safe).
  • Concurrencia: La operación está definida explícitamente como no segura para hilos (not thread-safe) ([SWS_DM_01153]). Si se realizan llamadas concurrentes sobre la misma instancia de handle desde múltiples hilos, la sincronización necesaria recae sobre la aplicación.

Esta nota de uso fue generada automáticamente sobre la base de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
dynamicAccessListThe new DynamicAccessList to be set in the client.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01153
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01153@rel:R25-11#4911040e
Content hash
4911040e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01153
Status: valid/unmigrated Version: rel:R25-11#6e0f3d93 Versionshistorie & Revisions (1 transition, 6 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_DM_01153@rel:R25-11#6e0f3d93
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#850c01d82026-09-30
  • R21-11rel:R21-11#4dff11b12026-10-14
  • R22-11rel:R22-11#5a0f43622026-10-14
  • R23-11rel:R23-11#768f7ce22026-10-14
  • R24-11rel:R24-11#bac10bed2026-10-14
  • R25-11rel:R25-11#6e0f3d932026-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_DM_01149] Upstream: RS_Diag_04251

auto operator= (ClientAuthenticationHandle &&other) & noexcept -> ClientAuthenticationHandle & =default;

Move assignment operator of ClientAuthenticationHandle.

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherObject to move-assign from.

Rückgabewert

TypBeschreibung
ClientAuthenticationHandleClientAuthenticationHandle& Reference to self.

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

Record
AUTOSAR/AP/record/SWS_DM_01149
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01149@rel:R25-11#b165d5b9
Content hash
b165d5b9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01149
Status: valid/unmigrated Version: rel:R25-11#6d429c60 Versionshistorie & Revisions (1 transition, 6 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_DM_01149@rel:R25-11#6d429c60
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#825bafd02026-09-30
  • R21-11rel:R21-11#6b6602162026-10-14
  • R22-11rel:R22-11#7c114d032026-10-14
  • R23-11rel:R23-11#f26ac2222026-10-14
  • R24-11rel:R24-11#13552b832026-10-14
  • R25-11rel:R25-11#6d429c602026-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_DM_01151] Upstream: RS_Diag_04251

auto operator= (ClientAuthenticationHandle const &other) -> Client AuthenticationHandle &=delete;

Copy assignment operator of CancellationHandler cannot be used.

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle

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

Record
AUTOSAR/AP/record/SWS_DM_01151
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01151@rel:R25-11#c286a7e5
Content hash
c286a7e5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01151
Status: valid/unmigrated Version: rel:R25-11#41e0cc7a Versionshistorie & Revisions (1 transition, 6 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_DM_01151@rel:R25-11#41e0cc7a
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#e7f217352026-09-30
  • R21-11rel:R21-11#e234b1652026-10-14
  • R22-11rel:R22-11#8556e28c2026-10-14
  • R23-11rel:R23-11#114f1c5c2026-10-14
  • R24-11rel:R24-11#41e0cc7a2026-10-14
  • R25-11rel:R25-11#41e0cc7a2026-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 ~ClientAuthenticationHandle [SWS_DM_01147] Upstream: RS_Diag_04251

~ClientAuthenticationHandle () noexcept;

Destructor of ClientAuthenticationHandle.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 284dd06f8411 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función ~ClientAuthenticationHandle() es el destructor de la clase ara::diag::ClientAuthenticationHandle y se declara a través del archivo de cabecera ara/diag/client_authentication_handle.h ([SWS_DM_01147], AUTOSAR_AP_SWS_Diagnostics §8.6.1.1.1.3 «Destructor»). No recibe parámetros de entrada ni proporciona valor de retorno. La invocación tiene lugar habitualmente de forma implícita al finalizar la vida útil del objeto. Interpretación: Durante este proceso es de prever que se liberen todos los recursos de la autenticación de cliente vinculados internamente por el handle. Pregunta Q-ea8f47232fd9951f (abierta)

Tratamiento de errores y seguridad frente a excepciones

El destructor está declarado como noexcept y especificado explícitamente como exception safe ([SWS_DM_01147]). Por consiguiente, durante la destrucción del objeto no se lanzan excepciones de C++ ni se notifican códigos de error específicos, garantizando así que el procedimiento de limpieza concluya sin fallos.

Concurrencia y restricciones

La destrucción de un ClientAuthenticationHandle está catalogada según la especificación como not thread-safe ([SWS_DM_01147]). La aplicación invocadora debe asegurarse de que ningún otro hilo acceda en paralelo a la misma instancia mientras se ejecuta el destructor.

Este texto ha sido generado por una IA a partir de la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad I1)

Header-Datei#include "ara/diag/client_authentication_handle.h"
Scopeclass ara::diag::ClientAuthenticationHandle
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_01147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01147@rel:R25-11#7c316093
Content hash
7c316093
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01147
Status: valid/unmigrated Version: rel:R25-11#b9cd7178 Versionshistorie & Revisions (1 transition, 6 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_DM_01147@rel:R25-11#b9cd7178
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#f9cc0a482026-09-30
  • R21-11rel:R21-11#3b91d66c2026-10-14
  • R22-11rel:R22-11#cca9279f2026-10-14
  • R23-11rel:R23-11#4de7c36f2026-10-14
  • R24-11rel:R24-11#0092ff1b2026-10-14
  • R25-11rel:R25-11#b9cd71782026-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