DEENESPTFRRUARHIKOZHNL

classe ara::diag::GenericDataIdentifier

[SWS_DM_00607] Upstream: RS_Diag_04169

class GenericDataIdentifier {...};

Generic DataIdentifier interface.

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

Guia do utilizadorGERADO POR IA

Permite que aplicações processem genericamente solicitações de leitura e escrita UDS para identificadores de diagnóstico.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 02c252ff66d0 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite que aplicações processem genericamente solicitações de leitura e escrita UDS para identificadores de diagnóstico.

A classe ara::diag::GenericDataIdentifier serve como uma interface genérica para o processamento assíncrono de solicitações de leitura e escrita UDS para identificadores de diagnóstico no AUTOSAR Adaptive [SWS_DM_00636]. Após a vinculação a uma porta e a liberação via Offer(), o Diagnostic Management encaminha requisições aos métodos implementados [SWS_DM_00638]. Como instância singular, o objeto não pode ser copiado nem movido, enquanto a segurança de thread do processamento de requisições é controlada através da configuração de concorrência selecionada no construtor.

Contexto

A classe ara::diag::GenericDataIdentifier representa uma interface de serviço genérica dentro do cluster funcional Diagnostic Management (DM) da AUTOSAR Adaptive Platform SWS Diagnostics §8.2 «GenericDataIdentifier». Enquanto interfaces específicas de tipo estão vinculadas a tipos de dados modelados fixamente, GenericDataIdentifier destina-se ao processamento flexível de identificadores de diagnóstico (Data Identifiers, DIDs), nos quais o identificador de 16 bits é passado dinamicamente como parâmetro.

Três papéis participam primariamente do processamento de diagnóstico:

  • O testador de diagnóstico externo, que direciona ao veículo serviços UDS padronizados, tais como ReadDataByIdentifier (0x22) ou WriteDataByIdentifier (0x2E).
  • O Diagnostic Management (DM), que recebe solicitações de diagnóstico, valida-as e encaminha-as através de interfaces de porta definidas à respectiva instância da aplicação, desde que esta tenha sido previamente ativada via Offer [SWS_DM_00638].
  • A implementação específica da aplicação de GenericDataIdentifier, que encapsula a lógica real de processamento ao disponibilizar os métodos Read [SWS_DM_00636] e Write [SWS_DM_00637] e retornar os dados de forma assíncrona.

Ciclo de vida

Uma instância de ara::diag::GenericDataIdentifier é explicitamente instanciada através de seu construtor [SWS_DM_00634]. Ao fazer isso, o chamador vincula o objeto a um ara::core::InstanceSpecifier, que faz referência a um PortPrototype de um DiagnosticDataIdentifierGenericInterface modelado. Através do argumento concurrencyType (do tipo DataIdentifierConcurrencyType), define-se se as requisições são repassadas ao manipulador de forma concorrente (kConcurrent) ou sequencial (kNotConcurrent) [SWS_DM_00634].

Em termos de posse e tempo de vida, GenericDataIdentifier é modelado como uma instância singular, não copiável e não movível:

Após a instanciação, o objeto encontra-se no estado inativo; o Diagnostic Management ainda não encaminha requisições. O encaminhamento é ativado apenas através da chamada de Offer() [SWS_DM_00638]. Para desativar novamente o encaminhamento de requisições de diagnóstico, a aplicação chama StopOffer() [SWS_DM_00639]. A destruição do objeto ocorre através do destrutor virtual [SWS_DM_00635].

Em relação à concorrência, o construtor é thread-safe (thread-safe) [SWS_DM_00634]. Em contrapartida, os métodos administrativos Offer() [SWS_DM_00638] e StopOffer() [SWS_DM_00639], bem como o destrutor [SWS_DM_00635], são especificados como não thread-safe. A segurança de thread dos métodos Read e Write depende condicionalmente do concurrencyType selecionado [SWS_DM_00636], [SWS_DM_00637].

lifecycle NichtInitialisiert Não inicializado Inaktiv Inaktiv (StopOffer) NichtInitialisiert->Inaktiv Konstruktor Aktiv Aktiv (Offer) Inaktiv->Aktiv Offer() Beendet Destruído Inaktiv->Beendet Destruktor Aktiv->Inaktiv StopOffer() Aktiv->Beendet Destruktor

Diagrama de estados: ciclo de vida e transições de estado da instância do manipulador entre inatividade e prontidão para encaminhamento. Fontes: [SWS_DM_00634], [SWS_DM_00638], [SWS_DM_00639], [SWS_DM_00635]

Caminho de utilização

Um percurso típico para o tratamento de requisições de diagnóstico divide-se nas seguintes etapas:

  1. Inicialização: a aplicação instancia sua classe de manipulador derivada indicando o InstanceSpecifier bem como a configuração de concorrência [SWS_DM_00634]. Interpretação: Na prática, isso deve ocorrer tipicamente durante a fase de inicialização do processo da aplicação. Pergunta Q-32596fba68253958 (aberta)
  2. Disponibilização do serviço: a aplicação chama Offer() [SWS_DM_00638]. O Diagnostic Management ativa o encaminhamento de requisições de DID recebidas.
  3. Processamento de requisições:
    • Ao receber uma ordem de leitura, o DM chama o método Read(dataIdentifier, metaInfo, cancellationHandler) [SWS_DM_00636]. A aplicação verifica o identificador de 16 bits passado e retorna assincronamente um ara::core::Future<OperationOutput>.
    • Ao chegar uma ordem de escrita, o DM chama Write(dataIdentifier, requestData, metaInfo, cancellationHandler) [SWS_DM_00637]. Os dados úteis em requestData permanecem válidos até que a respectiva promise seja cumprida ou o processamento seja cancelado.
  4. Verificação de cancelamento: durante operações demoradas, o manipulador pode verificar através de cancellationHandler.IsCanceled() se a conversa foi cancelada, ou registrar uma função de notificação via cancellationHandler.SetNotifier [SWS_DM_00636], [SWS_DM_00637].
  5. Desregistro do serviço: antes de encerrar o manipulador, a aplicação chama StopOffer() [SWS_DM_00639], fazendo com que o DM encerre o encaminhamento.
Fluxo de uma solicitação genérica de leituraDiagnosetesterDiagnostic ManagementGenericDataIdentifierUse Case: DienstregistrierungOffer()Result<void> (Erfolg)Use Case: Leseanforderung (UDS 0x22)ReadDataByIdentifierRead(dataIdentifier, metaInfo, cancellationHandler)altDaten erfolgreich ermitteltFuture com OperationOutputResposta positiva UDS com dadosFehlerfall / NRCFuture com DiagUdsNrcErrcNegative UDS-Antwort (NRC)

Diagrama de sequência: interação entre testador externo, Diagnostic Management e GenericDataIdentifier em uma requisição de leitura UDS. Fontes: [SWS_DM_00638], [SWS_DM_00636]

Cenários de erro

Podem ocorrer erros em diferentes fases da interação:

  • Violações de configuração e de mapeamento: se o InstanceSpecifier não puder ser resolvido no modelo ou não fizer referência a um PortPrototype, ocorre uma InstanceSpecifierMappingIntegrityViolation [SWS_DM_00634]. Se faltar a atribuição a um DiagnosticDataPortMapping, ocorre uma PortInterfaceMappingViolation [SWS_DM_00634]. Um mapeamento de processo ausente gera uma ProcessMappingViolation, e um InstanceSpecifier já utilizado resulta em uma InstanceSpecifierAlreadyInUseViolation [SWS_DM_00634].
  • Oferta múltipla: se Offer() for chamado embora o serviço já esteja sendo oferecido ativamente, o método retorna um ara::core::Result com o código de erro DiagOfferErrc::kAlreadyOffered [SWS_DM_00638].
  • Erros funcionais de diagnóstico: se uma requisição de leitura ou de escrita não puder ser atendida funcionalmente, a aplicação não retorna um status de sucesso no Future, mas sim um UDS-NRC (Negative Response Code) padronizado via DiagUdsNrcErrc de acordo com a ISO 14229-1 [SWS_DM_00636], [SWS_DM_00637].

Este guia baseia-se na especificação AUTOSAR R25-11 e foi gerado automaticamente.

Mapa de membros

Operadores

1

Tipos aninhados

1

Diagrama de classes

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

G nara__diag__GenericDataIdentifier357 GenericDataIdentifier + GenericDataIdentifier() + operator=() + ~GenericDataIdentifier() + Offer() + Read() + StopOffer() + Write()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Class for an GenericDataIdentifier.

Sobrecargas GenericDataIdentifier 3
explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept; SWS_DM_00634
GenericDataIdentifier (GenericDataIdentifier &)=delete; SWS_DM_01653
GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete; SWS_DM_01654

Destructor of class GenericDataIdentifier .

virtual ~GenericDataIdentifier () noexcept;

Métodos

Offer função

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

ara::core::Result< void > Offer () noexcept;
Read função

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;
StopOffer função

This StopOffer will disable the forwarding of request messages from DM.

void StopOffer () noexcept;
Write função

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Operadores

operator= função 2

GenericDataIdentifier shall be a single not assignable instance.

Sobrecargas = 2

Tipos aninhados

Documentação dos métodos

função GenericDataIdentifier [SWS_DM_00634] Upstream: RS_AP_00137, RS_Diag_04169, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit GenericDataIdentifier (const ara::core::InstanceSpecifier &specifier, DataIdentifierConcurrencyType concurrencyType) noexcept;

Class for an GenericDataIdentifier.

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

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticDataIdentifierGenericInterface.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent)

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

Record
AUTOSAR/AP/record/SWS_DM_00634
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00634@rel:R25-11#9c7eb321
Content hash
9c7eb321
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00634
Status: valid/unmigrated Version: rel:R25-11#71f09e07 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_00634@rel:R25-11#71f09e07
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9d754b4c2026-09-30
  • R19-11rel:R19-11#281ed5b12026-10-14
  • R20-11rel:R20-11#c8b741432026-10-14
  • R21-11rel:R21-11#161554792026-10-14
  • R22-11rel:R22-11#55a5b7df2026-10-14
  • R23-11rel:R23-11#571dfcd62026-10-14
  • R24-11rel:R24-11#4a63e6522026-10-14
  • R25-11rel:R25-11#71f09e072026-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

função GenericDataIdentifier [SWS_DM_01653] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not copy-able instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01653
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01653@rel:R25-11#7dbbe296
Content hash
7dbbe296
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01653
Status: valid/unmigrated Version: rel:R25-11#3de9089c 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_01653@rel:R25-11#3de9089c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#f309daca2026-09-30
  • R23-11rel:R23-11#ad3cab8a2026-10-14
  • R24-11rel:R24-11#d3cdff682026-10-14
  • R25-11rel:R25-11#3de9089c2026-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

função GenericDataIdentifier [SWS_DM_01654] Upstream: RS_AP_00147

GenericDataIdentifier (GenericDataIdentifier &&) noexcept=delete;

Move constructor of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01654
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01654@rel:R25-11#fd7a7da6
Content hash
fd7a7da6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01654
Status: valid/unmigrated Version: rel:R25-11#8f08b1d5 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_01654@rel:R25-11#8f08b1d5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#11d817c52026-09-30
  • R23-11rel:R23-11#5421592e2026-10-14
  • R24-11rel:R24-11#8f08b1d52026-10-14
  • R25-11rel:R25-11#8f08b1d52026-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

função Offer [SWS_DM_00638] Upstream: RS_AP_00139, RS_AP_00119, RS_Diag_04169

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

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

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 860e6bd15d7f Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Uso: o método síncrono Offer da classe ara::diag::GenericDataIdentifier ([SWS_DM_00638]) destina-se ao registro de um manipulador de identificador de dados genérico junto ao Diagnostic Management (DM). Por meio desta chamada, o DM é autorizado a encaminhar solicitações de diagnóstico (Request Messages) de entrada para o respectivo identificador de dados para este manipulador ([SWS_DM_00638]). A função não recebe parâmetros de entrada e retorna sincronicamente um ara::core::Result<void> ([SWS_DM_00638]), que fornece informações sobre sucesso ou erro.

Tratamento de erros: o método é declarado com noexcept e garante segurança total contra exceções (exception safe) ([SWS_DM_00638]). Possíveis erros são reportados por meio do ara::core::Result. Se o manipulador já tiver sido disponibilizado anteriormente, a função retorna o código de erro DiagOfferErrc::kAlreadyOffered com semântica de reversão ([SWS_DM_00638]). Este corresponde à enumeração geral de erros DiagErrc::kAlreadyOffered ([SWS_DM_00514]).

Concorrência e restrições: a função é especificada como não segura para threads (not thread-safe) ([SWS_DM_00638]). Consequentemente, chamadas na mesma instância devem ser protegidas contra o acesso simultâneo. Como não há um método de cancelamento de registro separado especificado para GenericDataIdentifier, a oferta do serviço provavelmente está atrelada ao tempo de vida da instância do manipulador (interpretação). Pergunta Q-7c64a5bd308464a8 (aberta)

Interação: o procedimento segue o padrão de disponibilização contínuo do Diagnostic Management. Interfaces análogas são encontradas para identificadores de dados específicos de tipo ([SWS_DM_00599]), rotinas genéricas ([SWS_DM_00557]), bem como serviços UDS genéricos ([SWS_DM_00619]).

Esta nota de uso foi gerada por um sistema de IA.

Guia do implementador em breve (complexidade I1)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

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

Record
AUTOSAR/AP/record/SWS_DM_00638
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00638@rel:R25-11#f2175b79
Content hash
f2175b79
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00638
Status: valid/unmigrated Version: rel:R25-11#1ea7c5d4 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_00638@rel:R25-11#1ea7c5d4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d9e8c1292026-09-30
  • R19-11rel:R19-11#34f18c6b2026-10-14
  • R20-11rel:R20-11#f2c3beea2026-10-14
  • R21-11rel:R21-11#a7b6c9862026-10-14
  • R22-11rel:R22-11#533034aa2026-10-14
  • R23-11rel:R23-11#b980ade42026-10-14
  • R24-11rel:R24-11#198e42702026-10-14
  • R25-11rel:R25-11#1ea7c5d42026-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

função Read [SWS_DM_00636] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170, RS_ Diag_04172

virtual ara::core::Future< OperationOutput > Read (std::uint16_t data Identifier, const MetaInfo &metaInfo, CancellationHandler cancellation Handler) noexcept=0;

Called for ReadDataByIdentifier request for this DiagnosticDataIdentifier.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7772a86b7791 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método Read da classe ara::diag::GenericDataIdentifier é chamado assim que uma solicitação de diagnóstico para ReadDataByIdentifier (UDS 0x22) é recebida para o respectivo identificador de dados [SWS_DM_00636]. Como parâmetros, a função aceita a identificação numérica dataIdentifier, o contexto metaInfo e um cancellationHandler. Através do cancellationHandler, a aplicação pode consultar o status de cancelamento por meio de IsCanceled ou registrar uma função de notificação para conversas canceladas via SetNotifier [SWS_DM_00636]. O resultado é disponibilizado de forma assíncrona por meio de um ara::core::Future<OperationOutput>, que, em caso de sucesso, retorna os dados úteis (OperationOutput) [SWS_DM_00636].

Tratamento de erros

Em caso de erro, o Future retorna um valor de retorno negativo UDS (NRC) em conformidade com a ISO 14229-1 através de DiagUdsNrcErrc [SWS_DM_00636]. Caso a interface ainda não seja, ou não seja mais, oferecida através de offer(), o Diagnostic Management (DM) responde de forma autônoma com o NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257]. Se o limite configurado de mensagens Response Pending for atingido, o servidor cancela o processamento e responde com o NRC 0x10 (generalReject) [SWS_DM_00369].

Concorrência e interação

O método é declarado como noexcept e é seguro contra exceções [SWS_DM_00636]. Sua segurança de thread é condicional: se a implementação precisa ser thread-safe é controlado através do ConcurrencyType passado no construtor [SWS_DM_00636]. Se readWrite estiver definido como kConcurrent, o DM pode disparar acessos de leitura e escrita de forma concorrente; caso contrário (kNotConcurrent), a chamada ocorre sequencialmente [SWS_DM_00939]. Ao contrário de interfaces específicas como [SWS_DM_00640], GenericDataIdentifier cobre faixas genéricas de DID de forma flexível por meio do ID passado [SWS_DM_00636].

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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
dataIdentifierthe corresponding DataIdentifier
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<OperationOutput >A Future with either OperationOutput (for a positive response message) or an UDS NRC value (for a negative response message).

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00636
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00636@rel:R25-11#4d384a92
Content hash
4d384a92
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00636
Status: valid/unmigrated Version: rel:R25-11#cfd80198 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_00636@rel:R25-11#cfd80198
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#339b63522026-09-30
  • R19-11rel:R19-11#f8a15c312026-10-14
  • R20-11rel:R20-11#5e9a44792026-10-14
  • R21-11rel:R21-11#34887de02026-10-14
  • R22-11rel:R22-11#91d437d52026-10-14
  • R23-11rel:R23-11#6625968e2026-10-14
  • R24-11rel:R24-11#430ea0f32026-10-14
  • R25-11rel:R25-11#cfd801982026-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

função StopOffer [SWS_DM_00639] Upstream: RS_Diag_04169

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: bd73a88bfde2 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e contexto de chamada

A função-membro StopOffer da classe ara::diag::GenericDataIdentifier serve para desativar o encaminhamento de mensagens de requisição recebidas do Diagnostic Management (DM) para a respectiva instância [SWS_DM_00639]. A chamada ocorre de forma síncrona por meio da interface do arquivo de cabeçalho #include "ara/diag/generic_data_identifier.h" [SWS_DM_00639]. A função possui a assinatura void StopOffer() noexcept;, não recebe parâmetros de entrada e não retorna nenhum valor [SWS_DM_00639].

Tratamento de erros e simultaneidade

A especificação define StopOffer como segura contra exceções (exception safe) e garante por meio do identificador noexcept a ausência de exceções [SWS_DM_00639]. Códigos de erro específicos, reações a erros ou mensagens para DET ou DEM não estão previstos para esta operação. Em relação à concorrência, o método está classificado como não thread-safe (not thread-safe) [SWS_DM_00639]. Chamadas paralelas na mesma instância devem, portanto, ser sincronizadas pelo chamador. Interpretação: presume-se que as requisições já iniciadas no Diagnostic Management ainda sejam processadas normalmente antes da parada definitiva do encaminhamento. Pergunta Q-94a464dc832c055c (aberta)

Interação no módulo de diagnóstico

O padrão de revogação da disponibilização de serviços é aplicado de forma padronizada e consistente no módulo de diagnóstico. Existem métodos StopOffer análogos, entre outros, para:

Esta nota de uso foi gerada automaticamente com base nos dados de especificação.

Guia do implementador em breve (complexidade I2)

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

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00639
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00639@rel:R25-11#b8b5eb34
Content hash
b8b5eb34
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00639
Status: valid/unmigrated Version: rel:R25-11#9225c34d 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_00639@rel:R25-11#9225c34d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0466e7b52026-09-30
  • R19-11rel:R19-11#e360cf692026-10-14
  • R20-11rel:R20-11#1bc0f5cd2026-10-14
  • R21-11rel:R21-11#3b09d7582026-10-14
  • R22-11rel:R22-11#77376b4a2026-10-14
  • R23-11rel:R23-11#6009f72f2026-10-14
  • R24-11rel:R24-11#d3d4a13c2026-10-14
  • R25-11rel:R25-11#9225c34d2026-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

função Write [SWS_DM_00637] Upstream: RS_AP_00138, RS_AP_00119, RS_Diag_04169, RS_Diag_04170

virtual ara::core::Future< void > Write (std::uint16_t dataIdentifier, ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept;

Called for WriteDataByIdentifier request for this DiagnosticDataIdentifier.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7b195835c98c Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método Write da classe ara::diag::GenericDataIdentifier é chamado pelo Diagnostic Management assim que uma solicitação UDS do serviço WriteDataByIdentifier (0x2E) é recebida [SWS_DM_00637]. Pré-requisito para a chamada é que o identificador de dados solicitado seja suportado e que a respectiva sessão de diagnóstico, bem como o nível de segurança, permitam a execução [SWS_DM_00186], [SWS_DM_00415], [SWS_DM_00416].

A chamada ocorre com os seguintes parâmetros [SWS_DM_00637]:

  • dataIdentifier: A identificação de 16 bits do identificador de dados a ser gravado.
  • requestData: Um ara::core::Span com os dados brutos da solicitação sem o prefixo DID. O buffer permanece válido até que a Promise associada seja cumprida ou o processamento seja cancelado.
  • metaInfo: Metadados adicionais relativos à solicitação de diagnóstico.
  • cancellationHandler: Serve para monitorar um cancelamento prematuro da conversa via IsCanceled, bem como para registrar uma notificação de cancelamento através de SetNotifier.

A execução ocorre de forma assíncrona e retorna um ara::core::Future<void> [SWS_DM_00637]. Em caso de processamento bem-sucedido, a Promise é cumprida com void para uma mensagem de resposta positiva. Se ocorrer um erro, o Future deve ser concluído com um valor de retorno negativo UDS (NRC) apropriado, em conformidade com a ISO 14229-1, através de DiagUdsNrcErrc [SWS_DM_00637]. O método é declarado como noexcept e deve ser implementado de forma segura contra exceções [SWS_DM_00637].

Em relação à concorrência, a segurança de thread é condicional: se Write deve ser implementado de forma thread-safe depende do ConcurrencyType, que foi passado no construtor durante a instanciação [SWS_DM_00637]. Uma execução paralela de acessos de leitura e escrita é controlada por meio do sinalizador readWrite [SWS_DM_00939].

Este texto foi criado por uma IA. Todas as informações baseiam-se exclusivamente nas especificações do Release R25-11.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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
dataIdentifierthe corresponding DataIdentifier
requestDataContent of request message (without DataIdentifier). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< void >A Future with either void (for a positive response message) or an UDS NRC value (for a negative response message).

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00637
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00637@rel:R25-11#db69e4c5
Content hash
db69e4c5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00637
Status: valid/unmigrated Version: rel:R25-11#b7a94afa 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_00637@rel:R25-11#b7a94afa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#889963442026-09-30
  • R19-11rel:R19-11#8d85d1592026-10-14
  • R20-11rel:R20-11#701ab1d02026-10-14
  • R21-11rel:R21-11#10093f0c2026-10-14
  • R22-11rel:R22-11#9b15c55f2026-10-14
  • R23-11rel:R23-11#a7e012442026-10-14
  • R24-11rel:R24-11#9c761e5e2026-10-14
  • R25-11rel:R25-11#b7a94afa2026-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

função operator= [SWS_DM_01651] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &)=delete;

GenericDataIdentifier shall be a single not assignable instance.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01651
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01651@rel:R25-11#8eb010d9
Content hash
8eb010d9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01651
Status: valid/unmigrated Version: rel:R25-11#9b814f4a 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_01651@rel:R25-11#9b814f4a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#0a92f77c2026-09-30
  • R23-11rel:R23-11#1cfb26532026-10-14
  • R24-11rel:R24-11#211cc0882026-10-14
  • R25-11rel:R25-11#9b814f4a2026-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

função operator= [SWS_DM_01652] Upstream: RS_AP_00147

GenericDataIdentifier & operator= (GenericDataIdentifier &&)=delete;

Move assignment operator of GenericDataIdentifier.

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_01652
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01652@rel:R25-11#67ace8fe
Content hash
67ace8fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01652
Status: valid/unmigrated Version: rel:R25-11#7c21b544 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_01652@rel:R25-11#7c21b544
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5c58a4142026-09-30
  • R23-11rel:R23-11#1428a6912026-10-14
  • R24-11rel:R24-11#7c21b5442026-10-14
  • R25-11rel:R25-11#7c21b5442026-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

função ~GenericDataIdentifier [SWS_DM_00635] Upstream: RS_AP_00134, RS_Diag_04169

virtual ~GenericDataIdentifier () noexcept;

Destructor of class GenericDataIdentifier .

Header-Datei#include "ara/diag/generic_data_identifier.h"
Scopeclass ara::diag::GenericDataIdentifier
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_00635
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00635@rel:R25-11#f87592af
Content hash
f87592af
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00635
Status: valid/unmigrated Version: rel:R25-11#fc24e0db 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_00635@rel:R25-11#fc24e0db
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#882197f52026-09-30
  • R19-11rel:R19-11#ae023e7c2026-10-14
  • R20-11rel:R20-11#6892d8702026-10-14
  • R21-11rel:R21-11#cf811fb72026-10-14
  • R22-11rel:R22-11#0ec9aa792026-10-14
  • R23-11rel:R23-11#924c98d82026-10-14
  • R24-11rel:R24-11#fc24e0db2026-10-14
  • R25-11rel:R25-11#fc24e0db2026-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