DEENESPTFRRUARHIKOZHNL

classe apext::sm::PowerStateInterface

[SWS_SM_71000] Upstream: RS_SM_00402

class PowerStateInterface {...};

class for power state coordination with OS

Header-Datei#include "apext/sm/power_state_interface.h"
Forwarding-Header#include "apext/sm/sm_fwd.h"
Scopenamespace apext::sm

Guide utilisateurGÉNÉRÉ PAR IA

Coordonne les états d'énergie avec le système d'exploitation et informe State Management des événements de réveil.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 142a6058cb95 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Coordonne les états d'énergie avec le système d'exploitation et informe State Management des événements de réveil.

L'interface coordonne, en tant que wrapper OS, les états d'énergie entre State Management et le système d'exploitation ([SWS_SM_71000]). State Management enregistre préalablement par son intermédiaire des gestionnaires de rappel pour les événements de réveil et transmet les requêtes d'état concrètes au système d'exploitation ([SWS_SM_71001]). Une fois la réactivation effectuée, l'enregistrement du gestionnaire peut être annulé dans le wrapper OS. Comme contrainte fonctionnelle essentielle, tous les appels de méthodes ne sont pas sûrs pour les threads et doivent donc obligatoirement être sérialisés par l'appelant.

Contexte

La classe C++ apext::sm::PowerStateInterface fait office d'interface fonctionnelle du module State Management pour la coordination des états d'énergie avec le système d'exploitation ([SWS_SM_71000], SWS StateManagement §C.1.2 « Class: PowerStateInterface »). Dans l'architecture système, elle assume le rôle d'un wrapper OS qui transmet les requêtes de State Management au système d'exploitation sous-jacent et reçoit les retours. Trois composants clés participent à l'interaction globale : State Management en tant qu'instance coordinatrice, la classe PowerStateInterface en tant qu'intermédiaire, et le système d'exploitation hôte qui exécute la gestion de l'énergie proche du matériel ([SWS_SM_71001]).

sm State Management (SM) psi PowerStateInterface (OS-Wrapper) sm->psi Zustandsanforderung & Handler-Registrierung psi->sm WakeUpHandler-Aufruf os Betriebssystem (OS) psi->os Energiezustands- weiterleitung os->psi Aufwachsignal

Diagramme de contexte : coordination des états d'énergie et des signaux de réveil entre State Management, le wrapper OS et le système d'exploitation. Sources : [SWS_SM_71000], [SWS_SM_71001], [SWS_SM_71003].

Cycle de vie

La création et la destruction d'instances de la classe PowerStateInterface ne sont pas régies par des méthodes de fabrique explicites dans les documents de spécification. Selon l'interprétation, l'instanciation devrait être effectuée par State Management au cours de sa phase d'initialisation afin de fournir le wrapper OS. Question Q-15bde6ce044e9bc3 (ouverte) L'en-tête apext/sm/power_state_interface.h est prévu pour l'inclusion de la classe ([SWS_SM_71001], SWS StateManagement §C.1.2.1.1 « Member Functions »).

En ce qui concerne l'état interne, l'objet gère l'enregistrement d'un gestionnaire pour les événements de réveil. Cet état reste actif jusqu'à ce que le gestionnaire soit explicitement retiré ([SWS_SM_71005]). Concernant la concurrence, toutes les fonctions membres sont classées comme non sûres pour les threads (not-threadsafe) ([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). L'instance appelante de State Management doit donc s'assurer sous sa propre responsabilité que les appels à une instance sont strictement sérialisés et qu'aucun accès parallèle non protégé n'a lieu depuis plusieurs threads.

Parcours d'utilisation

Un chemin d'utilisation typique pour commander des états d'énergie et recevoir des signaux de réveil s'effectue en plusieurs étapes coordonnées :

  • Enregistrement du gestionnaire : avant d'engager un état d'économie d'énergie, State Management enregistre au moyen de RegisterWakeUpHandler une fonction de rappel de type apext::sm::WakeUpHandler dans le wrapper OS ([SWS_SM_71003], SWS StateManagement §C.1.2.1.1.1 « RegisterWakeUpHandler »). Cela définit la façon dont State Management sera informé des processus de réveil subséquents.
  • Requête d'état : State Management appelle ensuite la méthode SetPowerState avec l'état cible apext::sm::PowerState souhaité ([SWS_SM_71001], SWS StateManagement §C.1.2.1.1.2 « SetPowerState »). L'interface transmet immédiatement cette requête au système d'exploitation. La mise en œuvre technique de la transition s'effectue probablement de façon spécifique à la plateforme dans le système d'exploitation. Question Q-29345b74ba3bedf2 (ouverte)
  • Notification de réveil : si le système d'exploitation détecte un événement de réveil, la notification est signalée au wrapper OS. Celui-ci exécute le WakeUpHandler précédemment enregistré. Selon l'interprétation, l'appel devrait avoir lieu de manière asynchrone dans le contexte d'exécution du processus de réactivation. Question (ouverte)
  • Désenregistrement du gestionnaire : dès que le processus de réveil est terminé ou que State Management ne requiert plus d'autres notifications, le rappel enregistré est retiré du wrapper OS via UnregisterWakeUpHandler ([SWS_SM_71005], SWS StateManagement §C.1.2.1.1.3 « UnregisterWakeUpHandler »).
Coordination des états d'énergie et des signaux de réveilState Management (SM)PowerStateInterfaceBetriebssystem (OS)RegisterWakeUpHandler(handler)SetPowerState(state)Energiezustand weiterleitenUse Case: AufwachvorgangAufwachereignishandler()Use Case: BereinigungUnregisterWakeUpHandler()

Diagramme de séquence : déroulement typique de l'enregistrement du gestionnaire, du transfert d'état au système d'exploitation et du désenregistrement. Sources : [SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005].

Scénarios d'erreur

Les méthodes d'interface RegisterWakeUpHandler, SetPowerState et UnregisterWakeUpHandler possèdent le type de retour void et ne définissent aucun code de retour d'erreur spécifique ([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). Toutes les fonctions sont déclarées comme noexcept et garantissent une sécurité totale vis-à-vis des exceptions (exception safe).

Les états système erronés peuvent découler principalement de violations de préconditions. Cela inclut la violation de la sécurité des threads requise en raison d'appels de méthode parallèles non protégés. De plus, State Management doit s'assurer, en tant que condition préalable pour RegisterWakeUpHandler, que l'objet fonction transmis est valide et demeure en mémoire jusqu'à son annulation par UnregisterWakeUpHandler ([SWS_SM_71003], [SWS_SM_71005]).

Ce guide repose exclusivement sur les exigences de spécification de l'AUTOSAR Adaptive Platform Release R25-11.

Carte des membres

Diagramme de classes

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

G napext__sm__PowerStateInterface528 PowerStateInterface + RegisterWakeUpHandler() + SetPowerState() + UnregisterWakeUpHandler()

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

Register wake-up handler function in the OS-Wrapper to inform SM about wake-up.

void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept; DIRECTION NOT handler -- DEFINED
SetPowerState fonction

Forward the power state request to OS.

void SetPowerState (apext::sm::PowerState state) noexcept; DIRECTION NOT state -- DEFINED

Unregister wake-up handler in OS-Wrapper.

void UnregisterWakeUpHandler () noexcept;

Documentation des méthodes

fonction RegisterWakeUpHandler [SWS_SM_71003] Upstream: RS_SM_00402

void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept; DIRECTION NOT           handler                    -- DEFINED

Register wake-up handler function in the OS-Wrapper to inform SM about wake-up.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 55d0e17f0920 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction RegisterWakeUpHandler de la classe apext::sm::PowerStateInterface sert à enregistrer une fonction de rappel de type apext::sm::WakeUpHandler dans le wrapper d'OS afin de notifier State Management (SM) des événements de réveil [SWS_SM_71003]. L'interface est définie dans l'en-tête #include "apext/sm/power_state_interface.h" et répond à l'exigence de niveau supérieur [RS_SM_00402] AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 « RegisterWakeUpHandler ».

Utilisation et contexte d'appel

La déclaration est void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept [SWS_SM_71003]. L'appel s'effectue de manière synchrone pour transmettre le pointeur de fonction ou la fonction de rappel via le paramètre handler. La fonction n'ayant pas de valeur de retour (void), elle ne fournit aucun retour d'état quant à l'accomplissement de l'enregistrement [SWS_SM_71003].

Gestion des erreurs et sécurité vis-à-vis des exceptions

L'interface est spécifiée comme sûre vis-à-vis des exceptions (exception safe) et annotée avec noexcept [SWS_SM_71003]. Les appelants n'ont donc pas besoin d'intercepter d'exceptions C++. Aucun code d'erreur spécifique, aucune valeur de retour signalant une erreur ni aucun message destiné aux gestionnaires de diagnostic ou d'erreurs ne sont définis pour cette API [SWS_SM_71003].

Concurrence et restrictions

  • Sécurité des threads : la fonction est explicitement classée comme non thread-safe (not-threadsafe) [SWS_SM_71003]. Les instances appelantes doivent s'assurer que les appels ne soient pas effectués sans protection depuis des threads concurrents. Interprétation : l'enregistrement devrait judicieusement avoir lieu en une seule fois pendant la phase d'initialisation séquentielle du wrapper d'OS, avant que des événements de réveil ne se produisent. Question Q-268ab61374f98e7a (ouverte)
  • Statut de développement : la définition de la fonction possède le statut DRAFT dans la version R25-11 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 « RegisterWakeUpHandler », ce pourquoi des modifications dans de futurs états de la spécification sont possibles.

Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR pour R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_SM_71003
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71003@rel:R25-11#1e13c2d1
Content hash
1e13c2d1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71003
Status: valid/unmigrated Version: rel:R25-11#bc05c3e2 Versionshistorie & Revisions (1 transition)
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_SM_71003@rel:R25-11#bc05c3e2
Point-in-Time History:
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

fonction SetPowerState [SWS_SM_71001] Upstream: RS_SM_00402

void SetPowerState (apext::sm::PowerState state) noexcept; DIRECTION NOT           state                      -- DEFINED

Forward the power state request to OS.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 527ed282abbf Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre SetPowerState de la classe apext::sm::PowerStateInterface sert à transmettre une demande de changement d'état d'alimentation du système au système d'exploitation [SWS_SM_71001]. Elle concrétise l'exigence de niveau supérieur [RS_SM_00402] et est fournie via l'en-tête apext/sm/power_state_interface.h (SWS StateManagement §C.1.2.1.1.2 « SetPowerState »).

Les conditions cadres suivantes s'appliquent à l'utilisation et à l'intégration dans le contexte d'appel :

  • Paramètres et valeur de retour : la fonction prend l'état cible state de type apext::sm::PowerState par valeur. Il n'existe pas de valeur de retour (void) [SWS_SM_71001].
  • Sécurité vis-à-vis des exceptions et gestion des erreurs : l'opération est déclarée comme noexcept et considérée comme sûre vis-à-vis des exceptions (exception safe) [SWS_SM_71001]. Aucun code d'erreur spécifique ni aucune exception n'étant prévus, le traitement de la demande dans le système d'exploitation devrait s'effectuer de manière asynchrone. Question Q-03a3ae7693c3cfee (ouverte)
  • Concurrence : l'interface fonctionnelle est classée comme non thread-safe (not-threadsafe) [SWS_SM_71001]. Les appels simultanés sur une même instance doivent être sécurisés par l'appelant au moyen de mesures de synchronisation externes.
  • Statut de spécification : l'interface est pourvue du statut DRAFT (SWS StateManagement §C.1.2.1.1.2 « SetPowerState »), ce pourquoi de futures modifications de la signature ou du comportement sont possibles.

Cette note d'utilisation a été créée de manière automatisée et est basée sur la spécification AUTOSAR Adaptive Platform Release R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_SM_71001
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71001@rel:R25-11#009f7070
Content hash
009f7070
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71001
Status: valid/unmigrated Version: rel:R25-11#be2610a0 Versionshistorie & Revisions (1 transition)
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_SM_71001@rel:R25-11#be2610a0
Point-in-Time History:
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

fonction UnregisterWakeUpHandler [SWS_SM_71005] Upstream: RS_SM_00402

void UnregisterWakeUpHandler () noexcept;

Unregister wake-up handler in OS-Wrapper.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : da45ea3a78d7 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction UnregisterWakeUpHandler appartient à la portée de la classe apext::sm::PowerStateInterface et est fournie via le fichier d'en-tête #include "apext/sm/power_state_interface.h" [SWS_SM_71005]. Son but consiste à annuler l'enregistrement d'un gestionnaire de réveil préalablement configuré dans le wrapper d'OS [SWS_SM_71005]. L'appel s'effectue de manière synchrone, ne requiert aucun paramètre d'entrée et ne possède aucune valeur de retour (void) [SWS_SM_71005].

Gestion des erreurs

L'opération est déclarée avec l'identifiant noexcept et spécifiée comme sûre vis-à-vis des exceptions (exception safe) [SWS_SM_71005]. Aucun code d'erreur spécifique ni aucune entrée DEM ou DET ne sont définis. Interprétation : en l'absence de type de retour ou d'indicateurs d'erreur, la fonction ne devrait pas signaler directement à l'appelant d'éventuelles erreurs internes dans le wrapper d'OS. Question Q-0d692808f97a0fb5 (ouverte)

Concurrence et contraintes

Concernant l'environnement d'exécution, UnregisterWakeUpHandler est explicitement classée comme non thread-safe (not-threadsafe) [SWS_SM_71005]. Les appels simultanés depuis plusieurs threads ne doivent pas s'effectuer sans protection et doivent être synchronisés côté application.

Interactions et statut de spécification

La fonction sert à satisfaire l'exigence de niveau supérieur RS_SM_00402 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 « UnregisterWakeUpHandler ». Lors de l'intégration, il convient de prendre en compte le fait que la définition de l'interface présente encore le statut DRAFT dans la présente spécification AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 « UnregisterWakeUpHandler ».

Cette note d’utilisation a été générée de manière automatisée sur la base d’AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_SM_71005
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71005@rel:R25-11#81b31619
Content hash
81b31619
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71005
Status: valid/unmigrated Version: rel:R25-11#ef4ae762 Versionshistorie & Revisions (1 transition)
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_SM_71005@rel:R25-11#ef4ae762
Point-in-Time History:
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