DEENESPTFRRUARHIKOZHNL

classe <DataIdentifier-Namespace>::<DataIdentifierInterface>

[SWS_DM_00601] Upstream: RS_Diag_04169

class <DataIdentifierInterface> {...};

DiagnosticDataIdentifierInterface class

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Forwarding-Header#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>/<DataIdentifierShortname>_ fwd.h"
Scopenamespace <DataIdentifier-Namespace>

Guia do utilizadorGERADO POR IA

Permite que a aplicação responda a requisições de leitura e escrita de diagnóstico para identificadores de dados específicos.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 7fb3639fc276 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite que a aplicação responda a requisições de leitura e escrita de diagnóstico para identificadores de dados específicos.

A interface <DataIdentifier-Namespace>::<DataIdentifierInterface> permite que aplicações adaptativas disponibilizem identificadores de dados de diagnóstico específicos do modelo perante o Diagnostic Management [SWS_DM_00585]. Após a criação, Offer() habilita o encaminhamento de requisições, que são processadas de forma assíncrona por meio de Read() ou Write() e respondidas, se necessário, com códigos de erro UDS [SWS_DM_00599] [SWS_DM_00640]. Como a instância não pode ser copiada nem movida, o serviço é encerrado explicitamente via StopOffer() antes da destruição [SWS_DM_01665] [SWS_DM_00600].

Contexto

A classe C++ <DataIdentifier-Namespace>::<DataIdentifierInterface> atua como interface funcional para identificadores de dados de diagnóstico (Data Identifiers, DIDs) no módulo diag da Adaptive Platform SWS Diagnostics p. 68. Ela conecta a camada de aplicação adaptativa ao Diagnostic Management (DM) central. O Diagnostic Management recebe requisições de diagnóstico externas e as encaminha para a instância registrada [SWS_DM_00599]. O software aplicativo fornece, por meio de classes derivadas, a implementação concreta para consultar ou atualizar conteúdos de dados através de operações de leitura ou escrita [SWS_DM_00640] [SWS_DM_00598].

Ciclo de vida

A criação ocorre por meio do construtor parametrizado mediante a passagem de um ara::core::InstanceSpecifier e do modo de concorrência ara::diag::ConcurrencyType [SWS_DM_00585]. Este último define se as chamadas para a instância podem ser processadas concorrentemente (kConcurrent) ou de forma não concorrente (kNotConcurrent) [SWS_DM_00585]. Como uma instância está fortemente vinculada à sua configuração de modelo, tanto o construtor de cópia quanto o de movimentação estão explicitamente excluídos [SWS_DM_01665] [SWS_DM_01666]; o mesmo se aplica aos operadores de atribuição por cópia e por movimentação [SWS_DM_01663] [SWS_DM_01664].

Após a instanciação, a interface encontra-se em estado inativo. Somente a chamada de Offer() ativa o encaminhamento de requisições de diagnóstico pelo Diagnostic Management [SWS_DM_00599]. O método StopOffer() encerra novamente este encaminhamento [SWS_DM_00600]. A liberação dos recursos ocorre por meio do destrutor virtual [SWS_DM_00586]. Interpretação: antes da destruição do objeto, StopOffer() deve ser chamado tipicamente para evitar de maneira ordenada encaminhamentos pendentes ou recém-chegados do DM. Pergunta Q-3710c559625978c9 (aberta)

Caminho de utilização

O fluxo regular compreende a instanciação, o registro do serviço, o processamento assíncrono de requisições e a subsequente desativação:

  1. Instanciação: a aplicação cria uma instância da interface especificando o InstanceSpecifier e a configuração desejada de ConcurrencyType [SWS_DM_00585].
  2. Liberação do serviço: a aplicação chama Offer(), permitindo que o Diagnostic Management entregue requisições a este handler [SWS_DM_00599].
  3. Processamento de requisições: em acessos de leitura, o DM chama o método puramente virtual Read() [SWS_DM_00640]; em acessos de escrita, Write() [SWS_DM_00598]. Por meio do cancellationHandler passado, a aplicação pode monitorar eventos de cancelamento. Os resultados são disponibilizados de forma assíncrona como ara::core::Future, que contém em Read() um objeto ReadOutput com os dados de saída [SWS_DM_00579] [SWS_DM_00640] [SWS_DM_80013].
  4. Encerramento do serviço: ao chamar StopOffer(), o encaminhamento é interrompido [SWS_DM_00600] antes de o objeto ser destruído [SWS_DM_00586].
Fluxo de disponibilização e processamento de requisições de Data IdentifierAplicaçãoDataIdentifierInterfaceDiagnostic ManagementKonstruktor(instanceSpec, concurrencyType)Offer()Weiterleitung aktivierenResult<void> (Erfolg)Use Case: Diagnoseanfrage durch DMRead(metaInfo, cancellationHandler)Future<ReadOutput>Use Case: Interromper serviço e encerramentoStopOffer()Weiterleitung deaktivieren~<DataIdentifierInterface>()

Diagrama de sequência: fluxo típico da disponibilização de DID, desde a inicialização, passando pelo atendimento assíncrono de requisições, até a desativação. Fontes: [SWS_DM_00585], [SWS_DM_00599], [SWS_DM_00640], [SWS_DM_00600], [SWS_DM_00586].

Cenários de erro

Já na criação do objeto, erros de modelagem podem levar a violações: se faltarem vinculações de porta ou processo, ocorrem InstanceSpecifierMappingIntegrityViolation, PortInterfaceMappingViolation ou ProcessMappingViolation [SWS_DM_00585]. Se o mesmo InstanceSpecifier for reutilizado no mesmo processo, o framework reportará InstanceSpecifierAlreadyInUseViolation [SWS_DM_00585].

Se Offer() for chamado quando o serviço já estiver sendo oferecido, a chamada falhará e retornará o código de erro DiagOfferErrc::kAlreadyOffered por meio do ara::core::Result [SWS_DM_00599]. Se a execução de Read() ou Write() falhar, a implementação transmitirá erros de forma assíncrona no Future por meio de códigos de erro UDS da ISO 14229-1 (DiagUdsNrcErrc) ou de ApApplicationError específicos da aplicação [SWS_DM_00640] [SWS_DM_00598]. Em relação à segurança contra exceções, o construtor e os métodos de processamento estão especificados como exception safe [SWS_DM_00585] [SWS_DM_00599] [SWS_DM_00640] [SWS_DM_00598], enquanto o destrutor não é indicado como exception safe [SWS_DM_00586].

Este guia baseia-se na especificação AUTOSAR para a Adaptive Platform (Release R25-11).

Mapa de membros

Diagrama de classes

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

G n_DataIdentifier_Namespace____DataIdentifierInterface_960 <DataIdentifierInterface> + <DataIdentifierOutArg> + Offer() + Read() + StopOffer() + Write() + operator=() + <DataIdentifierInterface>() + ~<DataIdentifierInterface>()

Vista de detalhes

Selecione uma entrada no índice.

Métodos

Construct a DataIdentifier from an ara::core::InstanceSpecifier

Sobrecargas <DataIdentifierInterface> 3
<DataIdentifierInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept; SWS_DM_00585
<DataIdentifierInterface2> (const <DataIdentifierInterface2> &other)=delete; SWS_DM_01665
<DataIdentifierInterface4> ( <DataIdentifierInterface4> &&other)=delete; SWS_DM_01666
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

Provision of a reading DataIdentifier (DiagnosticDataIdentifierInterface in the role read).

virtual ara::core::Future< <DataIdentifier>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;
StopOffer função

This StopOffer will disable the forwarding of request messages from DM

void StopOffer () noexcept;
Write função

Provision of a writing DataIdentifier (DiagnosticDataIdentifierInterface in the role write).

virtual ara::core::Future< void > Write ( {<data-identifier-in-arg-derived-type-0toN>} {<data-identifier-in-arg-symbol-0toN>}, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Destruction of a DataIdentifier

virtual ~<DataIdentifierInterface6> ();

Operadores

operator= função 2

Copy assignment constructor deletion

Sobrecargas = 2
<DataIdentifierInterface3> & operator= (const <DataIdentifierInterface3> &other)=delete; SWS_DM_01663
<DataIdentifierInterface5> & operator= ( <DataIdentifierInterface5> &&other)=delete; SWS_DM_01664

Constantes

Member declaration representing an out argument in an Output.

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Tipos aninhados

Documentação dos métodos

função <DataIdentifierInterface> [SWS_DM_00585] Upstream: RS_AP_00137, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

<DataIdentifierInterface1> (ara::core::InstanceSpecifier instanceSpec, ara::diag::ConcurrencyType concurrencyType) noexcept;

Construct a DataIdentifier from an ara::core::InstanceSpecifier

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

usar

A função construtora <DataIdentifierInterface> serve para a instanciação de um identificador de dados a partir de um ara::core::InstanceSpecifier [SWS_DM_00585]. A declaração ocorre dentro do namespace <DataIdentifier-Namespace> por meio do arquivo de cabeçalho #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" [SWS_DM_00585]. A chamada síncrona é especificada como noexcept e possui as propriedades “exception safe” bem como “thread-safe” [SWS_DM_00585].

A função recebe os seguintes parâmetros de passagem [SWS_DM_00585]:

  • instanceSpec (ara::core::InstanceSpecifier): Identificador da instância concreta de um serviço [SWS_DM_00585].
  • concurrencyType (ara::diag::ConcurrencyType): Define se a interface opera de forma thread-safe com kConcurrent ou não thread-safe com kNotConcurrent [SWS_DM_00585].

Tratamento de erros e regras de modelagem

A função não fornece valor de retorno e não lança exceções. Em vez disso, erros na configuração ou modelagem resultam em violações definidas [SWS_DM_00585]:

  • InstanceSpecifierMappingIntegrityViolation: O instanceSpec não pode ser resolvido no contexto do executável ou não aponta para um PortPrototype [SWS_DM_00585].
  • PortInterfaceMappingViolation: Um PortPrototype tipificado por DiagnosticDataIdentifierInterface não é referenciado por um DiagnosticDataPortMapping [SWS_DM_00585].
  • ProcessMappingViolation: Não existe processo modelado correspondente para a referência de instância em relação ao processo de tempo de execução atual [SWS_DM_00585].
  • InstanceSpecifierAlreadyInUseViolation: O construtor foi chamado com um instanceSpec que já está em uso no processo atual [SWS_DM_00585].

Interpretação: Como a função é declarada como noexcept, as violações constatadas devem ser tratadas internamente pelo framework como erros críticos de inicialização. Pergunta Q-8616025446bf33f2 (aberta)

simultaneidade

A própria função construtora é executada de forma thread-safe [SWS_DM_00585]. Por meio do argumento concurrencyType, controla-se se chamadas de interface subsequentes da instância podem ocorrer concorrentemente [SWS_DM_00585].

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

Guia do implementador em breve (complexidade I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
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 DiagnosticDataIdentifierInterface 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
instanceSpecThe specifier of a specific instance of a service.
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_00585
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00585@rel:R25-11#8b2ab141
Content hash
8b2ab141
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00585
Status: valid/unmigrated Version: rel:R25-11#4e8f5fe5 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_00585@rel:R25-11#4e8f5fe5
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#424df92c2026-09-30
  • R19-11rel:R19-11#420e87cb2026-10-14
  • R20-11rel:R20-11#6d8ab4df2026-10-14
  • R21-11rel:R21-11#c7e8234c2026-10-14
  • R22-11rel:R22-11#5168b3b22026-10-14
  • R23-11rel:R23-11#c7617fcf2026-10-14
  • R24-11rel:R24-11#9629e2942026-10-14
  • R25-11rel:R25-11#4e8f5fe52026-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 <DataIdentifierInterface> [SWS_DM_01665] Upstream: RS_AP_00147

<DataIdentifierInterface2> (const <DataIdentifierInterface2> &other)=delete;

Copy constructor deletion

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01665
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01665@rel:R25-11#771998f3
Content hash
771998f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01665
Status: valid/unmigrated Version: rel:R25-11#d2f9729a 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_01665@rel:R25-11#d2f9729a
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ae00ab682026-09-30
  • R23-11rel:R23-11#c667bc4b2026-10-14
  • R24-11rel:R24-11#fa08505b2026-10-14
  • R25-11rel:R25-11#d2f9729a2026-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 <DataIdentifierInterface> [SWS_DM_01666] Upstream: RS_AP_00147

<DataIdentifierInterface4> ( <DataIdentifierInterface4> &&other)=delete;

Move constructor

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01666
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01666@rel:R25-11#eae4fe86
Content hash
eae4fe86
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01666
Status: valid/unmigrated Version: rel:R25-11#3ab93d5e 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_01666@rel:R25-11#3ab93d5e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#37eed7f82026-09-30
  • R23-11rel:R23-11#eaf209332026-10-14
  • R24-11rel:R24-11#8925cf032026-10-14
  • R25-11rel:R25-11#3ab93d5e2026-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_00599] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04169, RS_Diag_04224

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: ebb465f1e58b 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

O método síncrono Offer() permite que o Diagnostic Management (DM) encaminhe solicitações de diagnóstico de entrada para a respectiva instância de <DataIdentifierInterface> ([SWS_DM_00599]). A função não recebe parâmetros de entrada e é especificada como noexcept ([SWS_DM_00599]). Interpretação: a chamada deve ocorrer tipicamente durante a fase de inicialização da aplicação, já que o DM não pode entregar solicitações antes da disponibilização. Pergunta Q-4ba81ff234a09f46 (aberta)

Tratamento de erros e valores de retorno

Como valor de retorno serve ara::core::Result<void> ([SWS_DM_00599]). Se o registro foi bem-sucedido, o resultado não contém nenhum valor. Se o manipulador já tiver sido disponibilizado anteriormente, a chamada falha e retorna o código de erro DiagOfferErrc::kAlreadyOffered com semântica de reversão ([SWS_DM_00599]; cf. [SWS_DM_00514]).

Simultaneidade e restrições

A função garante segurança contra exceções (exception safe), mas é expressamente especificada como não segura para threads (not thread-safe) ([SWS_DM_00599]). Chamadas paralelas na mesma instância devem ser sincronizadas pela aplicação.

Interação

O padrão de disponibilização corresponde à abordagem unificada de ativação no DM: métodos Offer() análogos existem para identificadores genéricos ([SWS_DM_00638]), elementos de dados ([SWS_DM_00597]), rotinas ([SWS_DM_00557], [SWS_DM_00594]) e serviços DoIP ([SWS_DM_00725], [SWS_DM_00735]). Enquanto Offer() não tiver sido executado, o DM não encaminha solicitações para o manipulador e responde com valores padrão no caso de serviços DoIP ([SWS_DM_01525], [SWS_DM_01527]).

Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Adaptive Release R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: diag::DiagOfferErrc

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_00599
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00599@rel:R25-11#5ac262cd
Content hash
5ac262cd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00599
Status: valid/unmigrated Version: rel:R25-11#b1695320 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_00599@rel:R25-11#b1695320
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8a80b11d2026-09-30
  • R19-11rel:R19-11#ca894da82026-10-14
  • R20-11rel:R20-11#cb4154752026-10-14
  • R21-11rel:R21-11#1465258e2026-10-14
  • R22-11rel:R22-11#cb17bfe82026-10-14
  • R23-11rel:R23-11#209914022026-10-14
  • R24-11rel:R24-11#713a92052026-10-14
  • R25-11rel:R25-11#b16953202026-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_00640] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< <DataIdentifier>ReadOutput > Read (const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a reading DataIdentifier (DiagnosticDataIdentifierInterface in the role read).

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

usar

O método Read destina-se ao fornecimento de dados de um identificador de dados de diagnóstico (DataIdentifier) no papel de leitura de um DiagnosticDataIdentifierInterface [SWS_DM_00640]. A chamada ocorre de forma assíncrona pelo Diagnostic Manager (DM) em caso de solicitações de diagnóstico externas AUTOSAR_AP_SWS_Diagnostics p. 143 §7.3.2.6.1 «NRCs created by application». Como parâmetros são passados metaInfo para avaliação das propriedades da solicitação, bem como um cancellationHandler [SWS_DM_00640]. A aplicação de processamento pode consultar o status de cancelamento por meio de cancellationHandler.IsCanceled() ou registrar, através de cancellationHandler.SetNotifier(), um callback para o caso de a sessão ser cancelada prematuramente [SWS_DM_00640]. O resultado é retornado de forma assíncrona como ara::core::Future com um objeto ReadOutput [SWS_DM_00640], [SWS_DM_00579].

Tratamento de erros

A função é especificada como exception safe e não deve propagar exceções para o exterior [SWS_DM_00640]. Se ocorrer um erro durante a obtenção dos dados, a aplicação retorna no ara::core::Future um valor de retorno negativo na forma de um código de erro UDS correspondente (NRC de acordo com a ISO 14229-1 via DiagUdsNrcErrc) ou de um ApApplicationError [SWS_DM_00640], AUTOSAR_AP_SWS_Diagnostics p. 143 §7.3.2.6.1 «NRCs created by application».

Concorrência e interação

A função de interface é por padrão not thread-safe [SWS_DM_00640]. Uma execução concorrente de acessos de leitura e escrita pelo Diagnostic Manager é regulada pelo tipo ara::diag::DataIdentifierConcurrencyType::readWrite, que é pré-configurado por padrão como kNotConcurrent [SWS_DM_00939]. Operações de leitura relacionadas existem para elementos de dados individuais através de DiagnosticDataElementInterface [SWS_DM_00596], bem como para identificadores genéricos [SWS_DM_00636].

Este texto foi gerado por uma IA com base na especificação AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
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< {<data-identifier-name>}ReadOutput >• If successful: an ara::core::Future containing a ReadOutput object as per [SWS_DM_00579] • If unsuccessful: an ara::core::Future containing a corresponding DiagUdsNrcErrc or ApApplicationError.

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_00640
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00640@rel:R25-11#46c83b81
Content hash
46c83b81
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00640
Status: valid/unmigrated Version: rel:R25-11#09d4ff6e 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_00640@rel:R25-11#09d4ff6e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2edc90672026-09-30
  • R19-11rel:R19-11#6713bf032026-10-14
  • R20-11rel:R20-11#8a573eb02026-10-14
  • R21-11rel:R21-11#5d209a572026-10-14
  • R22-11rel:R22-11#d59456d32026-10-14
  • R23-11rel:R23-11#d388add12026-10-14
  • R24-11rel:R24-11#05b336912026-10-14
  • R25-11rel:R25-11#09d4ff6e2026-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_00600] 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: 3f19138aee59 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método StopOffer desinstala o encaminhamento de requisições de diagnóstico recebidas do Diagnostic Management (DM) para a instância de interface concreta [SWS_DM_00600]. Ao efetuar a chamada, a aplicação adaptativa sinaliza que, temporária ou permanentemente, não está mais disponível para processar requisições para este DataIdentifier.

Utilização e semântica

A chamada é síncrona, não tem parâmetros e não fornece valor de retorno [SWS_DM_00600]. O arquivo de interface gerado #include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h" deve ser incluído como cabeçalho [SWS_DM_00600]. A nomenclatura segue o padrão conhecido de ara::com, mas representa uma interface independente do domínio de diagnóstico AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Tratamento de erros e simultaneidade

  • Segurança contra exceções: A função está declarada com noexcept e garante segurança completa contra exceções (exception safe) [SWS_DM_00600]. Nenhuma exceção é lançada.
  • Thread-safety: A operação está especificada como not thread-safe [SWS_DM_00600]. A chamada deve ocorrer sincronizada, para que não ocorra acesso paralelo à mesma instância da interface.

Interação

O comportamento corresponde ao padrão de desativação uniforme do Diagnostic Management, conforme definido analogamente para interfaces relacionadas, como rotinas [SWS_DM_00558], elementos de dados genéricos [SWS_DM_00639] ou serviços de download [SWS_DM_00793]. Após a desativação bem-sucedida, as requisições recebidas do DM para este DataIdentifier não são mais encaminhadas para o manipulador da aplicação [SWS_DM_00600]; o DM deve, em seguida, gerar códigos de resposta negativa correspondentes. Pergunta Q-d301740d097f9946 (aberta)

Esta nota de uso baseia-se nas definições da especificação AUTOSAR AP R25-11.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
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_00600
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00600@rel:R25-11#5f750cf5
Content hash
5f750cf5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00600
Status: valid/unmigrated Version: rel:R25-11#06007200 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_00600@rel:R25-11#06007200
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#22b516472026-09-30
  • R19-11rel:R19-11#086a57212026-10-14
  • R20-11rel:R20-11#b9a8e5302026-10-14
  • R21-11rel:R21-11#c2bf51c22026-10-14
  • R22-11rel:R22-11#008226012026-10-14
  • R23-11rel:R23-11#4ba8fcde2026-10-14
  • R24-11rel:R24-11#095120152026-10-14
  • R25-11rel:R25-11#060072002026-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_00598] Upstream: RS_AP_00114, RS_AP_00127, RS_AP_00128, RS_AP_00138

virtual ara::core::Future< void > Write ( {<data-identifier-in-arg-derived-type-0toN>} {<data-identifier-in-arg-symbol-0toN>}, const ara::diag::MetaInfo &metaInfo, ara::diag::CancellationHandler cancellationHandler) noexcept=0;

Provision of a writing DataIdentifier (DiagnosticDataIdentifierInterface in the role write).

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

A função de interface serve para a disponibilização com segurança de tipos de um DataIdentifier (DID) de escrita no papel Write [SWS_DM_00598]. Ela é chamada pela instância do Diagnostic Server aquando da receção de solicitações de diagnóstico do serviço UDS 0x2E (WriteDataByIdentifier) [SWS_DM_00186], desde que o DID seja suportado no sistema e as verificações da sessão de diagnóstico ativa bem como do nível de segurança tenham sido aprovadas com sucesso [SWS_DM_00415] [SWS_DM_00416] [SWS_DM_00417]. Ao contrário da variante genérica com span de bytes brutos [SWS_DM_00637], o método vincula parâmetros de entrada tipificados específicos do modelo [SWS_DM_00598].

  • Parâmetros: Além dos argumentos de entrada gerados, o método recebe metainformações sobre a solicitação através de metaInfo, bem como um cancellationHandler [SWS_DM_00598]. Através do manipulador de cancelamento, a aplicação pode verificar via IsCanceled se a conversação foi cancelada, ou registar com SetNotifier uma notificação para o caso de cancelamento [SWS_DM_00598].
  • Valor de retorno e tratamento de erros: A execução ocorre de forma assíncrona através de ara::core::Future<void> [SWS_DM_00598]. Em caso de sucesso, o future fornece o tipo void. Em caso de erro, deve ser retornado um NRC UDS aplicável de acordo com a ISO 14229-1 mediante ara::diag::DiagUdsNrcErrc ou um ApplicationError correspondente [SWS_DM_00598]. A função é declarada como segura contra exceções (exception safe) [SWS_DM_00598].
  • Concorrência: O método é classificado como não seguro para threads (not thread-safe) [SWS_DM_00598]. Se acessos de leitura e de escrita podem ser chamados em paralelo pelo Diagnostic Management é controlado através do elemento de configuração readWrite em DataIdentifierConcurrencyType [SWS_DM_00939].

Esta nota de utilização foi criada de forma automatizada com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
{<data-identifier-in-arg-symbol-0toN>}The symbol name of method argument[0..N] in the ordered list of method arguments, with ClientServerOperation. direction == in given by ClientServerOperation. ArgumentDataPrototype[0..N]. shortName
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 >• If successful: an ara::core::Future containing a void. • If unsuccessful: an ara::core::Future containing a corresponding ara::diag::DiagUdsNrcErrc or Ap ApplicationError.

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_00598
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00598@rel:R25-11#40b8c9f6
Content hash
40b8c9f6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00598
Status: valid/unmigrated Version: rel:R25-11#bdb87168 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_00598@rel:R25-11#bdb87168
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#72cee5e42026-09-30
  • R19-11rel:R19-11#0d590eb92026-10-14
  • R20-11rel:R20-11#8b24b94a2026-10-14
  • R21-11rel:R21-11#6fc896c62026-10-14
  • R22-11rel:R22-11#e1f8fedf2026-10-14
  • R23-11rel:R23-11#f147daab2026-10-14
  • R24-11rel:R24-11#911d64682026-10-14
  • R25-11rel:R25-11#bdb871682026-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_01663] Upstream: RS_AP_00147

<DataIdentifierInterface3> & operator= (const <DataIdentifierInterface3> &other)=delete;

Copy assignment constructor deletion

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01663
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01663@rel:R25-11#cfeba98c
Content hash
cfeba98c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01663
Status: valid/unmigrated Version: rel:R25-11#84430c7f 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_01663@rel:R25-11#84430c7f
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e8fc0e1d2026-09-30
  • R23-11rel:R23-11#32ce8d7c2026-10-14
  • R24-11rel:R24-11#d7cea82e2026-10-14
  • R25-11rel:R25-11#84430c7f2026-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_01664] Upstream: RS_AP_00147

<DataIdentifierInterface5> & operator= ( <DataIdentifierInterface5> &&other)=delete;

Move assignment constructor

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>

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

Record
AUTOSAR/AP/record/SWS_DM_01664
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01664@rel:R25-11#234bbdbb
Content hash
234bbdbb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01664
Status: valid/unmigrated Version: rel:R25-11#22a1078d 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_01664@rel:R25-11#22a1078d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#38d959842026-09-30
  • R23-11rel:R23-11#e483c5232026-10-14
  • R24-11rel:R24-11#8aad364b2026-10-14
  • R25-11rel:R25-11#22a1078d2026-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 ~<DataIdentifierInterface> [SWS_DM_00586] Upstream: RS_Diag_04169, RS_AP_00134

virtual ~<DataIdentifierInterface6> ();

Destruction of a DataIdentifier

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Exception-Sicherheitnot exception 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_00586
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00586@rel:R25-11#d7c6492d
Content hash
d7c6492d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00586
Status: valid/unmigrated Version: rel:R25-11#30bedd44 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_00586@rel:R25-11#30bedd44
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#5bb9ad312026-09-30
  • R19-11rel:R19-11#e08946d32026-10-14
  • R20-11rel:R20-11#74e8f77a2026-10-14
  • R21-11rel:R21-11#42adefc82026-10-14
  • R22-11rel:R22-11#6fb7460b2026-10-14
  • R23-11rel:R23-11#b224e2552026-10-14
  • R24-11rel:R24-11#0c307cd32026-10-14
  • R25-11rel:R25-11#30bedd442026-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

Documentação das constantes / variáveis

variável <DataIdentifierOutArg> [SWS_DM_80013] Upstream: RS_Diag_04224, RS_Diag_04169

<DataIdentifierOutArgType> <DataIdentifierOutArg>;

Member declaration representing an out argument in an Output.

Header-Datei#include "<DataIdentifierDirectoryPath>/<DataIdentifierShortname>.h"
Scopeclass <DataIdentifier-Namespace>::<DataIdentifierInterface>
Symbol<DataIdentifierOutArg>
Typ<DataIdentifierOutArgType>

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

Record
AUTOSAR/AP/record/SWS_DM_80013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_80013@rel:R25-11#6c2f1183
Content hash
6c2f1183
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_80013
Status: valid/unmigrated Version: rel:R25-11#a48f634f 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_80013@rel:R25-11#a48f634f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#563214cb2026-09-30
  • R24-11rel:R24-11#866631f72026-10-14
  • R25-11rel:R25-11#a48f634f2026-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