DEENESPTFRRUARHIKOZHNL

class 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

User GuideAI-GENERATED

Manages dynamic diagnostic rights, session timers, and revocation of the authentication of a diagnostic client.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ceee534cb2db Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Manages dynamic diagnostic rights, session timers, and revocation of the authentication of a diagnostic client.

The class ara::diag::ClientAuthenticationHandle is used by the application to manage an active authentication session of a diagnostic client [SWS_DM_01206]. Via this handle, the application configures dynamic access lists and renews the client's inactivity timers [SWS_DM_01213]. The object follows strict move semantics without the possibility of copying and reports errors via DiagErrc::kServiceNotAvailable if Diagnostic Management is unavailable. By calling Revoke, granted roles and additional rights can be revoked in a controlled manner at any time.

Context

The API class ara::diag::ClientAuthenticationHandle is defined in the header file ara/diag/client_authentication_handle.h [SWS_DM_01145]. It acts as a central control object provided to a diagnostic application by the diagnostic server instance as soon as a client has been successfully authenticated or its default roles have been temporarily overwritten AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”.

At system start, a client is in state kDeAuthenticated [SWS_DM_01205] by default with preconfigured default roles [SWS_DM_01204]. If the application calls ara::diag::ClientAuthentication::Authenticate, the diagnostic server transitions the client to state kAuthenticated and returns a ara::diag::ClientAuthenticationHandle [SWS_DM_01206]. Likewise, calling ara::diag::ClientAuthentication::OverrideDefaultRoles to temporarily adapt roles generates such a handle [SWS_DM_01209]. Via the handle, the application controls the authentication state and the dynamic access list (DynamicAccessList), which grants an authenticated client additional access rights to diagnostic resources beyond the diagnostic extract 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

Context diagram: Interaction of application, ClientAuthenticationHandle, and diagnostic server. Sources: [SWS_DM_01206], [SWS_DM_01209], AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”

Lifecycle

Instantiation of ara::diag::ClientAuthenticationHandle regularly occurs via factory methods of the diagnostic server in the course of Authenticate [SWS_DM_01206] or OverrideDefaultRoles [SWS_DM_01209]. In addition, the class provides a parameterless default constructor [SWS_DM_01146]; an object created in this way is likely presumed to act as an unbound placeholder until an active handle is transferred to it via move assignment. Question Q-74f44c072616cce9 (open)

With regard to ownership, the class implements strict move semantics: move constructor [SWS_DM_01148] and move assignment operator [SWS_DM_01149] are defined as noexcept = default. Copying is completely prevented, as copy constructor [SWS_DM_01150] and copy assignment operator [SWS_DM_01151] are deleted (=delete). The instance is released via the destructor ~ClientAuthenticationHandle() [SWS_DM_01147].

Regarding concurrency, the default constructor is specified as thread-safe (thread-safe) [SWS_DM_01146]. In contrast, the destructor [SWS_DM_01147] and all state-modifying method calls are designated as not thread-safe (not thread-safe) [SWS_DM_01152], [SWS_DM_01153], [SWS_DM_01154], [SWS_DM_01155]. Concurrent access to the same handle therefore requires application-side synchronization.

Usage Path

The typical runtime sequence comprises the configuration of dynamic rights, maintaining authorization, and controlled termination:

  1. Obtain handle: The application initiates authentication at ara::diag::ClientAuthentication and receives the handle instance [SWS_DM_01206].
  2. Set or extend access list: Via the method Set, the application completely replaces the dynamic access list of a diagnostic conversation [SWS_DM_01153], [SWS_DM_01213]. Alternatively, Append appends additional diagnostic patterns to an existing access list [SWS_DM_01152] AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.4 “DynamicAccessList Creation and Update”.
  3. Renew activity: In case of inactivity in the default session, automatic fallback to kDeAuthenticated threatens after expiration of the inactivity timeout [SWS_DM_01210]. By calling Refresh, the application extends the timers started by Authenticate or OverrideDefaultRoles [SWS_DM_01155] AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”.
  4. Revoke permissions: With Revoke, the application explicitly de-authenticates the client, deletes the associated DynamicAccessList, and resets overwritten default roles [SWS_DM_01154].
Authentication and access control via ClientAuthenticationHandleApplicationClientAuthenticationClientAuthenticationHandleDiagnosticServerUse Case: Authentication and handle provisionAuthenticate(roles)Set state to kAuthenticatedClientAuthenticationHandleUse Case: Permissions configuration and timer updateSet(dynamicAccessList)DynamicAccessList ersetzenResult<void>Refresh()Inaktivitaetstimer zuruecksetzenResult<void>Use Case: SitzungsbeendigungRevoke()kDeAuthenticated & Rechte loeschenResult<void>

Sequence diagram: Sequence for authentication, rights management, and revocation via the handle. Sources: [SWS_DM_01206], [SWS_DM_01153], [SWS_DM_01155], [SWS_DM_01154]

Error Scenarios

The operational methods Set [SWS_DM_01153], Append [SWS_DM_01152], Refresh [SWS_DM_01155], and Revoke [SWS_DM_01154] each return ara::core::Result<void> and are declared as noexcept as well as exception-safe (exception safe).

If communication or execution fails because essential functionalities of the Diagnostic Manager are currently unavailable, the calls return the error code DiagErrc::kServiceNotAvailable [SWS_DM_01152], [SWS_DM_01153], [SWS_DM_01154], [SWS_DM_01155]. In this case, rollback semantics take effect so that no inconsistent partial changes to the client's authentication state or access lists remain.

Based on the AUTOSAR Adaptive R25-11 specification of the diagnostic interface.

Member map

Class diagram

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

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

Detail view

Select an entry in the outline.

Constructors and destructor

Constructor of ClientAuthenticationHandle.

Overloads 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.

Methods

Append function

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 function

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 function

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 function

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

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

Operators

operator= function 2

Move assignment operator of ClientAuthenticationHandle.

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

Method documentation

function 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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ecc404bb2530 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method Append of class ara::diag::ClientAuthenticationHandle is used by applications to append a dynamic access list (dynamicAccessList) to the already existing DynamicAccessList of an active diagnostic conversation [SWS_DM_01152]. The interface is provided via header ara/diag/client_authentication_handle.h AUTOSAR_AP_SWS_Diagnostics §8.6.1.1.3.1 “Append”.

The call is executed synchronously and is specified as noexcept [SWS_DM_01152]. As an input parameter, the function accepts a DiagnosticServiceDynamicAccessList. The return type ara::core::Result<void> signals successful completion or, in the event of an error, carries error code DiagErrc::kServiceNotAvailable [SWS_DM_01152]. The latter indicates that essential functions of Diagnostic Management are currently not available. For this error case, rollback semantics apply, so that the previous state of the access list is preserved [SWS_DM_01152].

Regarding concurrency, the operation is considered exception safe (exception safe), but is explicitly classified as not thread-safe (not thread-safe) [SWS_DM_01152]. For parallel accesses to the same handle object, external synchronization by the calling application is therefore likely to be necessary. Question Q-f0da9a0538a86a16 (open)

This usage note was generated automatically and is based exclusively on the specification data of AUTOSAR R25-11.

Implementer's Guide to follow (complexity 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#5fbe369d
Content hash
5fbe369d
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

function ClientAuthenticationHandle [SWS_DM_01146] Upstream: RS_Diag_04251

ClientAuthenticationHandle () noexcept;

Constructor of ClientAuthenticationHandle.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 970d47856338 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous default constructor [SWS_DM_01146] creates an instance of class ara::diag::ClientAuthenticationHandle. The call accepts no input parameters and returns no return value. The function is declared as noexcept and specified as thread-safe (thread-safe) as well as exception safe [SWS_DM_01146], so that no error codes or exceptions occur during creation.

The following restrictions apply to the passing and life cycle of the created object:

In the overall system, the Diagnostic Server regularly provides active handles bound to a client via Authenticate [SWS_DM_01142] or OverrideDefaultRoles [SWS_DM_01141] (AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”). An instance created via the default constructor is therefore likely to serve as an unbound placeholder that only receives a valid handle for controlling access lists through subsequent move assignment [SWS_DM_01149]. Question Q-ce182402bd1d4072 (open)

This text was generated by an AI based on the AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity 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#343d8461
Content hash
343d8461
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

function 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#398da6ac
Content hash
398da6ac
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

function 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#b2ba2b41
Content hash
b2ba2b41
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

function 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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 8c9744884d32 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method Refresh of class ara::diag::ClientAuthenticationHandle (header file #include "ara/diag/client_authentication_handle.h") serves an application to extend active authentication or role timers (AUTOSAR_AP_SWS_Diagnostics §8.6.1.1.3.2 “Refresh”). It resets the timer that was previously started by Authenticate or OverrideDefaultRoles. If both methods were called previously, calling it renews both timers simultaneously [SWS_DM_01155].

The synchronous call (interpretation: direct return without asynchronous future) occurs parameterless on an existing instance of ClientAuthenticationHandle, which the application received from the diagnostic server after successful completion of Authenticate or OverrideDefaultRoles (AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”). Question Q-b07e81ff4629ada7 (open) The function is declared as noexcept and exception-safe (exception safe), but specified as not thread-safe (not thread-safe) [SWS_DM_01155]. Concurrent calls on the same instance must therefore be synchronized by the caller.

If the operation fails, the function returns the error code DiagErrc::kServiceNotAvailable via ara::core::Result<void> [SWS_DM_01155]. This indicates via rollback semantics that the call could not be executed because essential functionalities of Diagnostic Management (DM) are currently unavailable [SWS_DM_01155].

This usage note was generated automatically based on the AUTOSAR R25-11 specification.

Implementer's Guide to follow (complexity 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#b5659ac0
Content hash
b5659ac0
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

function 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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 97421a5ce76e Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous method Revoke of class ara::diag::ClientAuthenticationHandle (SWS Diagnostics §8.6.1.1.3.3 “Revoke”) is used by applications to deauthenticate a previously authenticated diagnostic client and to completely discard its dynamic access list (DynamicAccessList) and overridden default roles ([SWS_DM_01154], [SWS_DM_01216]).

The function has no input parameters and returns a ara::core::Result<void> ([SWS_DM_01154]). In case of success, the client's authentication status is terminated. If an essential functionality of the Diagnostic Manager is not available at invocation time, the operation fails and returns error DiagErrc::kServiceNotAvailable with rollback semantics ([SWS_DM_01154]).

Regarding concurrency, the interface is specified as exception safe (exception safe), but as not thread-safe (not thread-safe) ([SWS_DM_01154]). Interpretation: For concurrent accesses to the same handle instance from multiple threads, the calling application is therefore likely to have to ensure external synchronization. Question Q-8781261c9a2f5f8e (open)

In the overall sequence, the instance of ClientAuthenticationHandle is provided to the application by the Diagnostic Server instance after successful authentication or after overriding default roles (SWS Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”). While the active handle allows replacing ([SWS_DM_01213]) or extending ([SWS_DM_01215]) the DynamicAccessList in addition to revocation, Revoke definitively terminates these permissions of the client.

This text was generated by an AI based on the AUTOSAR Adaptive R25-11 specification.

Implementer's Guide to follow (complexity 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#0fc0c68f
Content hash
0fc0c68f
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

function 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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 8ef0a8bd09d8 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The synchronous method Set of class ara::diag::ClientAuthenticationHandle ([SWS_DM_01153]) is used by an application to set or completely replace the dynamic access list (DynamicAccessList) for a diagnostic conversation or an authenticated client in the Diagnostic Server ([SWS_DM_01213]). The Diagnostic Manager maintains such a DynamicAccessList for each authenticated client, which can grant the client additional access rights to diagnostic resources beyond the configuration stored in the diagnostic extract (AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 “ClientAuthenticationHandle”).

When using it, the following aspects are relevant:

  • Call context and parameters: The function is called on an instance of ara::diag::ClientAuthenticationHandle (declared in #include "ara/diag/client_authentication_handle.h"). Such a handle instance is provided to the application when either ara::diag::ClientAuthentication::Authenticate ([SWS_DM_01206]) or ara::diag::ClientAuthentication::OverrideDefaultRoles ([SWS_DM_01209]) has previously completed successfully. As the only passed parameter, dynamicAccessList of type DiagnosticServiceDynamicAccessList is passed, which defines the new access list ([SWS_DM_01153]).
  • Return value and error handling: The method is specified as noexcept and returns a ara::core::Result<void>. It operates with rollback semantics: If the call cannot be executed because essential DM functionality is currently unavailable, the call fails with error code DiagErrc::kServiceNotAvailable ([SWS_DM_01153]). Regarding exception handling, the method is classified as exception safe.
  • Concurrency: The operation is explicitly defined as not thread-safe ([SWS_DM_01153]). If calls are made concurrently from multiple threads on the same handle instance, the necessary synchronization is the responsibility of the application.

This usage note was generated automatically on the basis of the AUTOSAR specification.

Implementer's Guide to follow (complexity 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#850c01d8
Content hash
850c01d8
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

function 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#825bafd0
Content hash
825bafd0
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

function 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#e7f21735
Content hash
e7f21735
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

function ~ClientAuthenticationHandle [SWS_DM_01147] Upstream: RS_Diag_04251

~ClientAuthenticationHandle () noexcept;

Destructor of ClientAuthenticationHandle.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 284dd06f8411 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Usage and Semantics

The function ~ClientAuthenticationHandle() is the destructor of class ara::diag::ClientAuthenticationHandle and is declared via header file ara/diag/client_authentication_handle.h ([SWS_DM_01147], AUTOSAR_AP_SWS_Diagnostics §8.6.1.1.1.3 “Destructor”). It accepts no parameters and provides no return value. The call usually occurs implicitly at the end of the object's lifetime. Interpretation: In doing so, all resources of the client authentication bound internally by the handle are likely to be released. Question Q-ea8f47232fd9951f (open)

Error Handling and Exception Safety

The destructor is declared as noexcept and explicitly specified as exception safe ([SWS_DM_01147]). Consequently, no C++ exceptions are thrown and no specific error codes are reported during the destruction of the object, so that the cleanup procedure is guaranteed to complete without error.

Concurrency and Limitations

The destruction of a ClientAuthenticationHandle is classified as not thread-safe according to the specification ([SWS_DM_01147]). The calling application must ensure that no other threads access the same instance concurrently while the destructor is being executed.

This text was generated by an AI based on the AUTOSAR Adaptive R25-11 specification.

Implementer's Guide to follow (complexity 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#f9cc0a48
Content hash
f9cc0a48
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