Maakt de bewaking van actieve diagnosekanalen alsmede de controle van diagnosesessie en beveiligingsniveau mogelijk.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 1824b6dbecd2HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Maakt de bewaking van actieve diagnosekanalen alsmede de controle van diagnosesessie en beveiligingsniveau mogelijk.
De klasse ara::diag::Conversation representeert een diagnosecommunicatiekanaal voor het bewaken van activiteitsstatus, diagnosesessie en beveiligingsniveau alsmede voor het resetten naar de standaardsessie [SWS_DM_00692][SWS_DM_00701]. Applicaties verkrijgen instanties uitsluitend als referenties via statische zoekfuncties, aangezien eigen instantiaties alsmede kopieer- en verplaatsbewerkingen zijn verwijderd [SWS_DM_02090]. Terwijl lezende statusopvragingen thread-safe kunnen worden uitgevoerd, vereisen callback-registraties en het resetten van de sessie externe synchronisatie.
Context
De klasse ara::diag::Conversation representeert de interface naar een communicatiekanaal tussen een externe diagnosetester en het Adaptive Platform SWS Diagnostics §8.2 “Conversation”. Deze dient als schakel tussen de applicatie en het interne Diagnostic Management (DM) om lopende diagnoseactiviteiten te volgen en te besturen. Via instanties hiervan krijgen Adaptive-applicaties inzicht in de actuele verbindingstoestand [SWS_DM_00694], de actieve diagnosesessie [SWS_DM_00696], het beveiligingsniveau [SWS_DM_00698] en de identificatiekenmerken van het kanaal [SWS_DM_00700].
Instanties van ara::diag::Conversation worden volledig geïnstantieerd en beheerd door de Diagnostic Management Daemon. Handmatig aanmaken, kopiëren of verplaatsen door de applicatie is uitgesloten: zowel de copy constructor [SWS_DM_02090] en move constructor [SWS_DM_02092] als de toewijzingsoperatoren [SWS_DM_02091][SWS_DM_02093] zijn verwijderd (=delete). De levensduur van de gereferentieerde objecten is daarom vermoedelijk direct gekoppeld aan de runtime-toestand van het diagnosesubsysteem. Vraag Q-f8deca481d5b76e1 (open)
De toegang tot bestaande instanties verloopt uitsluitend via statische opvraagfuncties. Met GetAllConversations() kunnen referenties naar alle geconfigureerde verbindingen worden opgevraagd [SWS_DM_00782], terwijl GetCurrentActiveConversations() een lijst oplevert van alle actueel actieve kanalen waarvan de activiteitsstatus overeenkomt met kActive[SWS_DM_00783]. Daarnaast kan via GetConversation(metaInfo) een specifieke verbinding worden herleid aan de hand van de metadata van een lopend diagnoseverzoek [SWS_DM_00692].
Wat betreft gelijktijdigheid zijn alle lezende toegangen tot status en identificatoren gespecificeerd als thread-safe [SWS_DM_00694][SWS_DM_00696][SWS_DM_00698]. Het registreren van notificatie-callbacks en het resetten van de sessie gelden daarentegen als niet-thread-safe (not thread-safe) [SWS_DM_00695][SWS_DM_00701] en vereisen synchronisatie aan de zijde van de applicatie.
Gebruikspad
Een typische use case omvat het bepalen van de verbinding, de registratie van notificatiefuncties en de gerichte bewaking of manipulatie van de sessietoestand:
Referentie verkrijgen: Bij een binnenkomend diagnoseverzoek wordt de bijbehorende instantie verkregen via GetConversation(metaInfo)[SWS_DM_00692].
Toestandsbewaking instellen: Via de registratiemethoden SetActivityNotifier()[SWS_DM_00695][SWS_DM_02126], SetDiagnosticSessionNotifier()[SWS_DM_00697][SWS_DM_02127] en SetSecurityLevelNotifier()[SWS_DM_00699][SWS_DM_02128] wordt de applicatie bij wijzigingen genotificeerd. Een herhaalde aanroep overschrijft de eerder geregistreerde callback.
Status opvragen: De actuele toestand kan synchroon worden bepaald met GetDiagnosticSession()[SWS_DM_00696] of GetDiagnosticSecurityLevel()[SWS_DM_00698]. Middels GetDiagnosticSessionShortName()[SWS_DM_00707] en GetDiagnosticSecurityLevelShortName()[SWS_DM_00708] kunnen de enums worden herleid naar leesbare korte aanduidingen.
Sessie resetten: Vereist de logica een afbreking of een terugval naar de basistoestand, dan brengt ResetToDefaultSession() het kanaal terug naar de standaardsessie [SWS_DM_00701].
Methoden van ara::diag::Conversation signaleren fouten via ara::core::Result. Is de basisfunctionaliteit van het Diagnostic Management tijdelijk niet beschikbaar, dan falen GetConversation(), GetActivityStatus(), GetDiagnosticSession(), GetDiagnosticSecurityLevel() en GetConversationIdentifier() met de foutcode DiagErrc::kServiceNotAvailable[SWS_DM_00692][SWS_DM_00694][SWS_DM_00696][SWS_DM_00698][SWS_DM_00700]. Aanroepen volgen daarbij de rollback-semantiek en blijven zonder neveneffecten.
Bij de stringconversiefuncties GetDiagnosticSessionShortName()[SWS_DM_00707] en GetDiagnosticSecurityLevelShortName()[SWS_DM_00708] leidt het meegeven van een onbekende of ongeldige enumeratiewaarde tot de fout DiagErrc::kInvalidArgument. Voor de notifier-registratiemethoden en voor ResetToDefaultSession() zijn in de specificatie geen gestandaardiseerde foutcodes gedefinieerd [SWS_DM_00701].
Deze handleiding is uitsluitend gebaseerd op de AUTOSAR Adaptive-specificatie R25-11.
Register a notifier function which is called if the activity is changed. A consecutive call of this method will overwrite the previous registered notifier.
Register a notifier function which is called if the Session is changed. A consecutive call of this method will overwrite the previous registered notifier.
Register a notifier function which is called if the SecurityLevel is changed. A consecutive call of this method will overwrite the previous registered notifier.
Represents the current active diagnostic SecurityLevel of an active conversation.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: a38bce94acc6HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De methode GetDiagnosticSecurityLevel van de klasse ara::diag::Conversation dient voor het synchroon bepalen van het momenteel actieve beveiligingsniveau van een diagnoseconversatie (AUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.6 “GetDiagnosticSecurityLevel”, [SWS_DM_00698]). Deze wordt beschikbaar gesteld via de header #include "ara/diag/conversation.h", accepteert geen overdrachtsparameters en is gedeclareerd met de specificator noexcept.
Als retourtype levert de functie een ara::core::Result<SecurityLevelType> op. Bij succes bevat dit object direct de enum-waarde van de actuele beveiligingstoestand van de actieve verbinding [SWS_DM_00698].
Foutafhandeling en gelijktijdigheid
Mislukt het opvragen, dan levert de methode een ara::core::Result met de foutcode DiagErrc::kServiceNotAvailable op [SWS_DM_00698]. Dit signaleert met toepassing van rollback-semantiek dat essentiële functies van Diagnostic Management (DM) op het aanroeptijdstip niet beschikbaar zijn. Met betrekking tot uitvoeringsveiligheid is GetDiagnosticSecurityLevel geclassificeerd als thread-safe en exception-safe [SWS_DM_00698] en staat daarmee concurrente aanroepen vanuit verschillende threads toe.
Samenspel
Interpretatie: Een aanroep zal typisch plaatsvinden voorafgaand aan de uitvoering van beschermde diagnoseactiviteiten, om de aanwezigheid van het vereiste autorisatieniveau te verifiëren. Vraag Q-8c056d4c5199524d (open) Voor verdere verwerking of diagnose-uitvoer kan de vastgestelde SecurityLevelType via de methode GetDiagnosticSecurityLevelShortName (AUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.7 “GetDiagnosticSecurityLevelShortName”, [SWS_DM_00708]) worden vertaald naar de bijbehorende symbolische korte naam (shortName als ara::core::StringView).
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie AUTOSAR Adaptive R25-11.
Converts the given diagnostic SecurityLevel into the ShortName.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 384b6d7f7a21HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De synchrone methode ara::diag::Conversation::GetDiagnosticSecurityLevelShortName uit de header ara/diag/conversation.h vertaalt een overgedragen beveiligingsniveau van het type SecurityLevelType naar de identifier van de geconfigureerde korte naam (DiagnosticSecurityLevel.shortName) [SWS_DM_00708]. De aanroep retourneert het resultaat als ara::core::Result<ara::core::StringView>.
Foutafhandeling
In geval van een fout levert de functie de foutcode DiagErrc::kInvalidArgument terug [SWS_DM_00708]. De instantie van de Diagnostic Server valideert de parameterwaarde daarbij aan de hand van twee voorwaarden:
Wordt als argument securityLevel de vergrendelde toestand kLocked meegegeven, dan moet de Diagnostic Server dwingend kInvalidArgument retourneren [SWS_DM_01259].
Komt de overgedragen waarde niet overeen met een geconfigureerde invoer volgens de berekening ((DiagnosticSecurityAccess.requestSeedId + 1) / 2) in DiagnosticContributionSet, dan mislukt de aanroep eveneens met kInvalidArgument[SWS_DM_01260].
Gelijktijdigheid en beperkingen
De methode is gedeclareerd als noexcept en gespecificeerd als uitzonderingsveilig (exception safe) en thread-safe (thread-safe) [SWS_DM_00708]. Vanwege de gespecificeerde thread-safety zal de aanroep waarschijnlijk ook bij concurrente diagnoseactiviteiten veilig zijn zonder mutex-synchronisatie aan de applicatiezijde. Vraag Q-b851a473c2d836b7 (open) Voorafgaand aan toegang tot de gerefereerde tekenreeks moet de applicatie controleren of de ara::core::Result een fout bevat.
Deze gebruiksinstructie is geautomatiseerd gegenereerd. Alle referenties zijn afkomstig uit de specificaties van het AUTOSAR Adaptive-platform voor release R25-11.
Method to reset the current session to default session.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 040cba85c191HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode ara::diag::Conversation::ResetToDefaultSession stelt een Adaptive Application in staat om een diagnoseconversatie expliciet terug te zetten naar de standaardsessie (Default Session) [SWS_DM_00701].
Gebruik
De aanroep geschiedt parameterloos op een instantie van ara::diag::Conversation via het headerbestand #include "ara/diag/conversation.h"[SWS_DM_00701]. Wordt de methode aangeroepen, dan rondt de instantie van de Diagnostic Server eerst het lopende verzoek af en wisselt pas daarna de diagnosesessie van de conversatie naar de Default Session [SWS_DM_00842].
Foutafhandeling en gelijktijdigheid
Retourwaarde en fouten: De functie retourneert een ara::core::Result<void>[SWS_DM_00701]. Er zijn geen gestandaardiseerde foutcodes voorgeschreven; interpretatie: eventuele fouten in Result geven vermoedelijk fabrikantspecifieke problemen weer bij de opdrachtafhandeling door de Diagnostic Server. Vraag Q-9f780f4ef7991bf4 (open)
Thread-safety: De functie is exceptieveilig (noexcept), maar gespecificeerd als niet-thread-safe (not thread-safe) [SWS_DM_00701]. Parallelle aanroepen op hetzelfde conversatie-object moeten daarom door de aanroepende applicatie worden gecoördineerd.
Samenspel
De methode vult het informatieve karakter van de conversatie-interface aan met een gerichte toestandsbesturing AUTOSAR_AP_SWS_Diagnostics §7 “Diagnostic Conversation Interface”. Deze waarborgt dat bestaande diagnoseverzoeken ordelijk worden beëindigd voordat de toestand van de conversatie wordt gewijzigd [SWS_DM_00842].
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificatiedocumenten van AUTOSAR Adaptive R25-11.
Register a notifier function which is called if the activity is changed. A consecutive call of this method will overwrite the previous registered notifier.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 49e9828acc72HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De methode ara::diag::Conversation::SetActivityNotifier dient voor de registratie van een notificatiefunctie (notifier), die telkens wordt aangeroepen wanneer de activiteitsstatus van de diagnoseconversatie verandert [SWS_DM_00695]. De declaratie vindt plaats via het headerbestand #include "ara/diag/conversation.h" in de scope van de klasse ara::diag::ConversationAUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.11 “SetActivityNotifier”. Een hernieuwde resp. opeenvolgende aanroep op dezelfde instantie overschrijft de eerder geregistreerde notifier volledig [SWS_DM_00695], [SWS_DM_01355].
Foutafhandeling en gelijktijdigheid
De retourwaarde is getypeerd als ara::core::Result<void> en meldt succes of een fouttoestand terug; de interface specificeert echter geen gestandaardiseerde foutcodes [SWS_DM_00695]. De methode is gedeclareerd als noexcept en uitzonderingsveilig (exception safe).
Wat betreft thread-safety is de functie geclassificeerd als niet-thread-safe (not thread-safe) [SWS_DM_00695]. Vindt de toegang tot dezelfde conversatie-instantie plaats vanuit meerdere threads, dan moet de registratieaanroep aan applicatiezijde worden gesynchroniseerd.
Samenspel in de levenscyclus
Instanties van de conversatie worden ter beschikking gesteld door de Diagnostic Server, waarbij het maximale aantal parallelle conversaties wordt geconfigureerd via maxConversations[SWS_DM_00840]. Wanneer de levenscyclus van een diagnoseconversatie eindigt, stelt de Diagnostic Server de activiteitsstatus in op kInactive[SWS_DM_00843]. Dit signaleert vermoedelijk het einde van de actieve diagnosecommunicatie aan de geregistreerde notifier. Vraag Q-93c30267eb100ed7 (open)
Deze tekst is gegenereerd door een AI-systeem en redactioneel gecontroleerd.
Register a notifier function which is called if the Session is changed. A consecutive call of this method will overwrite the previous registered notifier.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b40c717f1178HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De functie SetDiagnosticSessionNotifier behoort tot de klasse ara::diag::Conversation en wordt ter beschikking gesteld via het headerbestand #include "ara/diag/conversation.h"[SWS_DM_00697]. Deze stelt applicaties in staat een notifier-functie te registreren die bij elke wissel van de diagnosesessie wordt getriggerd.
Gebruik en aanroepsemantiek
De aanroep vindt synchroon plaats op een instantie van ara::diag::Conversation onder doorgifte van de parameter notifier van het type SessionControl TypeNotifier[SWS_DM_00697]. Een opeenvolgende resp. herhaalde methode-aanroep overschrijft de eerder geregistreerde notifier volledig AUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.12 “SetDiagnosticSessionNotifier”.
Retourwaarde en foutafhandeling
Als retourwaarde levert de interface een ara::core::Result<void> terug, die hetzij een succesvolle registratie bevestigt, hetzij een foutobject bevat [SWS_DM_00697]. De specificatie definieert voor deze aanroep geen gestandaardiseerde foutcodes; optredende fouten zijn daarom vermoedelijk terug te voeren op implementatiespecifieke validaties. Vraag Q-1ac7eebee90e3c22 (open)
Gelijktijdigheid en beperkingen
Thread-safety: De methode is gespecificeerd als niet-thread-safe (not thread-safe) [SWS_DM_00697]. Parallelle aanroepen voor dezelfde conversatie-instantie moeten daarom aan applicatiezijde worden gesynchroniseerd.
Uitzonderingsveiligheid: De functie is gedeclareerd als noexcept en geldt als uitzonderingsveilig (exception safe) [SWS_DM_00697].
Deze gebruiksinstructie is geautomatiseerd gegenereerd. Deze is uitsluitend gebaseerd op de specificatiedocumenten van AUTOSAR Adaptive Release R25-11.
Register a notifier function which is called if the SecurityLevel is changed. A consecutive call of this method will overwrite the previous registered notifier.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: f0130e1f2bdeHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De methode ara::diag::Conversation::SetSecurityLevelNotifier dient voor de registratie van een callback-functie die wordt genotificeerd zodra het beveiligingsniveau (SecurityLevel) van de diagnoseconversatie verandert [SWS_DM_00699]. Deze wordt gedeclareerd via de header ara/diag/conversation.hAUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.13 “SetSecurityLevelNotifier”. Als parameter neemt deze de aan te roepen functie notifier in ontvangst. Een hernieuwde aanroep van de methode overschrijft een eerder geregistreerde notifier-functie volledig [SWS_DM_00699].
Semantiek en retourwaarde
De functie is gedefinieerd als noexcept en gespecificeerd als uitzonderingsveilig (exception safe) [SWS_DM_00699]. Als retourtype levert deze ara::core::Result<void> op, wat hetzij geen waarde, hetzij een opgetreden fout retourneert [SWS_DM_00699].
Foutafhandeling
De specificatie definieert voor SetSecurityLevelNotifier geen gestandaardiseerde foutcodes [SWS_DM_00699]. Eventueel in ara::core::Result geretourneerde fouten zijn daarom vermoedelijk fabrikantspecifiek of het gevolg van de onderliggende platformruntime. Vraag Q-c8dd53e9d661cc78 (open)
Gelijktijdigheid en beperkingen
Wat betreft thread-safety is de methode expliciet geclassificeerd als not thread-safe[SWS_DM_00699]. Parallelle toegangen tot dezelfde instantie van ara::diag::Conversation moeten zodoende aan aanroeperszijde worden gesynchroniseerd. Bovendien bezit de API-definitie in de onderhavige documentatiestatus de status DRAFTAUTOSAR_AP_SWS_Diagnostics §8.9.3.2.2.13 “SetSecurityLevelNotifier”.
Deze gebruiksinstructie is gebaseerd op de specificatie AUTOSAR Adaptive Platform Release R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel