DEENESPTFRRUARHIKOZHNL

class ara::diag::DoIPTriggerVehicleAnnouncement

[SWS_DM_00820] Upstream: RS_Diag_04242

class DoIPTriggerVehicleAnnouncement {...};

DiagnosticDoIPTriggerVehicleAnnouncement.

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

User GuideAI-GENERATED

Used for specifically triggering DoIP vehicle announcements on a specified network interface.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: f854d0aec1c7 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Used for specifically triggering DoIP vehicle announcements on a specified network interface.

The class [SWS_DM_00820] is used by Adaptive Applications to explicitly trigger the sending of DoIP vehicle announcements according to ISO 13400-2 on a specific network interface with Diagnostic Management. Access is not performed via proprietary instantiation, but statically via an object reference provided by the system ([SWS_DM_00821]). For interfaces with activation line-dependent control, explicit invocation is not permitted because sending occurs fully automatically there ([SWS_DM_00822]).

Context

The class ara::diag::DoIPTriggerVehicleAnnouncement ([SWS_DM_00820]) provides an API in header ara/diag/doip_trigger_vehicle_announcement.h (AUTOSAR_AP_SWS_Diagnostics §8.36.1 “Class: DoIPTriggerVehicleAnnouncement”) that allows an Adaptive Application to trigger the targeted sending of DoIP vehicle announcements (“Vehicle Announcement Messages”) ([SWS_DM_00815], [SWS_DM_00822]).

In DoIP communication according to ISO 13400-2, sending vehicle announcements is primarily an internal task of Diagnostic Management (DM) (AUTOSAR_AP_SWS_Diagnostics §“About DiagnosticDoIPTriggerVehicleAnnouncementInterface”). By default, the DM sends these messages as a broadcast to other IP ECUs and gateways when the network starts up, as well as upon detecting the connection of an external diagnostic tester (AUTOSAR_AP_SWS_Diagnostics §“About DiagnosticDoIPTriggerVehicleAnnouncementInterface”). Via ara::diag::DoIPTriggerVehicleAnnouncement, applications are nevertheless given the opportunity to explicitly initiate this transmission for a specific network interface ([SWS_DM_00815], [SWS_DM_00820]).

diag_kontext app Adaptive Application api ara::diag::DoIPTriggerVehicleAnnouncement app->api TriggerVehicleAnnouncement() dm Diagnostic Management (DM) api->dm Weiterleitung an DM net DoIP-Netzwerkschnittstelle dm->net Vehicle Announcement (ISO 13400-2)

Context diagram: Interaction partners when triggering DoIP vehicle announcements via the Diagnostic Manager. Sources: [SWS_DM_00815], [SWS_DM_00820], AUTOSAR_AP_SWS_Diagnostics §“About DiagnosticDoIPTriggerVehicleAnnouncementInterface”.

Lifecycle

The creation and destruction of instances of class DoIPTriggerVehicleAnnouncement are subject to strict requirements: Both the default constructor ([SWS_DM_02100]) and the destructor ([SWS_DM_02101]) are declared as delete, private, and vendor-specific in their concrete design. Applications can therefore neither directly instantiate nor destroy objects of this class.

Access to the interface takes place statically via the function GetDoIPTriggerVehicleAnnouncement() ([SWS_DM_00821]). This returns a ara::core::Result<std::reference_wrapper<DoIPTriggerVehicleAnnouncement>>, providing the caller with a reference to the service object provided by the DM. Interpretation: Due to the private, deleted constructors and the return of an object reference, the class is likely managed internally by the DM as a long-lived singleton. Question Q-cecb961746b3ad13 (open)

Regarding concurrency, neither the interface query GetDoIPTriggerVehicleAnnouncement() nor the method invocation TriggerVehicleAnnouncement() are specified as thread-safe (“not thread-safe”) ([SWS_DM_00821], [SWS_DM_00822]). Concurrent access from multiple threads therefore requires external synchronization. Both methods are specified as exception-safe (“exception safe”) ([SWS_DM_00821], [SWS_DM_00822]).

Usage Path

The typical sequence for requesting a DoIP vehicle announcement is divided into the following steps:

  1. Retrieve instance: The application statically calls ara::diag::DoIPTriggerVehicleAnnouncement::GetDoIPTriggerVehicleAnnouncement() ([SWS_DM_00821]).
  2. Evaluate result: The resulting ara::core::Result is checked for errors; on success, the reference is unwrapped.
  3. Request announcement: Transmission on the desired network interface is triggered via method TriggerVehicleAnnouncement(networkInterfaceId) ([SWS_DM_00822]).
  4. Message transmission by DM: The DM processes the request and sends vehicle announcement messages according to ISO 13400-2 on the interface identified by networkInterfaceId ([SWS_DM_00815]).
Sequence for triggering DoIP vehicle announcementsAdaptive ApplicationDoIPTriggerVehicleAnnouncementDiagnostic ManagementDoIP-NetzwerkGetDoIPTriggerVehicleAnnouncement()Result<reference_wrapper<DoIPTriggerVehicleAnnouncement>>TriggerVehicleAnnouncement(networkInterfaceId)Trigger transmissionVehicle Announcement Message (ISO 13400-2)Result<void>

Sequence diagram: Call sequence for triggering DoIP vehicle announcements. Sources: [SWS_DM_00815], [SWS_DM_00821], [SWS_DM_00822].

Error Scenarios

A central error scenario when using TriggerVehicleAnnouncement concerns activation line-dependent network interfaces: If the passed networkInterfaceId belongs to an interface configuration (DoIPNetworkConfiguration) in which property isActivationLineDependent = TRUE is set, the call results in an error ([SWS_DM_00822]). On such interfaces, the transmission of announcement messages is already triggered automatically by the DM as soon as the activation line is active and an IP address has been assigned ([SWS_DM_00816], [SWS_DM_00822]).

No standardized error codes are specified for the functions GetDoIPTriggerVehicleAnnouncement() and TriggerVehicleAnnouncement() ([SWS_DM_00821], [SWS_DM_00822]). Any runtime errors or vendor-specific error states are transported in the returned ara::core::Result and must be checked by the calling application.

This class guide was generated based on the AUTOSAR Adaptive specification R25-11.

Member map

Class diagram

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

G nara__diag__DoIPTriggerVehicleAnnouncement193 DoIPTriggerVehicleAnnouncement + GetDoIPTriggerVehicleAnnouncement() + TriggerVehicleAnnouncement() + DoIPTriggerVehicleAnnouncement() + ~DoIPTriggerVehicleAnnouncement()

Detail view

Select an entry in the outline.

Constructors and destructor

Ctor is vendor-specific.

DoIPTriggerVehicleAnnouncement ()=delete;

Dtor is vendor-specific.

~DoIPTriggerVehicleAnnouncement () noexcept=delete;

Methods

Get DoIPTriggerVehicleAnnouncement interface from DM.

static ara::core::Result< std::reference_wrapper< DoIPTriggerVehicle Announcement > > GetDoIPTriggerVehicleAnnouncement () noexcept;

Called by application to trigger DM sending out vehicle announcements on the given network interface Id.

virtual ara::core::Result< void > TriggerVehicleAnnouncement (std::uint8_t networkInterfaceId) noexcept=0;

Method documentation

function DoIPTriggerVehicleAnnouncement [SWS_DM_02100] Upstream: RS_Diag_04242

DoIPTriggerVehicleAnnouncement ()=delete;

Ctor is vendor-specific.

Header-Datei#include "ara/diag/doip_trigger_vehicle_announcement.h"
Scopeclass ara::diag::DoIPTriggerVehicleAnnouncement
Sichtbarkeitprivate

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

Record
AUTOSAR/AP/record/SWS_DM_02100
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02100@rel:R25-11#2f98fe40
Content hash
2f98fe40
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02100
Status: valid/unmigrated Version: rel:R25-11#1d989e18 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_02100@rel:R25-11#1d989e18
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#2f98fe402026-09-30
  • R24-11rel:R24-11#1d989e182026-10-14
  • R25-11rel:R25-11#1d989e182026-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 GetDoIPTriggerVehicleAnnouncement [SWS_DM_00821] Upstream: RS_Diag_04242

static ara::core::Result< std::reference_wrapper< DoIPTriggerVehicle Announcement > > GetDoIPTriggerVehicleAnnouncement () noexcept;

Get DoIPTriggerVehicleAnnouncement interface from DM.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::reference_wrapper<DoIPTriggerVehicleAnnouncement > >DoIPTriggerVehicleAnnouncement object

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_00821
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00821@rel:R25-11#6119e35a
Content hash
6119e35a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00821
Status: valid/unmigrated Version: rel:R25-11#e62d6a96 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_00821@rel:R25-11#e62d6a96
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#6119e35a2026-09-30
  • R19-11rel:R19-11#e173afea2026-10-14
  • R20-11rel:R20-11#41c521af2026-10-14
  • R21-11rel:R21-11#41c521af2026-10-14
  • R22-11rel:R22-11#db12de522026-10-14
  • R23-11rel:R23-11#df1fdca12026-10-14
  • R24-11rel:R24-11#bfe464be2026-10-14
  • R25-11rel:R25-11#e62d6a962026-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 TriggerVehicleAnnouncement [SWS_DM_00822] Upstream: RS_Diag_04242

virtual ara::core::Result< void > TriggerVehicleAnnouncement (std::uint8_t networkInterfaceId) noexcept=0;

Called by application to trigger DM sending out vehicle announcements on the given network interface Id.

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

Method TriggerVehicleAnnouncement of interface ara::diag::DoIPTriggerVehicleAnnouncement [SWS_DM_00820] serves to cause Diagnostic Management (DM) to send DoIP vehicle announcements in accordance with ISO 13400-2 on a specified network interface [SWS_DM_00815], [SWS_DM_00822].

Usage and Semantics

The function accepts the parameter networkInterfaceId (std::uint8_t), which identifies the destination network interface, and returns a ara::core::Result<void> [SWS_DM_00822]. It is declared as noexcept and throws no exceptions [SWS_DM_00822].

Error Handling and Boundary Conditions

Standardized error codes are not defined for this method [SWS_DM_00822]. An error case occurs if the passed networkInterfaceId belongs to a network configuration with property isActivationLineDependent = TRUE [SWS_DM_00822]. On such interfaces, transmission is already initiated automatically after activation of the activation line or IP address assignment [SWS_DM_00816], [SWS_DM_00822]. Interpretation: Since no standardized error codes exist, the error is likely signaled via a manufacturer-specific error code in the Result object. Question Q-ee2ea52f0b3064ce (open)

Concurrency and Interaction

The operation is specified as not thread-safe [SWS_DM_00822]. In addition, the specification notes that the announcement primarily represents DM-internal functionality and that explicit triggering by an Adaptive Application is conceptually not intended AUTOSAR_AP_SWS_Diagnostics §7.x “About DiagnosticDoIPTriggerVehicleAnnouncementInterface”.

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

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
networkInterfaceIdnetwork interface id on which a vehicle announcement shall be sent.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.
Hinweise: If the reported DoIPNetworkConfiguration.networkInterfaceId belongs to a DoIPNetwork Configuration with property isActivationLineDependent = TRUE, this is an error as on those interfaces sending of announcements happens automatically after activation line going up/IP address assignment.

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

Record
AUTOSAR/AP/record/SWS_DM_00822
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00822@rel:R25-11#b92e3a47
Content hash
b92e3a47
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00822
Status: valid/unmigrated Version: rel:R25-11#a555ed27 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_00822@rel:R25-11#a555ed27
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b92e3a472026-09-30
  • R19-11rel:R19-11#fc8292e52026-10-14
  • R20-11rel:R20-11#f9a672462026-10-14
  • R21-11rel:R21-11#c73179122026-10-14
  • R22-11rel:R22-11#5dc1998b2026-10-14
  • R23-11rel:R23-11#fee398c12026-10-14
  • R24-11rel:R24-11#bed5c8df2026-10-14
  • R25-11rel:R25-11#a555ed272026-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 ~DoIPTriggerVehicleAnnouncement [SWS_DM_02101] Upstream: RS_Diag_04242

~DoIPTriggerVehicleAnnouncement () noexcept=delete;

Dtor is vendor-specific.

Header-Datei#include "ara/diag/doip_trigger_vehicle_announcement.h"
Scopeclass ara::diag::DoIPTriggerVehicleAnnouncement
Sichtbarkeitprivate

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

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