DEENESPTFRRUARHIKOZHNL

class ara::diag::DTCInformation

[SWS_DM_00657] Upstream: RS_Diag_04150, RS_Diag_04105

class DTCInformation final {...};

Class to implement operations on DTC informations per configured DiagnosticMemory Destination.

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

User GuideAI-GENERATED

Enables monitoring, status querying, and clearing of diagnostic trouble codes for a memory destination.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: a165a7d55aae Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Enables monitoring, status querying, and clearing of diagnostic trouble codes for a memory destination.

The class ara::diag::DTCInformation enables adaptive applications to perform status-related monitoring, querying, and clearing of diagnostic trouble codes (DTCs) for a configured diagnostic memory destination ([SWS_DM_00664]). In addition to asynchronously reading the UDS DTC status byte and controlling the DTC status, the class supports registering event-driven notifiers and clearing fault memory entries via Clear ([SWS_DM_00671]). Instances are neither copyable nor movable; read operations are thread-safe, whereas modifying methods and notifier registrations must be synchronized.

Context

The class ara::diag::DTCInformation provides interfaces to perform operations on diagnostic trouble code information (Diagnostic Trouble Codes, DTCs) related to a configured diagnostic memory destination (DiagnosticMemoryDestination) ([SWS_DM_00664]). Within the AUTOSAR Adaptive Platform, it mediates between the adaptive application and Diagnostic Management (DM). Binding to the diagnostic interface takes place during construction via an ara::core::InstanceSpecifier, which must reference a port prototype of a DiagnosticDTCInformationInterface ([SWS_DM_00664]).

The core responsibilities of the class include querying fault status values such as the UDS DTC status byte ([SWS_DM_00666]), reading out the number of currently stored fault entries ([SWS_DM_00669]), monitoring memory overflow ([SWS_DM_00919]), as well as controlling and querying the status of DTC setting enablement in the context of UDS service 0x85 (ControlDTCSetting) ([SWS_DM_00672], [SWS_DM_00674]). In addition, the class enables targeted clearing of individual DTCs or entire DTC groups ([SWS_DM_00671]). With respect to the functional scope, defined limits exist in Diagnostic Management: according to AUTOSAR_AP_SWS_Diagnostics §4.1 “Limitations of sub-functions of 0x19 ReadDTCInformation”, the DM supports neither OBD/WWH-OBD nor the UDS functionality of a mirror event memory.

DTCInformationContext Applikation Applikation DTCInformation DTCInformation Applikation->DTCInformation controls and queries DTCInformation->Applikation benachrichtigt per Notifier DiagnosticManagement DiagnosticManagement DTCInformation->DiagnosticManagement interagiert via Port DiagnosticManagement->DTCInformation meldet Statusaenderungen

Context diagram: Interaction of adaptive application, DTCInformation instance, and Diagnostic Management. Sources: [SWS_DM_00664], [SWS_DM_00666], [SWS_DM_00667]

Lifecycle

An instance of ara::diag::DTCInformation is created explicitly via its constructor by passing the modeled ara::core::InstanceSpecifier ([SWS_DM_00664]). The constructor is executed in a thread-safe manner ([SWS_DM_00664]). The class possesses strict semantics of uniqueness: copy constructor ([SWS_DM_01613]) and move constructor ([SWS_DM_01614]) as well as copy assignment operator ([SWS_DM_01611]) and move assignment operator ([SWS_DM_01612]) are deleted (=delete). An instance thus remains fixed at its creation location and can be neither copied nor moved. Furthermore, the same InstanceSpecifier must not be instantiated multiple times per process ([SWS_DM_00664]).

Destruction takes place via the destructor ~DTCInformation() ([SWS_DM_00665]). The destructor is not thread-safe ([SWS_DM_00665]). Regarding concurrency, the class differentiates between read and mutating operations: pure queries such as GetCurrentStatus ([SWS_DM_00666]), GetNumberOfStoredEntries ([SWS_DM_00669]), GetControlDTCStatus ([SWS_DM_00672]), and GetEventMemoryOverflow ([SWS_DM_00919]) are thread-safe. In contrast, modifying operations such as Clear ([SWS_DM_00671]) and EnableControlDtc ([SWS_DM_00674]) as well as all notifier registration methods are not thread-safe ([SWS_DM_00667], [SWS_DM_00668], [SWS_DM_00670], [SWS_DM_00673], [SWS_DM_00918]).

Usage Path

A typical use case is divided into the following phases:

  1. Instantiation: The application initializes the object by specifying the appropriate InstanceSpecifier ([SWS_DM_00664]).
  2. Callback configuration: The application registers notifiers for event-driven monitoring. Available callbacks are for DTC status changes (SetDTCStatusChangedNotifier with DtcStatusChangedNotifier) ([SWS_DM_00667], [SWS_DM_02122]), updates of snapshot records (SetSnapshotRecordUpdatedNotifier with SnapshotRecordUpdatedTypeNotifier) ([SWS_DM_00668], [SWS_DM_02123]), changes in the fault entry count (SetNumberOfStoredEntriesNotifier with NumberOfStoredEntriesNotifier) ([SWS_DM_00670], [SWS_DM_02124]), changes in the ControlDTC status (SetControlDtcStatusNotifier with ControlDtcStatusTypeNotifier) ([SWS_DM_00673], [SWS_DM_02125]), and memory overflows (SetEventMemoryOverflowNotifier with EventMemoryOverflowSetNotifier) ([SWS_DM_00918], [SWS_DM_02076]). Subsequent calls overwrite previously registered callbacks; these registrations are preferably to take place bundled during the initialization phase. Question Q-d7665d8d5229a47b (open)
  3. Status queries: The application can query DTC information at any time. A call to GetCurrentStatus(dtc) returns a ara::core::Future<UdsDtcStatusByteType> ([SWS_DM_00666]). Additionally, GetNumberOfStoredEntries() ([SWS_DM_00669]) and GetControlDTCStatus() ([SWS_DM_00672]) are available asynchronously via future, as well as GetEventMemoryOverflow() ([SWS_DM_00919]) synchronously via ara::core::Result<bool>.
  4. Fault memory clearing and control: The application initiates the clearing of trouble codes via Clear(dtcGroup), which provides an asynchronous ara::core::Future<void> ([SWS_DM_00671]). If setting of DTCs is to be re-enabled, EnableControlDtc() activates the ControlDTC status ([SWS_DM_00674]).
Typical sequence of interaction with DTCInformationApplikationDTCInformationDiagnostic ManagementDTCInformation(specifier)PortPrototype bindenBereitInstanz erzeugtSetDTCStatusChangedNotifier(notifier)Result<void>GetCurrentStatus(dtc)Status ermittelnUdsDtcStatusByteFuture<UdsDtcStatusByteType> readiedClear(dtcGroup)Fehlerspeicher loeschenBestaetigungFuture<void> readied

Sequence diagram: Typical sequence of instantiation, notifier registration, status query, and fault clearing. Sources: [SWS_DM_00664], [SWS_DM_00667], [SWS_DM_00666], [SWS_DM_00671]

Error Scenarios

When working with ara::diag::DTCInformation, the following error possibilities are specified:

  • Configuration violations during construction: An incomplete or incorrect model binding leads to specific violations ([SWS_DM_00664]):
    • InstanceSpecifierMappingIntegrityViolation: The identifier cannot be resolved in the context of the executable or does not reference a PortPrototype.
    • PortInterfaceMappingViolation: The PortPrototype is not typed as DiagnosticDTCInformationInterface.
    • ProcessMappingViolation: No matching modeled process exists at runtime.
    • InstanceSpecifierAlreadyInUseViolation: The InstanceSpecifier is already used by another instance in the running process.
  • Runtime errors during queries and memory clearing:
    • DiagErrc::kServiceNotAvailable: Essential functions of Diagnostic Management are temporarily unavailable; occurs with GetCurrentStatus ([SWS_DM_00666]), GetNumberOfStoredEntries ([SWS_DM_00669]), GetControlDTCStatus ([SWS_DM_00672]), GetEventMemoryOverflow ([SWS_DM_00919]), and Clear ([SWS_DM_00671]).
    • DiagErrc::kNoSuchDTC: No associated DTC exists for the requested event ([SWS_DM_00666]).
    • DiagErrc::kWrongDtc: An invalid DTC number was passed to Clear ([SWS_DM_00671]).
    • DiagErrc::kBusy: The interface is still busy with a previous processing ([SWS_DM_00671]).
    • DiagErrc::kMemoryError or DiagErrc::kFailed: Error accessing the physical fault memory or general processing errors during Clear ([SWS_DM_00671]).
  • Invalid arguments during notifier registration: The methods SetSnapshotRecordUpdatedNotifier ([SWS_DM_00668]), SetNumberOfStoredEntriesNotifier ([SWS_DM_00670]), SetControlDtcStatusNotifier ([SWS_DM_00673]), and SetEventMemoryOverflowNotifier ([SWS_DM_00918]) fail with DiagErrc::kInvalidArgument if an invalid function pointer or parameter is passed.

This guide is based on the AUTOSAR Adaptive specification R25-11 for the diag module and summarizes the requirements for ara::diag::DTCInformation.

Member map

Class diagram

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

G nara__diag__DTCInformation53 DTCInformation + DTCInformation() + operator=() + ~DTCInformation() + Clear() + EnableControlDtc() + GetControlDTCStatus() + GetCurrentStatus() + GetEventMemoryOverflow() + GetNumberOfStoredEntries() + SetControlDtcStatusNotifier() + SetDTCStatusChangedNotifier() + SetEventMemoryOverflowNotifier() + SetNumberOfStoredEntriesNotifier() + SetSnapshotRecordUpdatedNotifier()

Detail view

Select an entry in the outline.

Constructors and destructor

DTCInformation function 3

Constructor for a DTCInformation instance which allows for DTC related operation per DiagnosticMemoryDestination.

Overloads DTCInformation 3
explicit DTCInformation (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_00664
DTCInformation (DTCInformation &)=delete; SWS_DM_01613
DTCInformation (DTCInformation &&) noexcept=delete; SWS_DM_01614

Destructor of class DTCInformation.

~DTCInformation () noexcept;

Methods

Clear function

Method for Clearing a DTC or a group of DTCs.

ara::core::Future< void > Clear (std::uint32_t dtcGroup) noexcept;

Triggers a setting of ControlDTCStatus to enabled in case the application has some conditions or states demands to do so. The control DTC setting state might be set to enabled only after this API has returned.

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

Contains the current status of the ControlDTCStatus.

ara::core::Future< ControlDtcStatusType > GetControlDTCStatus () noexcept;

Retrieves the current UDS DTC status byte of the given DTC identifier.

ara::core::Future< UdsDtcStatusByteType > GetCurrentStatus (std::uint32_t dtc) noexcept;

Contains the current event memory overflow status.

ara::core::Result< bool > GetEventMemoryOverflow () noexcept;

Contains the number of currently stored fault memory entries.

ara::core::Future< std::uint32_t > GetNumberOfStoredEntries () noexcept;

Registers a notifier function which is called if the control DTC setting is changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetControlDtcStatusNotifier (ControlDtc StatusTypeNotifier notifier) noexcept;

Register a notifier function which is called if a UDS DTC status is changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetDTCStatusChangedNotifier (DtcStatus ChangedNotifier notifier) noexcept;

Register a notifier function which is called if the current event memory overflow status changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetEventMemoryOverflowNotifier (EventMemory OverflowSetNotifier notifier) noexcept;

Register a notifier function which is called if the number of currently stored fault memory entries changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetNumberOfStoredEntriesNotifier (NumberOf StoredEntriesNotifier notifier) noexcept;

Register a notifier function which is called if the SnapshotRecord is changed. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetSnapshotRecordUpdatedNotifier (Snapshot RecordUpdatedTypeNotifier notifier) noexcept;

Operators

operator= function 2

DTCInformation shall be a single not assignable instance.

Overloads = 2

Type aliases

Registers a notifier function which is called if the control DTC setting is changed.

using ControlDtcStatusTypeNotifier = std::function<void(ControlDtc StatusType)>;

Register a notifier function which is called if a UDS DTC status is changed.

using DtcStatusChangedNotifier = std::function<void(std::uint32_t dtc, UdsDtcStatusByteType udsStatusByteOld, UdsDtcStatusByteType udsStatus ByteNew)>;

Notifier function which is called if the current event memory overflow status changed.

using EventMemoryOverflowSetNotifier = std::function<void(bool)>;

Register a notifier function which is called if the number of currently stored fault memory entries changed.

using NumberOfStoredEntriesNotifier = std::function<void(std::uint32_ t)>;

Register a notifier function which is called if the SnapshotRecord is changed.

using SnapshotRecordUpdatedTypeNotifier = std::function<void(Snapshot RecordUpdatedType)>;

Embedded types

Method documentation

function Clear [SWS_DM_00671] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04194

ara::core::Future< void > Clear (std::uint32_t dtcGroup) noexcept;

Method for Clearing a DTC or a group of DTCs.

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

The method Clear of class ara::diag::DTCInformation ([SWS_DM_00671]) serves to clear an individual DTC or a DTC group in the fault memory (AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.6 “Service 0x14 – ClearDiagnosticInformation”). As a parameter, it accepts the identifier of the group or DTC to be cleared via dtcGroup and returns the result asynchronously as ara::core::Future<void> ([SWS_DM_00671]). The permission to clear individual DTCs or groups is subject to configuration parameters such as clearDtcLimitation ([SWS_DM_00160]).

Error Handling and Semantics

The function is declared as noexcept and reports errors asynchronously via the Future with rollback semantics ([SWS_DM_00671]). Possible error codes from DiagErrc are:

  • DiagErrc::kBusy: The interface is already busy with processing.
  • DiagErrc::kFailed: A general processing error occurred during execution.
  • DiagErrc::kMemoryError: A memory error occurred during processing.
  • DiagErrc::kWrongDtc: An invalid DTC number was passed.
  • DiagErrc::kServiceNotAvailable: Essential functions of the Diagnostic Manager are currently not available.

Concurrency and Distinction

The method is exception safe (exception safe), but explicitly classified as not thread-safe ([SWS_DM_00671]). Parallel calls on the same instance must therefore be synchronized by the caller; otherwise, DiagErrc::kBusy threatens. Interpretation: The returned ara::core::Future is likely to be fulfilled only when the physical fault memory has been completely cleared, analogously to the acknowledgment of UDS service 0x14 ([SWS_DM_00162]). Question Q-b97545b6864b24aa (open)

Functionally, the operation is to be distinguished from SOVD methods of the same name: While ara::diag::DiagnosticSovdContentElementDataView::Clear ([SWS_DM_02233]) clears data containers synchronously and thread-safe, this method controls diagnostic sequences in Diagnostic Management.

This usage note was curated by an AI and is based exclusively on the specification excerpts of AUTOSAR AP Release R25-11.

Implementer's Guide to follow (complexity I1)

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe DiagErrc::kBusy rollback_semantics

Parameter (in)

ParameterBeschreibung
dtcGroupDTC group to be cleared.

Rückgabewert

TypBeschreibung
ara::core::Future< void >void or errors

Fehler

FehlercodeBeschreibung
Interface is busy with processing.
DiagErrc::kFailedrollback_semantics Failed to process.
DiagErrc::kMemoryErrorrollback_semantics A memory error occurred during processing.
DiagErrc::kWrongDtcrollback_semantics A wrong DTC number was requested.
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_00671
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00671@rel:R25-11#eeae02f9
Content hash
eeae02f9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00671
Status: valid/unmigrated Version: rel:R25-11#5f2d812c Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00671@rel:R25-11#5f2d812c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#eeae02f92026-09-30
  • R19-11rel:R19-11#51e8d4512026-10-14
  • R20-11rel:R20-11#a949cf792026-10-14
  • R21-11rel:R21-11#a949cf792026-10-14
  • R22-11rel:R22-11#a1f423932026-10-14
  • R23-11rel:R23-11#cc3a92472026-10-14
  • R24-11rel:R24-11#ee42b6492026-10-14
  • R25-11rel:R25-11#5f2d812c2026-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 DTCInformation [SWS_DM_00664] Upstream: RS_AP_00137, RS_Diag_04150, RS_Diag_04105, RS_AP_00170, RS_ AP_00171, RS_AP_00172, RS_AP_00173

explicit DTCInformation (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor for a DTCInformation instance which allows for DTC related operation per DiagnosticMemoryDestination.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
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 referenced by a pingViolation DiagnosticMemoryDestinationPortMapping needs to be typed by a DiagnosticDTCInformationInterface. 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
specifierInstanceSpecifier to a PortPrototype of a DiagnosticDTCInformationInterface.

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

Record
AUTOSAR/AP/record/SWS_DM_00664
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00664@rel:R25-11#ee0cae73
Content hash
ee0cae73
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00664
Status: valid/unmigrated Version: rel:R25-11#9209c292 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00664@rel:R25-11#9209c292
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ee0cae732026-09-30
  • R19-11rel:R19-11#50771b7a2026-10-14
  • R20-11rel:R20-11#e53281312026-10-14
  • R21-11rel:R21-11#e53281312026-10-14
  • R22-11rel:R22-11#eccf83b62026-10-14
  • R23-11rel:R23-11#c51e5b242026-10-14
  • R24-11rel:R24-11#18239ea62026-10-14
  • R25-11rel:R25-11#9209c2922026-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 DTCInformation [SWS_DM_01613] Upstream: RS_AP_00147

DTCInformation (DTCInformation &)=delete;

DTCInformation shall be a single not copy-able instance.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01613
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01613@rel:R25-11#78598363
Content hash
78598363
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01613
Status: valid/unmigrated Version: rel:R25-11#7e9f5081 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01613@rel:R25-11#7e9f5081
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#785983632026-09-30
  • R23-11rel:R23-11#ff1af2512026-10-14
  • R24-11rel:R24-11#7e9f50812026-10-14
  • R25-11rel:R25-11#7e9f50812026-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 DTCInformation [SWS_DM_01614] Upstream: RS_AP_00147

DTCInformation (DTCInformation &&) noexcept=delete;

Move constructor of DTCInformation.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01614
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01614@rel:R25-11#42fc1a67
Content hash
42fc1a67
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01614
Status: valid/unmigrated Version: rel:R25-11#da7c5f5f Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01614@rel:R25-11#da7c5f5f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#42fc1a672026-09-30
  • R23-11rel:R23-11#f9e90d0c2026-10-14
  • R24-11rel:R24-11#da7c5f5f2026-10-14
  • R25-11rel:R25-11#da7c5f5f2026-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 EnableControlDtc [SWS_DM_00674] Upstream: RS_AP_00139, RS_Diag_04159

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

Triggers a setting of ControlDTCStatus to enabled in case the application has some conditions or states demands to do so. The control DTC setting state might be set to enabled only after this API has returned.

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

use

Method ara::diag::DTCInformation::EnableControlDtc ([SWS_DM_00674]) serves a monitoring application to re-enable the recording and storage of diagnostic trouble codes (DTCs) in the Diagnostic Server. The call is parameterless and synchronous via an instance of class ara::diag::DTCInformation from header ara/diag/dtc_information.h. The function returns ara::core::Result<void> as its return value.

Interaction and Semantics

If DTC setting was previously disabled ([SWS_DM_00910]), for example via the UDS service ControlDTCSetting (0x85) with subfunction 0x02 (OFF), calling EnableControlDtc causes the Diagnostic Server according to [SWS_DM_00811] to perform the following steps:

  • Re-enabling updating of the UDS DTC status byte,
  • Enabling error storage in the primary as well as in affected user-defined event memories,
  • Updating ara::diag::ControlDtcStatusType to kDTCSettingOn.

Interpretation: Setting the status to enabled may under certain circumstances take place only after the method call has returned (AP SWS Diagnostics §8.48.2.2.3.2 “EnableControlDtc”), which is why callers must not assume a necessarily immediate status change during execution. Question Q-8bfa0436f6ab98b9 (open)

Error Handling and Concurrency

The interface is declared as noexcept, is considered exception-safe (exception safe), and defines no specific standardized error codes ([SWS_DM_00674]). Regarding concurrency, the function is specified as not thread-safe (not thread-safe). Concurrent accesses to the same instance must therefore be synchronized by the calling application.

This usage note was generated automatically based on the specification and does not replace detailed review of the AUTOSAR standard.

Implementer's Guide to follow (complexity I2)

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

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns void.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_00674
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00674@rel:R25-11#40671c29
Content hash
40671c29
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00674
Status: valid/unmigrated Version: rel:R25-11#e45d9b89 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00674@rel:R25-11#e45d9b89
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#40671c292026-09-30
  • R19-11rel:R19-11#e1f8ab582026-10-14
  • R20-11rel:R20-11#9161618d2026-10-14
  • R21-11rel:R21-11#5a7fc00d2026-10-14
  • R22-11rel:R22-11#8925d3542026-10-14
  • R23-11rel:R23-11#488eca7f2026-10-14
  • R24-11rel:R24-11#784981982026-10-14
  • R25-11rel:R25-11#e45d9b892026-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 GetControlDTCStatus [SWS_DM_00672] Upstream: RS_AP_00139, RS_Diag_04159

ara::core::Future< ControlDtcStatusType > GetControlDTCStatus () noexcept;

Contains the current status of the ControlDTCStatus.

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

Rückgabewert

TypBeschreibung
ara::core::Future<ControlDtcStatusType >The current status of ControlDtcStatus (related to UDS service 0x85)

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_00672
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00672@rel:R25-11#c7ee7aea
Content hash
c7ee7aea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00672
Status: valid/unmigrated Version: rel:R25-11#a2def35b Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00672@rel:R25-11#a2def35b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c7ee7aea2026-09-30
  • R19-11rel:R19-11#f21334142026-10-14
  • R20-11rel:R20-11#294229e72026-10-14
  • R21-11rel:R21-11#294229e72026-10-14
  • R22-11rel:R22-11#1fc240372026-10-14
  • R23-11rel:R23-11#4d0b71d22026-10-14
  • R24-11rel:R24-11#9273d1142026-10-14
  • R25-11rel:R25-11#a2def35b2026-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 GetCurrentStatus [SWS_DM_00666] Upstream: RS_AP_00139

ara::core::Future< UdsDtcStatusByteType > GetCurrentStatus (std::uint32_t dtc) noexcept;

Retrieves the current UDS DTC status byte of the given DTC identifier.

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

Parameter (in)

ParameterBeschreibung
dtcDTC identifier for which the status should be retrieved.

Rückgabewert

TypBeschreibung
ara::core::Future< UdsDtcStatusByteType >A Future which is readied with current UDS DTC status byte of the given DTC identifier or an internal error code.

Fehler

FehlercodeBeschreibung
DiagErrc::kNoSuchDTCrollback_semantics No mapped DTC exits for the requested event.
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_00666
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00666@rel:R25-11#cab37c25
Content hash
cab37c25
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00666
Status: valid/unmigrated Version: rel:R25-11#4720f9ce Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00666@rel:R25-11#4720f9ce
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#cab37c252026-09-30
  • R19-11rel:R19-11#2b133ce82026-10-14
  • R20-11rel:R20-11#5cb3c7cb2026-10-14
  • R21-11rel:R21-11#5cb3c7cb2026-10-14
  • R22-11rel:R22-11#a6d6ac922026-10-14
  • R23-11rel:R23-11#5e0834612026-10-14
  • R24-11rel:R24-11#278b05692026-10-14
  • R25-11rel:R25-11#4720f9ce2026-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 GetEventMemoryOverflow [SWS_DM_00919] Upstream: RS_AP_00139, RS_Diag_04093

ara::core::Result< bool > GetEventMemoryOverflow () noexcept;

Contains the current event memory overflow status.

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

Rückgabewert

TypBeschreibung
ara::core::Result< bool >Current status of event memory overflow.

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_00919
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00919@rel:R25-11#fd3d5cef
Content hash
fd3d5cef
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00919
Status: valid/unmigrated Version: rel:R25-11#6a28b81d Versionshistorie & Revisions (1 transition, 7 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_00919@rel:R25-11#6a28b81d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fd3d5cef2026-09-30
  • R20-11rel:R20-11#bc4e55fb2026-10-14
  • R21-11rel:R21-11#4d41e6ba2026-10-14
  • R22-11rel:R22-11#a5aec1ca2026-10-14
  • R23-11rel:R23-11#6b21d4342026-10-14
  • R24-11rel:R24-11#ed9c77032026-10-14
  • R25-11rel:R25-11#6a28b81d2026-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 GetNumberOfStoredEntries [SWS_DM_00669] Upstream: RS_AP_00139, RS_Diag_04109

ara::core::Future< std::uint32_t > GetNumberOfStoredEntries () noexcept;

Contains the number of currently stored fault memory entries.

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

Rückgabewert

TypBeschreibung
ara::core::Future<std::uint32_t >Number of currently stored fault memory entries.

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_00669
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00669@rel:R25-11#979b7c2a
Content hash
979b7c2a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00669
Status: valid/unmigrated Version: rel:R25-11#92925d4f Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00669@rel:R25-11#92925d4f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#979b7c2a2026-09-30
  • R19-11rel:R19-11#ff0767122026-10-14
  • R20-11rel:R20-11#fc6a2e8d2026-10-14
  • R21-11rel:R21-11#693bfdcb2026-10-14
  • R22-11rel:R22-11#4b600d7b2026-10-14
  • R23-11rel:R23-11#1f26b60f2026-10-14
  • R24-11rel:R24-11#3280c0132026-10-14
  • R25-11rel:R25-11#92925d4f2026-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 SetControlDtcStatusNotifier [SWS_DM_00673] Upstream: RS_AP_00139, RS_Diag_04159

ara::core::Result< void > SetControlDtcStatusNotifier (ControlDtc StatusTypeNotifier notifier) noexcept;

Registers a notifier function which is called if the control DTC setting is changed. A consecutive call of this method will overwrite the previous registered notifier.

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

Usage and Call Context

The method SetControlDtcStatusNotifier belongs to class ara::diag::DTCInformation and is included via header ara/diag/dtc_information.h [SWS_DM_00673]. It serves to register an application-side callback function of type ControlDtcStatusTypeNotifier [SWS_DM_00673]. This notifier is called when the ControlDTCStatus changes for the respective diagnostic memory instance, which is associated with UDS service 0x85 (ControlDTCSetting) [SWS_DM_00673]. Calling the method repeatedly results in a previously registered notifier being overwritten [SWS_DM_00673].

Error Handling and Return Values

The return type used is ara::core::Result<void> [SWS_DM_00673]. In the event of success, the function returns no value, while in the event of an error, an error code is provided [SWS_DM_00673]. Code DiagErrc::kInvalidArgument is specified as a possible error [SWS_DM_00673]. The function is declared as noexcept and classified as exception safe, which is why callers do not need to handle any C++ exceptions [SWS_DM_00673].

Concurrency and specification status

The interface is explicitly designated as not thread-safe [SWS_DM_00673]. Therefore, parallel accesses to the same instance of ara::diag::DTCInformation must be synchronized by the caller. According to the documentation SWS Diagnostics §8.48.2.2.3.7 “SetControlDtcStatusNotifier”, the API definition in release R25-11 also has the status DRAFT.

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/dtc_information.h"
Scopeclass ara::diag::DTCInformation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the ControlDTCStatus (related to UDS service 0x85) for this diagnostic memory instance has changed.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00673
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00673@rel:R25-11#c8305729
Content hash
c8305729
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00673
Status: valid/unmigrated Version: rel:R25-11#4ec630cc Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00673@rel:R25-11#4ec630cc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c83057292026-09-30
  • R19-11rel:R19-11#86285d0c2026-10-14
  • R20-11rel:R20-11#c712c8f12026-10-14
  • R21-11rel:R21-11#c712c8f12026-10-14
  • R22-11rel:R22-11#f749ed1c2026-10-14
  • R23-11rel:R23-11#913bd39e2026-10-14
  • R24-11rel:R24-11#db62ff532026-10-14
  • R25-11rel:R25-11#4ec630cc2026-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 SetDTCStatusChangedNotifier [SWS_DM_00667] Upstream: RS_AP_00139, RS_Diag_04148

ara::core::Result< void > SetDTCStatusChangedNotifier (DtcStatus ChangedNotifier notifier) noexcept;

Register a notifier function which is called if a UDS DTC status is changed. A consecutive call of this method will overwrite the previous registered notifier.

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

With the function ara::diag::DTCInformation::SetDTCStatusChangedNotifier, an Adaptive Application (AA) registers a callback function that is called upon every change in the UDS DTC status ([SWS_DM_00667]). As soon as the status of a DTC assigned to the respective event memory changes, Diagnostic Management (DM) triggers this notifier for the affected DTC ([SWS_DM_01031], SWS Diagnostics §7.3.4.4.2.2 “UDS DTC Status change notifications”).

The interface has the following properties and parameters (SWS Diagnostics §8.48.2.2.3.8 “SetDTCStatusChangedNotifier”):

  • Parameter: notifier accepts the function object of type DtcStatusChangedNotifier to be called ([SWS_DM_00667]).
  • Return value: The function returns ara::core::Result<void> and is declared as noexcept ([SWS_DM_00667]).
  • Error handling: No standardized error codes are defined; the function is specified as exception-safe (exception safe) ([SWS_DM_00667]).
  • Concurrency: The method is not thread-safe (not thread-safe) ([SWS_DM_00667]). Parallel calls on the same instance must be synchronized on the caller side.

If SetDTCStatusChangedNotifier is called repeatedly on the same instance of ara::diag::DTCInformation, DM completely overwrites the previously registered notifier ([SWS_DM_01350]). In the overall system, the notifier complements the synchronous status query via GetCurrentStatus with event-based notification of status changes in the event memory (SWS Diagnostics §7.3.4.4.2.2 “UDS DTC Status change notifications”).

This text was generated by an AI based on the AUTOSAR specification and serves as guidance.

Implementer's Guide to follow (complexity I2)

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

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if a DTC status has changed.

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns void.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_DM_00667
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00667@rel:R25-11#a147750e
Content hash
a147750e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00667
Status: valid/unmigrated Version: rel:R25-11#286c80fc Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00667@rel:R25-11#286c80fc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a147750e2026-09-30
  • R19-11rel:R19-11#8e0838282026-10-14
  • R20-11rel:R20-11#589d43672026-10-14
  • R21-11rel:R21-11#5dfb752f2026-10-14
  • R22-11rel:R22-11#b086a9df2026-10-14
  • R23-11rel:R23-11#7bcc21302026-10-14
  • R24-11rel:R24-11#f5acd9ba2026-10-14
  • R25-11rel:R25-11#286c80fc2026-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 SetEventMemoryOverflowNotifier [SWS_DM_00918] Upstream: RS_AP_00139, RS_Diag_04093

ara::core::Result< void > SetEventMemoryOverflowNotifier (EventMemory OverflowSetNotifier notifier) noexcept;

Register a notifier function which is called if the current event memory overflow status changed. A consecutive call of this method will overwrite the previous registered notifier.

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

Function SetEventMemoryOverflowNotifier of class ara::diag::DTCInformation (AUTOSAR_AP_SWS_Diagnostics §8.48.2.2.3.9 “SetEventMemoryOverflowNotifier”) serves to register a callback function (notifier) that is called upon a change in the overflow status of the associated event memory [SWS_DM_00918].

Usage and semantics: The call is made via an instance of ara::diag::DTCInformation including header file ara/diag/dtc_information.h. Parameter notifier accepts a function object of type EventMemory OverflowSetNotifier. Upon successful registration, the method returns an empty ara::core::Result<void> [SWS_DM_00918].

Interaction and triggering: An overflow occurs when the maximum configured number of entries (DiagnosticMemoryDestination.maxNumberOfEventEntries) is already stored in an event memory and an additional entry is to be stored (AUTOSAR_AP_SWS_Diagnostics §7.3.4.4.9 “Event memory overflow”, [SWS_DM_00923]). If an overflow was registered, the Diagnostic Management module calls the notifier after the next execution of clearing all DTCs (clear all DTCs) for the respective event memory with the parameter value false [SWS_DM_00926].

Concurrency and limitations: The function is declared as noexcept and considered exception safe (exception safe), but is not thread-safe (not thread-safe) [SWS_DM_00918]. Parallel calls on the same instance must therefore be synchronized externally. If SetEventMemoryOverflowNotifier is called multiple times, the new call completely overwrites the previously registered notifier [SWS_DM_01354].

Error handling: If the operation fails, the error code DiagErrc::kInvalidArgument is returned in ara::core::Result [SWS_DM_00918].

This usage note was generated automatically. The specifications of the respective AUTOSAR release are authoritative.

Implementer's Guide to follow (complexity I2)

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

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the overflow status for this diagnostic event memory instance has changed.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00918
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00918@rel:R25-11#287c26ab
Content hash
287c26ab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00918
Status: valid/unmigrated Version: rel:R25-11#4caa8701 Versionshistorie & Revisions (1 transition, 7 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_00918@rel:R25-11#4caa8701
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#287c26ab2026-09-30
  • R20-11rel:R20-11#862008632026-10-14
  • R21-11rel:R21-11#862008632026-10-14
  • R22-11rel:R22-11#504188a92026-10-14
  • R23-11rel:R23-11#4299ebc42026-10-14
  • R24-11rel:R24-11#ef0d0c832026-10-14
  • R25-11rel:R25-11#4caa87012026-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 SetNumberOfStoredEntriesNotifier [SWS_DM_00670] Upstream: RS_AP_00139, RS_Diag_04109

ara::core::Result< void > SetNumberOfStoredEntriesNotifier (NumberOf StoredEntriesNotifier notifier) noexcept;

Register a notifier function which is called if the number of currently stored fault memory entries changed. A consecutive call of this method will overwrite the previous registered notifier.

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

The method SetNumberOfStoredEntriesNotifier of class ara::diag::DTCInformation (declared in ara/diag/dtc_information.h) serves to register a callback function of type NumberOfStoredEntriesNotifier ([SWS_DM_00670]). This function is notified as soon as the number of entries stored in the event memory of the respective event memory instance changes (AUTOSAR_AP_SWS_Diagnostics §8.48.2.2.3.10 “SetNumberOfStoredEntriesNotifier”).

The following specifications apply to usage and runtime behavior:

  • Overwriting registration: Only one callback function can be active per instance at a time. A new call to the method completely overwrites the previously registered notifier ([SWS_DM_00670]).
  • Concurrency and safety: The method is provided with noexcept and specified as exception-safe (exception safe) ([SWS_DM_00670]). However, since it is classified as not thread-safe (not thread-safe), parallel accesses to the same instance must be synchronized on the application side.
  • Error handling: The function returns a ara::core::Result<void> ([SWS_DM_00670]). If registration fails, error code DiagErrc::kInvalidArgument is reported back ([SWS_DM_00670]); this is likely the case in particular when an invalid notifier is passed. Question Q-27e5e89452a7dfbb (open)

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

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the number of entries for this diagnostic event memory instance has changed.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00670
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00670@rel:R25-11#59e674f7
Content hash
59e674f7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00670
Status: valid/unmigrated Version: rel:R25-11#e4768ac4 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00670@rel:R25-11#e4768ac4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#59e674f72026-09-30
  • R19-11rel:R19-11#aaba3bd42026-10-14
  • R20-11rel:R20-11#2a82bad22026-10-14
  • R21-11rel:R21-11#2164b2c12026-10-14
  • R22-11rel:R22-11#407991962026-10-14
  • R23-11rel:R23-11#6da92b3b2026-10-14
  • R24-11rel:R24-11#79f5f8922026-10-14
  • R25-11rel:R25-11#e4768ac42026-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 SetSnapshotRecordUpdatedNotifier [SWS_DM_00668] Upstream: RS_AP_00139, RS_Diag_04205, RS_Diag_04091

ara::core::Result< void > SetSnapshotRecordUpdatedNotifier (Snapshot RecordUpdatedTypeNotifier notifier) noexcept;

Register a notifier function which is called if the SnapshotRecord is changed. A consecutive call of this method will overwrite the previous registered notifier.

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

Usage and Flow

The method ara::diag::DTCInformation::SetSnapshotRecordUpdatedNotifier serves to register a callback function of type SnapshotRecordUpdatedTypeNotifier, which is called as soon as a snapshot record changes ([SWS_DM_00668], AUTOSAR_AP_SWS_Diagnostics §8.48.2.2.3.11 “SetSnapshotRecordUpdatedNotifier”). Subsequent calls to this method are permitted and completely overwrite a previously registered notifier ([SWS_DM_00668]).

Error handling and signature

The function is declared as noexcept and guarantees exception safety (exception safe) ([SWS_DM_00668]). The return type used is ara::core::Result<void>, via which errors are returned synchronously. In the event of an error, error code DiagErrc::kInvalidArgument can be returned ([SWS_DM_00668]). Interpretation: The specification note "rollback_semantics e.g. kPreFailed with internal debouncing" is likely to indicate that this error is reported for invalid states during internal debouncing and rollbacks. Question Q-481ee254b8395fef (open)

Concurrency and Limitations

The method is explicitly specified as not thread-safe (not thread-safe) ([SWS_DM_00668]). Calling components must ensure that concurrent accesses to the same ara::diag::DTCInformation object are externally synchronized.

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

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
notifierThe function to be called if the SnapshotRecord is changed.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_00668
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00668@rel:R25-11#90a52217
Content hash
90a52217
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00668
Status: valid/unmigrated Version: rel:R25-11#2b6804c1 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00668@rel:R25-11#2b6804c1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#90a522172026-09-30
  • R19-11rel:R19-11#5f4542c92026-10-14
  • R20-11rel:R20-11#3eae650e2026-10-14
  • R21-11rel:R21-11#c55d6a4d2026-10-14
  • R22-11rel:R22-11#342557812026-10-14
  • R23-11rel:R23-11#4c6d1bdf2026-10-14
  • R24-11rel:R24-11#a2730d9c2026-10-14
  • R25-11rel:R25-11#2b6804c12026-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_01611] Upstream: RS_AP_00147

DTCInformation & operator= (DTCInformation &)=delete;

DTCInformation shall be a single not assignable instance.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01611
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01611@rel:R25-11#37a5dd0e
Content hash
37a5dd0e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01611
Status: valid/unmigrated Version: rel:R25-11#9ad4aa67 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01611@rel:R25-11#9ad4aa67
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#37a5dd0e2026-09-30
  • R23-11rel:R23-11#2833d1282026-10-14
  • R24-11rel:R24-11#9ad4aa672026-10-14
  • R25-11rel:R25-11#9ad4aa672026-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_01612] Upstream: RS_AP_00147

DTCInformation & operator= (DTCInformation &&)=delete;

Move assignment operator of DTCInformation.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation

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

Record
AUTOSAR/AP/record/SWS_DM_01612
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01612@rel:R25-11#ea65d502
Content hash
ea65d502
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01612
Status: valid/unmigrated Version: rel:R25-11#cdf852d3 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01612@rel:R25-11#cdf852d3
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ea65d5022026-09-30
  • R23-11rel:R23-11#4efeb4b72026-10-14
  • R24-11rel:R24-11#cdf852d32026-10-14
  • R25-11rel:R25-11#cdf852d32026-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 ~DTCInformation [SWS_DM_00665] Upstream: RS_AP_00134

~DTCInformation () noexcept;

Destructor of class DTCInformation.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
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_00665
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00665@rel:R25-11#d4ee6838
Content hash
d4ee6838
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00665
Status: valid/unmigrated Version: rel:R25-11#ab3a3ea0 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_00665@rel:R25-11#ab3a3ea0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d4ee68382026-09-30
  • R19-11rel:R19-11#0397cd102026-10-14
  • R20-11rel:R20-11#2fe669ab2026-10-14
  • R21-11rel:R21-11#2fe669ab2026-10-14
  • R22-11rel:R22-11#2c8729262026-10-14
  • R23-11rel:R23-11#ee44ac412026-10-14
  • R24-11rel:R24-11#0d07d76c2026-10-14
  • R25-11rel:R25-11#ab3a3ea02026-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

Type alias documentation

type alias ControlDtcStatusTypeNotifier [SWS_DM_02125] Upstream: RS_AP_00139, RS_Diag_04159

using ControlDtcStatusTypeNotifier = std::function<void(ControlDtc StatusType)>;

Registers a notifier function which is called if the control DTC setting is changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolControlDtcStatusTypeNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02125
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02125@rel:R25-11#15ab5e33
Content hash
15ab5e33
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02125
Status: valid/unmigrated Version: rel:R25-11#15ab5e33 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_02125@rel:R25-11#15ab5e33
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

type alias DtcStatusChangedNotifier [SWS_DM_02122] Upstream: RS_AP_00139, RS_Diag_04148

using DtcStatusChangedNotifier = std::function<void(std::uint32_t dtc, UdsDtcStatusByteType udsStatusByteOld, UdsDtcStatusByteType udsStatus ByteNew)>;

Register a notifier function which is called if a UDS DTC status is changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolDtcStatusChangedNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02122
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02122@rel:R25-11#8c9e2f83
Content hash
8c9e2f83
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02122
Status: valid/unmigrated Version: rel:R25-11#8c9e2f83 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_02122@rel:R25-11#8c9e2f83
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

type alias EventMemoryOverflowSetNotifier [SWS_DM_02076] Upstream: RS_AP_00139, RS_Diag_04093

using EventMemoryOverflowSetNotifier = std::function<void(bool)>;

Notifier function which is called if the current event memory overflow status changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolEventMemoryOverflowSetNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02076
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02076@rel:R25-11#e9f0e2d6
Content hash
e9f0e2d6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02076
Status: valid/unmigrated Version: rel:R25-11#015b2c76 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02076@rel:R25-11#015b2c76
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#e9f0e2d62026-09-30
  • R24-11rel:R24-11#65f359f92026-10-14
  • R25-11rel:R25-11#015b2c762026-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

type alias NumberOfStoredEntriesNotifier [SWS_DM_02124] Upstream: RS_AP_00139, RS_Diag_04109

using NumberOfStoredEntriesNotifier = std::function<void(std::uint32_ t)>;

Register a notifier function which is called if the number of currently stored fault memory entries changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolNumberOfStoredEntriesNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02124
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02124@rel:R25-11#85521efa
Content hash
85521efa
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02124
Status: valid/unmigrated Version: rel:R25-11#85521efa 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_02124@rel:R25-11#85521efa
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

type alias SnapshotRecordUpdatedTypeNotifier [SWS_DM_02123] Upstream: RS_AP_00139, RS_Diag_04205, RS_Diag_04091

using SnapshotRecordUpdatedTypeNotifier = std::function<void(Snapshot RecordUpdatedType)>;

Register a notifier function which is called if the SnapshotRecord is changed.

Header-Datei#include "ara/diag/dtc_information.h"
Scopeclass ara::diag::DTCInformation
SymbolSnapshotRecordUpdatedTypeNotifier
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_02123
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02123@rel:R25-11#c8517c79
Content hash
c8517c79
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02123
Status: valid/unmigrated Version: rel:R25-11#c8517c79 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_02123@rel:R25-11#c8517c79
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