Служит для целевого инициирования оповещений транспортного средства DoIP на указанном сетевом интерфейсе.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f854d0aec1c7ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит для целевого инициирования оповещений транспортного средства DoIP на указанном сетевом интерфейсе.
Класс [SWS_DM_00820] служит для того, чтобы Adaptive Applications могли явно инициировать в Diagnostic Management отправку сообщений с оповещениями транспортного средства DoIP согласно ISO 13400-2 на определенном сетевом интерфейсе. Доступ осуществляется не через собственное создание экземпляра, а статически через предоставленную системой ссылку на объект ([SWS_DM_00821]). Для интерфейсов с управлением, зависящим от линии активации, явный вызов недопустим, так как отправка там выполняется полностью автоматически ([SWS_DM_00822]).
Создание и уничтожение экземпляров класса DoIPTriggerVehicleAnnouncement подчиняются строгим правилам: как конструктор по умолчанию ([SWS_DM_02100]), так и деструктор ([SWS_DM_02101]) объявлены как delete, являются закрытыми и в своей конкретной реализации зависят от производителя. Таким образом, приложения не могут напрямую создавать или уничтожать объекты этого класса.
Доступ к интерфейсу осуществляется статически через функцию GetDoIPTriggerVehicleAnnouncement() ([SWS_DM_00821]). Она возвращает ara::core::Result<std::reference_wrapper<DoIPTriggerVehicleAnnouncement>>, благодаря чему вызывающая сторона получает ссылку на объект службы, предоставленный DM. Интерпретация: из-за закрытых удаленных конструкторов и возврата ссылки на объект класс, вероятно, управляется внутри DM как долгоживущий синглтон. Вопрос Q-cecb961746b3ad13 (открытый)
Что касается параллелизма, ни запрос интерфейса GetDoIPTriggerVehicleAnnouncement(), ни вызов метода TriggerVehicleAnnouncement() не специфицированы как потокобезопасные («not thread-safe») ([SWS_DM_00821], [SWS_DM_00822]). Поэтому одновременный доступ из нескольких потоков требует внешней синхронизации. Оба метода специфицированы как безопасные относительно исключений («exception safe») ([SWS_DM_00821], [SWS_DM_00822]).
Путь использования
Типичный процесс запроса DoIP-оповещения транспортного средства состоит из следующих шагов:
Получение экземпляра: приложение статически вызывает ara::diag::DoIPTriggerVehicleAnnouncement::GetDoIPTriggerVehicleAnnouncement() ([SWS_DM_00821]).
Оценка результата: результирующий ara::core::Result проверяется на наличие ошибок; в случае успеха ссылка извлекается.
Запрос оповещения: через метод TriggerVehicleAnnouncement(networkInterfaceId) инициируется отправка на требуемом сетевом интерфейсе ([SWS_DM_00822]).
Отправка сообщений со стороны DM: DM обрабатывает запрос и отправляет сообщения с оповещениями транспортного средства согласно ISO 13400-2 на интерфейсе, идентифицированном с помощью networkInterfaceId ([SWS_DM_00815]).
Центральный сценарий ошибки при использовании TriggerVehicleAnnouncement касается сетевых интерфейсов, зависящих от линии активации: если переданный networkInterfaceId относится к конфигурации интерфейса (DoIPNetworkConfiguration), в которой установлено свойство isActivationLineDependent = TRUE, вызов приводит к ошибке ([SWS_DM_00822]). На таких интерфейсах отправка сообщений с оповещениями уже автоматически инициируется DM, как только линия активации активна и назначен IP-адрес ([SWS_DM_00816], [SWS_DM_00822]).
Для функций GetDoIPTriggerVehicleAnnouncement() и TriggerVehicleAnnouncement() стандартизированные коды ошибок не специфицированы ([SWS_DM_00821], [SWS_DM_00822]). Возможные ошибки времени выполнения или специфичные для производителя состояния ошибок передаются в возвращаемом ara::core::Result и должны проверяться вызывающим приложением.
Данное руководство по классу сгенерировано на основе спецификации AUTOSAR Adaptive R25-11.
Called by application to trigger DM sending out vehicle announcements on the given network interface Id.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: fd0a2f72ec5aПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Метод TriggerVehicleAnnouncement интерфейса ara::diag::DoIPTriggerVehicleAnnouncement[SWS_DM_00820] служит для того, чтобы побудить Diagnostic Management (DM) отправить сообщения объявления транспортного средства DoIP согласно ISO 13400-2 на указанном сетевом интерфейсе [SWS_DM_00815], [SWS_DM_00822].
Использование и семантика
Функция принимает параметр networkInterfaceId (std::uint8_t), идентифицирующий целевой сетевой интерфейс, и возвращает ara::core::Result<void>[SWS_DM_00822]. Она объявлена как noexcept и не генерирует исключений [SWS_DM_00822].
Обработка ошибок и граничные условия
Стандартизированные коды ошибок для этого метода не определены [SWS_DM_00822]. Случай ошибки имеет место, если переданный networkInterfaceId относится к конфигурации сети со свойством isActivationLineDependent = TRUE[SWS_DM_00822]. На таких интерфейсах отправка уже инициируется автоматически после активации линии активации или назначения IP-адреса [SWS_DM_00816], [SWS_DM_00822]. Интерпретация: поскольку стандартизированных кодов ошибок не существует, ошибка, вероятно, сигнализируется через специфичный для производителя код ошибки в объекте Result. Вопрос Q-ee2ea52f0b3064ce (открытый)
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.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал