Stelt de actuele DoIP-energiemodus van het voertuig via een callback-interface beschikbaar aan Diagnostic Management.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: afa4b2f1975cHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Stelt de actuele DoIP-energiemodus van het voertuig via een callback-interface beschikbaar aan Diagnostic Management.
De interfaceklasse ara::diag::DoIPPowerMode stelt applicaties in staat om de actuele DoIP-energiemodus beschikbaar te stellen aan Diagnostic Management via de callback-functie GetDoIPPowerMode()[SWS_DM_00734]. Na de instantiëring moet de handler via Offer() worden geactiveerd en voor de vernietiging via StopOffer() weer worden afgemeld [SWS_DM_00735], [SWS_DM_00736]. Als uniek exemplaar is de klasse niet kopieerbaar en niet verplaatsbaar [SWS_DM_01645].
Context
De abstracte klasse ara::diag::DoIPPowerMode definieert de interface voor het beschikbaar stellen van de actuele DoIP-energiemodus aan Diagnostic Management (DM). In voertuigarchitecturen die Diagnostics over Internet Protocol (DoIP) gebruiken, moet het communicatieprotocol op de hoogte zijn van de bedrijfstoestand van het voertuignetwerk resp. de voedingsspanning. De applicatiesoftware leidt een concrete handler-klasse af van ara::diag::DoIPPowerMode en implementeert het opvragen van de energiemodus [SWS_DM_00734]. Interactiepartners zijn de aanbiedende diagnosetoepassing, die de interface aanbiedt, en het DM-runtimesysteem, dat inkomende verzoeken naar deze handler delegeert [SWS_DM_00735].
Levenscyclus
Instanties van ara::diag::DoIPPowerMode worden applicatie-intern aangemaakt en geïdentificeerd via een PortPrototype, dat door een ara::core::InstanceSpecifier wordt gerefereerd [SWS_DM_00732]. Bij de aanroep van de constructor wordt via het argument ConcurrencyType vastgelegd of de callback-methode GetDoIPPowerMode() thread-safe (kConcurrent) of niet thread-safe (kNotConcurrent) moet worden uitgevoerd [SWS_DM_00732]. De constructor zelf is thread-safe uitgevoerd [SWS_DM_00732].
Volgens de specificatie betreft het een niet-kopieerbare en niet-verplaatsbare instantie: zowel de copy constructor [SWS_DM_01645] als de move constructor [SWS_DM_01646] evenals de bijbehorende toewijzingsoperatoren [SWS_DM_01643], [SWS_DM_01644] zijn expliciet verwijderd (=delete).
Na de instantiëring moet de handler via Offer() worden geactiveerd, zodat het DM verzoeken kan doorsturen [SWS_DM_00735]. Om het doorsturen van verzoeken te beëindigen, wordt StopOffer() aangeroepen [SWS_DM_00736]. De virtuele destructor ~DoIPPowerMode()[SWS_DM_00733] evenals Offer() en StopOffer() zijn gespecificeerd als niet thread-safe. Vermoedelijk moet vóór de aanroep van de destructor altijd StopOffer() worden uitgevoerd om openstaande interacties met het DM correct los te koppelen. Vraag Q-85ede935aa303c45 (open)
Gebruikspad
Het typische gebruik van ara::diag::DoIPPowerMode volgt een vaste volgorde van initialisatie, serviceregistratie, cyclische resp. gebeurtenisgebaseerde modusopvraag en afmelding:
De applicatie instantieert haar afgeleide klasse met de passende InstanceSpecifier en de gewenste ConcurrencyType[SWS_DM_00732].
De applicatie registreert de handler actief middels Offer() bij Diagnostic Management [SWS_DM_00735].
Zodra het DoIP-protocol de status nodig heeft, roept het DM de puur virtuele functie GetDoIPPowerMode() aan [SWS_DM_00734]. De implementatie levert een ara::core::Future<PowerModeType> terug, die asynchroon wordt opgelost [SWS_DM_00734].
Bij het beëindigen van het bedrijf roept de applicatie StopOffer() aan om geen verdere verzoeken meer aan te nemen [SWS_DM_00736].
De instantie wordt vrijgegeven via de destructor [SWS_DM_00733].
Bij de aanroep van de constructor kunnen model- en toewijzingsschendingen optreden die zijn gedocumenteerd [SWS_DM_00732]:
InstanceSpecifierMappingIntegrityViolation: De identifier kan in de context van het executable niet worden opgelost of refereert niet aan een PortPrototype-element [SWS_DM_00732].
PortInterfaceMappingViolation: Het gerefereerde PortPrototype is niet getypeerd door een DiagnosticDoIPPowerModeInterface[SWS_DM_00732].
ProcessMappingViolation: Er bestaat een instantie-referentie, maar geen passend gemodelleerd proces voor de runtime-omgeving [SWS_DM_00732].
InstanceSpecifierAlreadyInUseViolation: De InstanceSpecifier is binnen hetzelfde proces al gebruikt voor een andere instantie [SWS_DM_00732].
Als Offer() wordt aangeroepen terwijl de service al actief wordt aangeboden, retourneert de methode via het ara::core::Result de foutcode DiagOfferErrc::kAlreadyOffered[SWS_DM_00735]. De methode GetDoIPPowerMode() definieert daarentegen geen gestandaardiseerde foutcodes [SWS_DM_00734].
Deze handleiding is gebaseerd op de AUTOSAR-specificatie voor het Adaptive Platform (Release R25-11). Alle gegevens en foutcodes zijn gebaseerd op de gerefereerde SWS-eisen.
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 referenced by a pingViolation DiagnosticDoIpPowerModePortMapping needs to be typed by a DiagnosticDoIPPowerModeInterface. 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)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticDoIPPowerModeInterface
concurrencyType
Specifies 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.
This Offer will enable the DM to forward request messages to this handler.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 5f8fb75036b6Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone methode Offer van de klasse ara::diag::DoIPPowerMode stelt een Adaptive Application in staat de service voor de DoIP-Power-Mode bij Diagnostic Management (DM) te registreren en vrij te geven [SWS_DM_00735]. De aanroep stelt de DM in staat binnenkomende verzoekberichten door te sturen naar deze handler [SWS_DM_00735]. De functie verwacht geen overdrachtsparameters, werpt geen excepties op (noexcept) en levert als retourwaarde een ara::core::Result<void> op [SWS_DM_00735].
Zolang Offer nog niet is aangeroepen door de aanbiedende applicatie, beantwoordt de DM clientverzoeken om DoIP-Power-Mode-informatie met de statuswaarde 0 (“Not ready”) conform ISO 13400-2 [SWS_DM_01525]. Als de handler is geregistreerd en de DM de actuele Power-Mode nodig heeft om DoIP-berichten te beantwoorden, vraagt deze deze op via ara::diag::DoIPPowerMode::GetDoIPPowerMode[SWS_DM_00814].
In geval van een fout bevat het Result-object een overeenkomstige foutcode. Als de methode op de desbetreffende instantie al eerder met succes is aangeroepen, mislukt een hernieuwde aanroep en levert deze DiagOfferErrc::kAlreadyOffered met rollback-semantiek op [SWS_DM_00735].
Wat betreft gelijktijdigheid is de functie gespecificeerd als niet-thread-safe (not thread-safe) [SWS_DM_00735]. Parallelle aanroepen op dezelfde instantie moeten daarom door de aanroeper worden gesynchroniseerd. De functie biedt volledige exceptieveiligheid (exception safe) [SWS_DM_00735].
Deze gebruiksinstructie is opgesteld door een AI en is gebaseerd op de specificaties van AUTOSAR-release R25-11.
This StopOffer will disable the forwarding of request messages from DM.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 2a0861404a22HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode StopOffer van de klasse ara::diag::DoIPPowerMode deactiveert het doorsturen van binnenkomende diagnoseverzoekberichten door Diagnostic Management (DM) naar de handler [SWS_DM_00736]. De functie wordt beschikbaar gesteld via het headerbestand ara/diag/doip_power_mode.h, heeft geen retourwaarde en accepteert geen parameters [SWS_DM_00736].
Voor foutgedrag en uitvoeringsomgeving gelden de volgende specificatiedetails:
Uitzonderingsveiligheid: De functie is gedeclareerd als noexcept en gedefinieerd als uitzonderingsveilig (exception safe) [SWS_DM_00736]. Er worden geen excepties gegenereerd en geen foutcodes geretourneerd.
Thread-safety: De operatie is gespecificeerd als niet thread-safe (not thread-safe) [SWS_DM_00736]. Interpretatie: Als de methode wordt aangeroepen in multithreading-scenario's of parallel aan andere operaties van de instantie, zal waarschijnlijk een externe synchronisatie door de applicatie vereist zijn. Vraag Q-1593f08472d584d1 (open)
Het aanbiedingspatroon met Offer en StopOffer is binnen Diagnostic Management uniform ontworpen AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”. Het stoppen van het doorsturen van DM-verzoeken via StopOffer wordt analoog toegepast bij andere diagnosecomponenten, zoals bij ara::diag::DoIPGroupIdentification[SWS_DM_00726], ara::diag::DoIPActivationLine[SWS_DM_00837], ara::diag::GenericUDSService[SWS_DM_00620], ara::diag::DownloadService[SWS_DM_00793] en ara::diag::Authentication[SWS_DM_01131].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel