DEENESPTFRRUARHIKOZHNL

class <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

[SWS_DM_02146] Upstream: RS_Diag_04169

class <ExtendedDataRecordElementInterface> {...};

DiagnosticExtendedDataRecordInterface class

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Forwarding-Header#include "<ExtendedDataRecordElementShortname>/_fwd.h"
Scopenamespace <ExtendedDataRecord-Namespace>

User GuideAI-GENERATED

Serves to provide application-side extended diagnostic data to adaptive Diagnostic Management.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 0446a63ad449 Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Serves to provide application-side extended diagnostic data to adaptive Diagnostic Management.

The class <ExtendedDataRecordElementInterface> serves adaptive applications as an interface for providing extended diagnostic data to Diagnostic Management ([SWS_DM_02152]). Following instantiation and activation via Offer(), the handler implements asynchronous provisioning of the data via the pure virtual method Read() ([SWS_DM_02156]). Because the Diagnostic Manager permanently saves the records in non-volatile memory, unavailable values must mandatorily be padded with a fill pattern. The interface is neither copyable nor movable, and its destructor is not thread-safe.

Context

The interface <ExtendedDataRecordElementInterface> serves in the diagnostic subsystem of the AUTOSAR Adaptive Platform to provide application-specific extended diagnostic data (Extended Data Records) to Diagnostic Management (DM) (AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”). An Extended Data Record contains diagnostic-related additional data, such as counter readings or environmental information, associated with a failure event. The class acts as an abstract base interface for application-side handler components. Interaction partners include the Diagnostic Manager (DM), which requests and coordinates read operations, the concrete handler implementation within the application, and the non-volatile memory (NVM) in which the DM permanently stores the retrieved data ([SWS_DM_02156]). Interpretation: The invocation of Read() is presumably initiated by internal diagnostic processing in the DM, for example upon the occurrence of a failure event or upon status changes of a diagnostic trouble code. Question Q-f80be8c2bd5697fc (open)

Context Handler ExtendedDataRecordElementInterface (Anwendungs-Handler) DM Diagnostic Management (DM) Handler->DM Offer() / StopOffer() DM->Handler Read(metaInfo, cancellationHandler) NVM Non-volatile memory (NVM) DM->NVM Persistierung

Context diagram: Interaction of application handler, Diagnostic Management, and non-volatile memory. Sources: [SWS_DM_02152], [SWS_DM_02156], AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”

Lifecycle

Creation occurs via the parameterized constructor with specification of an ara::core::InstanceSpecifier and the concurrency mode ara::diag::ConcurrencyType ([SWS_DM_02158], AUTOSAR AP SWS Diagnostics §7.2 “DiagnosticExtendedDataRecordInterface”). Construction is thread-safe and exception safe. The parameter concurrencyType determines whether calls to the interface may be processed concurrently (kConcurrent) or sequentially (kNotConcurrent) ([SWS_DM_02158]). Copy and move operations are completely prevented: copy constructor ([SWS_DM_02147]), copy assignment ([SWS_DM_02148]), move constructor ([SWS_DM_02149]), and move assignment ([SWS_DM_02150]) are deleted (=delete). An instance thus possesses a fixed identity and can neither be duplicated nor transferred.

After instantiation, the object is initially in an inactive state. Only by calling Offer() ([SWS_DM_02152]) is the service activated and the DM forwards requests to the handler. Using StopOffer() ([SWS_DM_02153]), this forwarding can be stopped at any time. Destruction occurs via the virtual destructor ~<ExtendedDataRecordElementInterface>() ([SWS_DM_02151]). Although this destructor is exception-safe, it is explicitly not thread-safe ([SWS_DM_02151]). Interpretation: StopOffer() likely has to be called before destroying the handler object to ensure that no further requests arrive while the object is being deallocated. Question Q-c77dda63f0e8798a (open)

Usage Path

The regular flow comprises the offering, the asynchronous answering of read requests, and the deactivation of the service:

  • Initialization: The application instantiates the derived class with the appropriate port identifier and concurrency configuration ([SWS_DM_02158]).
  • Service offering: By calling Offer(), the forwarding of requests in the DM is enabled ([SWS_DM_02152]). The method returns a ara::core::Result<void>.
  • Data retrieval: When a read request arrives, the DM calls the pure virtual method Read() ([SWS_DM_02156]). In doing so, the request metadata (metaInfo) and a cancellationHandler are passed.
  • Cancellation handling and return: The handler can check via cancellationHandler.IsCanceled() whether the conversation was cancelled, or register a notification via cancellationHandler.SetNotifier() ([SWS_DM_02156]). The result is delivered asynchronously via a ara::core::Future with a ReadOutput object ([SWS_DM_02156], [SWS_DM_02154]).
  • Persistence: The DM takes over the retrieved data and permanently stores it in non-volatile memory ([SWS_DM_02156]).
  • Service deregistration: Prior to shutdown, the application calls StopOffer() ([SWS_DM_02153]) to terminate forwarding by the DM before the instance is destroyed ([SWS_DM_02151]).
Sequence of providing and reading extended data recordsApplicationHandlerDMNVMUse Case: Initialization and service registrationKonstruktion(instanceSpec, concurrencyType)Offer()Registrierung aktivierenResult<void>Use Case: DiagnoseabfrageRead(metaInfo, cancellationHandler)Determine data / 0xFF padding patternFuture<ReadOutput>Persistence of record dataUse Case: DienstabmeldungStopOffer()Weiterleitung deaktivieren

Sequence diagram: Typical flow of data provision and retrieval. Sources: [SWS_DM_02152], [SWS_DM_02153], [SWS_DM_02156], [SWS_DM_02158]

Error Scenarios

When using the interface, several error conditions and preconditions must be observed:

  • Construction errors and model violations: When calling the constructor, modeling errors can occur ([SWS_DM_02158]). These include InstanceSpecifierMappingIntegrityViolation (the identifier cannot be resolved or does not reference a PortPrototype), PortInterfaceMappingViolation (missing referencing by a DiagnosticDataPortMapping), ProcessMappingViolation (no suitable process found in the model), as well as InstanceSpecifierAlreadyInUseViolation (the identifier is already used in the process) ([SWS_DM_02158]).
  • Multiple offering: If Offer() is called when the service is already actively offered, the call fails and returns the error code DiagOfferErrc::kAlreadyOffered ([SWS_DM_02152]).
  • Unavailable data during read requests: Because the DM stores the data in non-volatile memory, a value must mandatory be returned when Read() is called ([SWS_DM_02156]). If data is not available at the time of the query, the handler implementation must fill it with a defined fill pattern such as 0xFF ([SWS_DM_02156]).
  • Application and diagnostic errors: If the data provision fails entirely, the returned ara::core::Future can contain a corresponding diagnostic NRC error code (DiagUdsNrcErrc) or an application-specific error (ApApplicationError) ([SWS_DM_02156]).
  • Destruction hazard: Because the destructor is not thread-safe ([SWS_DM_02151]), destroying the object during concurrent calls or without prior StopOffer() ([SWS_DM_02153]) leads to undefined behavior.

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

Member map

Class diagram

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

G n_ExtendedDataRecord_Namespace____ExtendedDataRecordElementInterface_765 <ExtendedDataRecordElementInterface> + <ExtendedDataRecordElementOutArg> + Offer() + Read() + StopOffer() + operator=() + <ExtendedDataRecordElementInterface>() + ~<ExtendedDataRecordElementInterface>()

Detail view

Select an entry in the outline.

Methods

Copy constructor deletion

Overloads <ExtendedDataRecordElementInterface> 3
<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete; SWS_DM_02147
<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete; SWS_DM_02149
<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_02158
Offer function

This Offer will enable the DM to forward request messages to this handler

ara::core::Result< void > Offer () noexcept;
Read function

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

virtual ara::core::Future< <ExtendedDataRecordElement>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;
StopOffer function

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;

Destruction of a DataElement

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

Operators

operator= function 2

Copy assignment constructor deletion

Overloads = 2
<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete; SWS_DM_02148
<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete; SWS_DM_02150

Constants

Member declaration representing an out argument in an Output.

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

Embedded types

Method documentation

function <ExtendedDataRecordElementInterface> [SWS_DM_02147] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface2> (const <ExtendedDataRecordElementInterface2> &other)=delete;

Copy constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02147@rel:R25-11#b778fd1a
Content hash
b778fd1a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02147
Status: valid/unmigrated Version: rel:R25-11#b778fd1a Versionshistorie & Revisions (1 transition)
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_02147@rel:R25-11#b778fd1a
Point-in-Time History:
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 <ExtendedDataRecordElementInterface> [SWS_DM_02149] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface4> ( <ExtendedDataRecordElementInterface4> &&other)=delete;

Move constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02149
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02149@rel:R25-11#922c09b0
Content hash
922c09b0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02149
Status: valid/unmigrated Version: rel:R25-11#922c09b0 Versionshistorie & Revisions (1 transition)
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_02149@rel:R25-11#922c09b0
Point-in-Time History:
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 <ExtendedDataRecordElementInterface> [SWS_DM_02158] Upstream: RS_AP_00137

<ExtendedDataRecordElementInterface1> (ara::core::Instance Specifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept;

Construct a DataElement from an ara::core::InstanceSpecifier

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

Usage and Call Context

The function <ExtendedDataRecordElementInterface> serves as a constructor for creating an DataElement for an extended data record interface based on an ara::core::InstanceSpecifier [SWS_DM_02158]. The declaration is located in the scope <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface> and requires including the header file #include "<ExtendedDataRecordElementShortname>.h" AUTOSAR_AP_SWS_Diagnostics §8.49.2.2.1.6.

The synchronous invocation requires two input parameters [SWS_DM_02158]:

  • instanceSpec (ara::core::InstanceSpecifier): Identifier of the concrete service instance in the AUTOSAR model.
  • concurrencyType (ara::diag::ConcurrencyType): Determines whether the interface is instantiated as thread-safe (kConcurrent) or non-thread-safe (kNotConcurrent).

Concurrency and error safety

The constructor function itself is declared as noexcept and specified as thread-safe as well as exception safe [SWS_DM_02158]. Interpretation: Because the function is defined as noexcept, modeling and initialization errors are likely signaled not via C++ exceptions, but via the violations defined in the Adaptive framework [SWS_DM_02158]. Question Q-9ce91764c3e8364e (open)

Error Handling and Model Violations

In case of faulty model configuration or invalid identifiers, specific violations occur [SWS_DM_02158]:

  • InstanceSpecifierMappingIntegrityViolation: The identifier cannot be resolved in the context of the process or does not reference an PortPrototype.
  • PortInterfaceMappingViolation: An PortPrototype typed by DiagnosticExtendedDataRecordInterface is not referenced by an DiagnosticDataPortMapping.
  • ProcessMappingViolation: A matching InstanceRef exists, but no matching modeled process was found for the runtime process.
  • InstanceSpecifierAlreadyInUseViolation: The constructor was called with an InstanceSpecifier that is already in use in the process.

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

Implementer's Guide to follow (complexity I1)

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is typed by a pingViolation DiagnosticExtendedDataRecordInterface needs to be referenced by a DiagnosticDataPortMapping. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
instanceSpecThe specifier of a specific instance of a service.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).

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

Record
AUTOSAR/AP/record/SWS_DM_02158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02158@rel:R25-11#dc93a230
Content hash
dc93a230
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02158
Status: valid/unmigrated Version: rel:R25-11#dc93a230 Versionshistorie & Revisions (1 transition)
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_02158@rel:R25-11#dc93a230
Point-in-Time History:
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 Offer [SWS_DM_02152] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169, RS_Diag_04224

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

This Offer will enable the DM to forward request messages to this handler

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

The function Offer enables the forwarding of diagnostic requests by the Diagnostic Management Daemon (DM) to the corresponding instance of the handler [SWS_DM_02152]. It is called without parameters and synchronously returns an ara::core::Result<void>, declared as noexcept and specified as exception-safe [SWS_DM_02152].

For proper usage and error handling, the following specifications apply:

  • Return value and errors: In case of success, the result contains an empty value. If the service was already registered for this handler instance previously, the call fails and returns the error code DiagOfferErrc::kAlreadyOffered with rollback semantics [SWS_DM_02152]. Related error domains also define the error code kAlreadyOffered for this state [SWS_DM_00514] [SWS_DM_00560].
  • Concurrency: In contrast to other diagnostic handlers, which are often designated as not thread-safe (such as in [SWS_DM_00557]), this method is explicitly defined as thread-safe [SWS_DM_02152].
  • Interplay in the system: As long as an interface has not yet been offered by the application using Offer, the DM reacts depending on the context with defined default or fallback values, such as with the status "Not ready" for DoIP PowerMode queries [SWS_DM_01525] or fallback values for group identifiers [SWS_DM_01527]. In addition, the specification emphasizes that diagnostic offer functions are specific to ara::diag and must not be confused with ara::com::Offer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”.

Interpretation: The synchronous feedback behavior of Offer is likely intended to ensure that handler registration is completely finished before subsequent UDS requests are received. Question Q-e6b2916cf4887164 (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 "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: diag::DiagOfferErrc

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_02152
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02152@rel:R25-11#98647892
Content hash
98647892
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02152
Status: valid/unmigrated Version: rel:R25-11#98647892 Versionshistorie & Revisions (1 transition)
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_02152@rel:R25-11#98647892
Point-in-Time History:
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 Read [SWS_DM_02156] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< <ExtendedDataRecordElement>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a Read ExtendedDataRecordElement. The data fetched by this method is stored in non-volatile memory by the DM and therefore always a value needs to be returned. Not available data at the time of the method call shall be filled with a filling pattern, e.g 0xFF by the implementation of this method (DiagnosticExtendedDataRecordInterface in the role provide).

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

Usage and Semantics

The pure virtual method Read is called by the Diagnostic Management (DM) to retrieve the data of an ExtendedDataRecordElement from the application ([SWS_DM_02156]). Since the DM permanently saves the retrieved data in non-volatile memory, the method must always supply a value. If data is not available at the time of the call, it must be padded by the implementation with a fill pattern such as 0xFF ([SWS_DM_02156]).

Execution is asynchronous and returns a ara::core::Future, which encapsulates the structure ReadOutput in the case of success ([SWS_DM_02154]). The call passes the following parameters ([SWS_DM_02156]):

  • metaInfo: Transmits meta-information of the underlying diagnostic request.
  • cancellationHandler: Enables querying a cancellation via cancellationHandler.IsCanceled() as well as registering a notification function via cancellationHandler.SetNotifier().

Error handling

In case of an error, the Future provides a negative UDS response code (DiagUdsNrcErrc) or an application-specific error (ApApplicationError) ([SWS_DM_02156], AUTOSAR_AP_SWS_Diagnostics §7.3.2.6.1 “NRCs created by application”). If the required service interface is not yet or no longer provided via offer(), the DM responds with NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). In addition, DiagOfferErrc::kAlreadyOffered reports if the service is already being offered ([SWS_DM_02156]).

Concurrency and Interaction

The method is specified as exception-safe (exception safe) ([SWS_DM_02156]). Thread safety is conditional and implementation-defined (implementation defined) ([SWS_DM_02156]). This distinguishes Read for extended data records from read operations on regular data elements ([SWS_DM_00596]) or data identifiers ([SWS_DM_00640]), which are explicitly not thread-safe.

This text was generated by an AI system based on the specifications of release R25-11.

Implementer's Guide to follow (complexity I1)

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitconditional Thread safety is implementation defined

Parameter (in)

ParameterBeschreibung
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< {<extended-data-record-element-name-upper-camel> }ReadOutput >• If successful: an ara::core::Future containing an ReadOutput object as per [SWS_DM_02154] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_02156
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02156@rel:R25-11#29b32782
Content hash
29b32782
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02156
Status: valid/unmigrated Version: rel:R25-11#29b32782 Versionshistorie & Revisions (1 transition)
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_02156@rel:R25-11#29b32782
Point-in-Time History:
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 StopOffer [SWS_DM_02153] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM

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

Usage and Call Context

The function StopOffer is called on an instance of the extended data record interface (<ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>), which is included via the header #include "<ExtendedDataRecordElementShortname>.h" [SWS_DM_02153]. The call is synchronous, takes no parameters, and has no return value (void).

The purpose of the method is to deactivate the forwarding of incoming request messages from Diagnostic Management (DM) to the respective extended data record element [SWS_DM_02153]. After execution, the DM no longer forwards any new diagnostic requests to the associated handler.

Error Handling and Concurrency

The function is declared with the identifier noexcept and specified as exception-safe (exception safe) [SWS_DM_02153]. Specific error codes, return values, or notifications to error monitors are not defined in the payload; in case of an error, no exceptions are thrown.

Regarding concurrency, the method is explicitly classified as thread-safe (thread-safe) [SWS_DM_02153]. This represents a peculiarity, as related StopOffer interfaces in ara::diag—such as for routines [SWS_DM_00558], data elements [SWS_DM_00617], or monitors [SWS_DM_01089]—are specified as not thread-safe. Requests already in processing are presumably still completed or discarded prior to the final stop. Question Q-82e9d44f8ac1969d (open)

Interplay in Diagnostic Management

The naming follows the uniform service pattern in AUTOSAR Adaptive, in which functional units control their availability via Offer and StopOffer AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”. The element thus joins comparable interfaces of the DM, such as for generic UDS services [SWS_DM_00620], data identifiers [SWS_DM_00600], security accesses [SWS_DM_00767], or ECU reset requests [SWS_DM_01017].

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

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_02153
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02153@rel:R25-11#0c3fd27f
Content hash
0c3fd27f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02153
Status: valid/unmigrated Version: rel:R25-11#0c3fd27f Versionshistorie & Revisions (1 transition)
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_02153@rel:R25-11#0c3fd27f
Point-in-Time History:
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_02148] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface3> & operator= (const <ExtendedDataRecordElementInterface3> &other)=delete;

Copy assignment constructor deletion

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02148@rel:R25-11#085b2936
Content hash
085b2936
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02148
Status: valid/unmigrated Version: rel:R25-11#085b2936 Versionshistorie & Revisions (1 transition)
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_02148@rel:R25-11#085b2936
Point-in-Time History:
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_02150] Upstream: RS_AP_00147

<ExtendedDataRecordElementInterface5> & operator= ( <ExtendedDataRecordElementInterface5> &&other)=delete;

Move assignment constructor

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_02150
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02150@rel:R25-11#19edc7c0
Content hash
19edc7c0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02150
Status: valid/unmigrated Version: rel:R25-11#19edc7c0 Versionshistorie & Revisions (1 transition)
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_02150@rel:R25-11#19edc7c0
Point-in-Time History:
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 ~<ExtendedDataRecordElementInterface> [SWS_DM_02151] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<ExtendedDataRecordElementInterface6> () noexcept;

Destruction of a DataElement

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
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_02151
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02151@rel:R25-11#31ab9402
Content hash
31ab9402
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02151
Status: valid/unmigrated Version: rel:R25-11#31ab9402 Versionshistorie & Revisions (1 transition)
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_02151@rel:R25-11#31ab9402
Point-in-Time History:
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

Documentation of constants / variables

variable <ExtendedDataRecordElementOutArg> [SWS_DM_02155] Upstream: RS_Diag_04224, RS_Diag_04169

<ExtendedDataRecordElementOutArgType> <ExtendedDataRecordElementOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<ExtendedDataRecordElementShortname>.h"
Scopeclass <ExtendedDataRecord-Namespace>::<ExtendedDataRecordElementInterface>
Symbol<ExtendedDataRecordElementOutArg>
Typ<ExtendedDataRecordElementOutArgType>

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

Record
AUTOSAR/AP/record/SWS_DM_02155
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02155@rel:R25-11#db27b360
Content hash
db27b360
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02155
Status: valid/unmigrated Version: rel:R25-11#db27b360 Versionshistorie & Revisions (1 transition)
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_02155@rel:R25-11#db27b360
Point-in-Time History:
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