DEENESPTFRRUARHIKOZHNL

класс ara::diag::MultipleEvent

[SWS_DM_01704] Upstream: RS_Diag_04151

class MultipleEvent final {...};

Class to implement operations on diagnostic Events with the multiple event interfaces.

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

Руководство пользователяСОЗДАНО ИИ

Позволяет опрашивать и отслеживать несколько диагностических событий с помощью дескрипторов событий и уведомлений через обратный вызов.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4cd8b0cbe34d Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Позволяет опрашивать и отслеживать несколько диагностических событий с помощью дескрипторов событий и уведомлений через обратный вызов.

Класс позволяет приложениям выполнять опрос состояний и мониторинг нескольких диагностических событий через общий интерфейс на основе дескрипторов событий [SWS_DM_01705]. Помимо регистрации обратных вызовов для уведомлений, доступны асинхронные методы для определения статуса события, устранения дребезга, счетчика ошибок и номера DTC [SWS_DM_01707], [SWS_DM_01709]. Экземпляры не могут ни копироваться, ни перемещаться, и из-за непотокобезопасного деструктора требуют корректного завершения активных операций перед освобождением [SWS_DM_01706], [SWS_DM_02067].

Контекст

Класс ara::diag::MultipleEvent предоставляет приложению интерфейсы для опроса и мониторинга диагностических событий через интерфейсы для множественных событий [SWS_DM_01705]. В отличие от классов одиночных событий, операции над экземплярами MultipleEvent обращаются к конкретным событиям через идентификатор типа EventHandleType [SWS_DM_01707], [SWS_DM_01708]. Класс действует как интерфейс между использующим программным компонентом и управлением диагностикой (Diagnostic Management, DM) в Adaptive AUTOSAR AUTOSAR AP SWS Diagnostics, с. 69. Через прототип порта DiagnosticMultipleEventInterface объект привязывается к сконфигурированной диагностической инфраструктуре [SWS_DM_01705].

Жизненный цикл

Экземпляр MultipleEvent создается через явный конструктор с указанием ara::core::InstanceSpecifier [SWS_DM_01705]. Конструктор является потокобезопасным и проверяет смоделированную привязку к прототипу порта с типом интерфейса DiagnosticMultipleEventInterface [SWS_DM_01705]. Если сопоставление завершается сбоем или один и тот же идентификатор экземпляра используется повторно в рамках процесса, платформа сообщает о соответствующих нарушениях, таких как InstanceSpecifierAlreadyInUseViolation или PortInterfaceMappingViolation [SWS_DM_01705].

Операции копирования и перемещения для MultipleEvent полностью заблокированы: как конструкторы копирования и перемещения, так и соответствующие операторы присваивания объявлены удаленными [SWS_DM_02067], [SWS_DM_02068], [SWS_DM_02069], [SWS_DM_02070]. Таким образом, объект обладает строгой идентичностью и остается в месте своего создания. Деструктор ~MultipleEvent() специфицирован как непотокобезопасный [SWS_DM_01706]. Поэтому вызывающие компоненты перед уничтожением должны убедиться, что через данный экземпляр больше не выполняются асинхронные опросы или уведомления AUTOSAR AP SWS Diagnostics, с. 78.

Путь использования

После создания экземпляра приложение обычно регистрирует функцию обратного вызова с помощью SetEventStatusChangedNotifier, чтобы получать информацию об изменениях статуса определенного события (идентифицируемого через EventHandleType) [SWS_DM_01708]. Повторный вызов этого метода для того же события перезаписывает ранее установленный нотификатор [SWS_DM_01708]. Эта функция регистрации не является потокобезопасной [SWS_DM_01708].

Во время работы актуальная диагностическая информация может быть целенаправленно запрошена для каждого дескриптора события. Все операции чтения, связанные с состоянием, возвращают свои данные асинхронно в ara::core::Future:

  • GetEventStatus возвращает текущий байт статуса события как EventStatusByte [SWS_DM_01707].
  • GetDebouncingStatus возвращает состояние устранения дребезга (DebouncingState) события [SWS_DM_01710].
  • GetFaultDetectionCounter возвращает текущий счетчик обнаружения ошибок (FaultDetectionCounter) в виде 8-битного целочисленного значения со знаком [SWS_DM_01711].
  • GetDTCNumber опрашивает назначенный номер DTC в запрошенном DTCFormatType [SWS_DM_01709].

Потокобезопасность этих функций опроса зависит от конфигурации [SWS_DM_01707], [SWS_DM_01709], [SWS_DM_01710], [SWS_DM_01711].

Nutzungsablauf ara::diag::MultipleEventПриложениеMultipleEventDiagnoseManagementUse Case: InstanziierungMultipleEvent(specifier)Bindung an PortPrototypeПодтверждение / предоставлениеUse Case: Notifier-RegistrierungSetEventStatusChangedNotifier(handle, notifier)Result<void>Use Case: Запрос статуса и DTCGetEventStatus(handle)Statusabfrage weiterleitenEventStatusByteFuture<EventStatusByte>GetDTCNumber(handle, dtcFormat)DTC-Abfrage weiterleitenDTC-NummerFuture<uint32_t>

Диаграмма последовательности: типичный путь использования для наблюдения и опроса диагностических событий через MultipleEvent. Источники: [SWS_DM_01705], [SWS_DM_01707], [SWS_DM_01708], [SWS_DM_01709], [SWS_DM_01710], [SWS_DM_01711]

Сценарии ошибок

Методы MultipleEvent сигнализируют о состояниях ошибок через тип DiagErrc, который передается инкапсулированным либо в ara::core::Result, либо в возвращаемом ara::core::Future [SWS_DM_01707], [SWS_DM_01708], [SWS_DM_01709]. Специфицированы следующие случаи ошибок:

  • DiagErrc::kInvalidArgument: возникает при передаче недопустимых параметров, например, недействительного EventHandleType, или при внутренних ошибках устранения дребезга, таких как kPreFailed [SWS_DM_01707], [SWS_DM_01708], [SWS_DM_01709], [SWS_DM_01710], [SWS_DM_01711].
  • DiagErrc::kNoSuchDTC: сообщается GetDTCNumber, если для запрошенного диагностического события не сконфигурирован или не сопоставлен соответствующий DTC [SWS_DM_01709].
  • DiagErrc::kServiceNotAvailable: возникает при операциях чтения, если базовые функциональные возможности Diagnostic Management, необходимые для работы, недоступны во время выполнения [SWS_DM_01707], [SWS_DM_01709], [SWS_DM_01710], [SWS_DM_01711].

В случае ошибки операции гарантируют семантику отката [SWS_DM_01707], [SWS_DM_01709].

Данное руководство основано исключительно на требованиях спецификации AUTOSAR Adaptive R25-11.

Карта членов

Диаграмма классов

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

G nara__diag__MultipleEvent593 MultipleEvent + MultipleEvent() + operator=() + ~MultipleEvent() + GetDTCNumber() + GetDebouncingStatus() + GetEventStatus() + GetFaultDetectionCounter() + SetEventStatusChangedNotifier()

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

MultipleEvent функция 3

Constructor MultipleEvent class.

Перегрузки MultipleEvent 3
explicit MultipleEvent (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_01705
MultipleEvent (MultipleEvent &&) noexcept=delete; SWS_DM_02069
MultipleEvent (MultipleEvent &)=delete; SWS_DM_02070
~MultipleEvent функция

Destructor of class MultipleEvent.

~MultipleEvent () noexcept;

Методы

GetDebouncingStatus функция

Get the current debouncing status of the requested event.

ara::core::Future< DebouncingState > GetDebouncingStatus (EventHandle Type eventHandle) noexcept;
GetDTCNumber функция

Returns the DTC-ID related to requested event.

ara::core::Future< std::uint32_t > GetDTCNumber (EventHandleType event Handle, DTCFormatType dtcFormat) noexcept;
GetEventStatus функция

Returns the current status of the requested event.

ara::core::Future< EventStatusByte > GetEventStatus (EventHandleType eventHandle) noexcept;

Returns the current value of Fault Detection Counter of the selected event.

ara::core::Future< std::int8_t > GetFaultDetectionCounter (EventHandle Type eventHandle) noexcept;

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

ara::core::Result< void > SetEventStatusChangedNotifier (EventHandle Type eventHandle, EventStatusByteNotifier notifier) noexcept;

Операторы

operator= функция 2

Copy assignment operator of MultipleEvent.

Перегрузки = 2
MultipleEvent & operator= (MultipleEvent &)=delete; SWS_DM_02067
MultipleEvent & operator= (MultipleEvent &&)=delete; SWS_DM_02068

Документация методов

функция GetDTCNumber [SWS_DM_01709] Upstream: RS_Diag_04201, RS_AP_00139, RS_AP_00119

ara::core::Future< std::uint32_t > GetDTCNumber (EventHandleType event Handle, DTCFormatType dtcFormat) noexcept;

Returns the DTC-ID related to requested event.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
eventHandleIdentifies the requested event
dtcFormatDefine DTC format type for the return value.

Rückgabewert

TypBeschreibung
ara::core::Future<std::uint32_t >DTC number in respective DTCFormatType.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing
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_01709
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01709@rel:R25-11#7653e04b
Content hash
7653e04b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01709
Status: valid/unmigrated Version: rel:R25-11#e7981753 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_01709@rel:R25-11#e7981753
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#bec474d72026-09-30
  • R23-11rel:R23-11#9a0ba31b2026-10-14
  • R24-11rel:R24-11#e8916a392026-10-14
  • R25-11rel:R25-11#e79817532026-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

функция GetDebouncingStatus [SWS_DM_01710] Upstream: RS_Diag_04068, RS_Diag_04225, RS_AP_00139

ara::core::Future< DebouncingState > GetDebouncingStatus (EventHandle Type eventHandle) noexcept;

Get the current debouncing status of the requested event.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
eventHandleIdentifies the requested event

Rückgabewert

TypBeschreibung
ara::core::Future<DebouncingState >Return the current debouncing state of this event.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing
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_01710
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01710@rel:R25-11#1b776ebd
Content hash
1b776ebd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01710
Status: valid/unmigrated Version: rel:R25-11#66286266 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_01710@rel:R25-11#66286266
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#02687f5a2026-09-30
  • R23-11rel:R23-11#74e6f1862026-10-14
  • R24-11rel:R24-11#ae2c6ff62026-10-14
  • R25-11rel:R25-11#662862662026-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

функция GetEventStatus [SWS_DM_01707] Upstream: RS_Diag_04151, RS_AP_00139

ara::core::Future< EventStatusByte > GetEventStatus (EventHandleType eventHandle) noexcept;

Returns the current status of the requested event.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
eventHandleHandle of the Event

Rückgabewert

TypBeschreibung
ara::core::Future< EventStatusByte >Returns the current diagnostic event status

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing
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_01707
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01707@rel:R25-11#d2fae036
Content hash
d2fae036
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01707
Status: valid/unmigrated Version: rel:R25-11#60d26ba2 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_01707@rel:R25-11#60d26ba2
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#00fb8fb82026-09-30
  • R23-11rel:R23-11#959068f12026-10-14
  • R24-11rel:R24-11#dd57a5052026-10-14
  • R25-11rel:R25-11#60d26ba22026-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

функция GetFaultDetectionCounter [SWS_DM_01711] Upstream: RS_AP_00139

ara::core::Future< std::int8_t > GetFaultDetectionCounter (EventHandle Type eventHandle) noexcept;

Returns the current value of Fault Detection Counter of the selected event.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
eventHandleIdentifies the requested event

Rückgabewert

TypBeschreibung
ara::core::Future<std::int8_t >Return the current FaultDetectionCounter value.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing
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_01711
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01711@rel:R25-11#4d80d8a6
Content hash
4d80d8a6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01711
Status: valid/unmigrated Version: rel:R25-11#5c4028f4 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_01711@rel:R25-11#5c4028f4
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#4982ea842026-09-30
  • R23-11rel:R23-11#50dedae62026-10-14
  • R24-11rel:R24-11#58737ccd2026-10-14
  • R25-11rel:R25-11#5c4028f42026-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

функция MultipleEvent [SWS_DM_01705] Upstream: RS_Diag_04151, RS_AP_00137, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

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

Constructor MultipleEvent class.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent
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 DiagnosticMultipleEventPortMapping needs to be typed by a DiagnosticMultipleEventInterface. 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 DiagnosticMultipleEventInterface.

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

Record
AUTOSAR/AP/record/SWS_DM_01705
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01705@rel:R25-11#f76531fe
Content hash
f76531fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01705
Status: valid/unmigrated Version: rel:R25-11#14b1154a 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_01705@rel:R25-11#14b1154a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e97676eb2026-09-30
  • R23-11rel:R23-11#4e9686b02026-10-14
  • R24-11rel:R24-11#b064f42e2026-10-14
  • R25-11rel:R25-11#14b1154a2026-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

функция MultipleEvent [SWS_DM_02069] Upstream: RS_AP_00147

MultipleEvent (MultipleEvent &&) noexcept=delete;

Move constructor of MultipleEvent.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent

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

Record
AUTOSAR/AP/record/SWS_DM_02069
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02069@rel:R25-11#a6f0ee3d
Content hash
a6f0ee3d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02069
Status: valid/unmigrated Version: rel:R25-11#8fc0e2a4 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_02069@rel:R25-11#8fc0e2a4
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#8bb5b78d2026-09-30
  • R24-11rel:R24-11#8fc0e2a42026-10-14
  • R25-11rel:R25-11#8fc0e2a42026-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

функция MultipleEvent [SWS_DM_02070] Upstream: RS_AP_00147

MultipleEvent (MultipleEvent &)=delete;

Copy constructor of MultipleEvent.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent

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

Record
AUTOSAR/AP/record/SWS_DM_02070
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02070@rel:R25-11#a923db6d
Content hash
a923db6d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02070
Status: valid/unmigrated Version: rel:R25-11#fff39381 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_02070@rel:R25-11#fff39381
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#b96cd6282026-09-30
  • R24-11rel:R24-11#fff393812026-10-14
  • R25-11rel:R25-11#fff393812026-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

функция SetEventStatusChangedNotifier [SWS_DM_01708] Upstream: RS_Diag_04183, RS_AP_00139

ara::core::Result< void > SetEventStatusChangedNotifier (EventHandle Type eventHandle, EventStatusByteNotifier notifier) noexcept;

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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: bd91ad4f4cb5 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод ara::diag::MultipleEvent::SetEventStatusChangedNotifier [SWS_DM_01708] регистрирует функцию обратного вызова типа EventStatusByteNotifier, которая вызывается при изменении состояния диагностического события. Через параметр eventHandle идентифицируется требуемое событие внутри экземпляра. Метод специфицирован как noexcept и возвращает ara::core::Result<void>. Повторный вызов перезаписывает ранее зарегистрированный нотификатор [SWS_DM_01708].

Обработка ошибок

Если при регистрации возникает ошибка, ara::core::Result возвращает соответствующий код ошибки. Специфицирована ошибка DiagErrc::kInvalidArgument, например, в контексте внутреннего дебаунсинга, такого как kPreFailed [SWS_DM_01708].

Параллелизм и ограничения

Операция объявлена как exception safe, однако явно классифицирована как not thread-safe [SWS_DM_01708]. Одновременные вызовы на одном и том же экземпляре поэтому должны синхронизироваться извне.

Взаимодействие

В то время как класс ara::diag::Event с SetEventStatusChangedNotifier [SWS_DM_00650] управляет отдельными событиями без дескриптора, MultipleEvent объединяет несколько событий. Вероятно, Diagnostic Management (DM) аналогично [SWS_DM_01029] при каждом изменении состояния сопоставленного через eventHandle события инициирует вызов зарегистрированного нотификатора AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.7 «Event status change notifications». Вопрос Q-ef7791b2a1106582 (открытый)

Это указание по использованию было создано автоматически на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
eventHandleIdentifies the requested event
notifierThe function to be called if a diagnostic event 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
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_01708
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01708@rel:R25-11#2ae66d89
Content hash
2ae66d89
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01708
Status: valid/unmigrated Version: rel:R25-11#75cdce7a 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_01708@rel:R25-11#75cdce7a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8d52a1ae2026-09-30
  • R23-11rel:R23-11#09aaa2182026-10-14
  • R24-11rel:R24-11#f4a611642026-10-14
  • R25-11rel:R25-11#75cdce7a2026-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

функция operator= [SWS_DM_02067] Upstream: RS_AP_00147

MultipleEvent & operator= (MultipleEvent &)=delete;

Copy assignment operator of MultipleEvent.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent

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

Record
AUTOSAR/AP/record/SWS_DM_02067
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02067@rel:R25-11#e907d9c2
Content hash
e907d9c2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02067
Status: valid/unmigrated Version: rel:R25-11#5d5f9dd0 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_02067@rel:R25-11#5d5f9dd0
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#eea970b12026-09-30
  • R24-11rel:R24-11#5d5f9dd02026-10-14
  • R25-11rel:R25-11#5d5f9dd02026-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

функция operator= [SWS_DM_02068] Upstream: RS_AP_00147

MultipleEvent & operator= (MultipleEvent &&)=delete;

Move assignment operator of MultipleEvent.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent

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

Record
AUTOSAR/AP/record/SWS_DM_02068
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02068@rel:R25-11#34ffda9d
Content hash
34ffda9d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02068
Status: valid/unmigrated Version: rel:R25-11#77174b30 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_02068@rel:R25-11#77174b30
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#5e2fb56f2026-09-30
  • R24-11rel:R24-11#77174b302026-10-14
  • R25-11rel:R25-11#77174b302026-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

функция ~MultipleEvent [SWS_DM_01706] Upstream: RS_Diag_04151, RS_AP_00134

~MultipleEvent () noexcept;

Destructor of class MultipleEvent.

Header-Datei#include "ara/diag/multiple_event.h"
Scopeclass ara::diag::MultipleEvent
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_01706
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01706@rel:R25-11#9e392e50
Content hash
9e392e50
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01706
Status: valid/unmigrated Version: rel:R25-11#3c4e00c2 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_01706@rel:R25-11#3c4e00c2
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#de8d63a32026-09-30
  • R23-11rel:R23-11#93abb2b92026-10-14
  • R24-11rel:R24-11#3edfe3082026-10-14
  • R25-11rel:R25-11#3c4e00c22026-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