DEENESPTFRRUARHIKOZHNL

класс 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

Руководство пользователяСОЗДАНО ИИ

Координирует состояния питания с операционной системой и информирует State Management о событиях пробуждения.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 142a6058cb95 Происхождение Открытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Координирует состояния питания с операционной системой и информирует State Management о событиях пробуждения.

Интерфейс в качестве OS-обертки координирует состояния питания между State Management и операционной системой ([SWS_SM_71000]). State Management предварительно регистрирует через него обработчики обратного вызова для событий пробуждения и перенаправляет конкретные запросы состояний в операционную систему ([SWS_SM_71001]). После успешной реактивации регистрацию обработчика в OS-обертке можно снова отменить. Существенным функциональным граничным условием является то, что все вызовы методов не являются потокобезопасными и поэтому обязательно должны сериализоваться вызывающей стороной.

Контекст

Класс C++ apext::sm::PowerStateInterface функционирует как функциональный интерфейс модуля State Management для координации состояний питания с операционной системой ([SWS_SM_71000], SWS StateManagement §C.1.2 «Class: PowerStateInterface»). В архитектуре системы он берет на себя роль OS-обертки, которая перенаправляет запросы State Management в нижележащую операционную систему и принимает ответы. В общем взаимодействии участвуют три основных компонента: State Management как координирующий экземпляр, класс PowerStateInterface как посредник, а также хост-операционная система, которая выполняет аппаратно-ориентированное управление питанием ([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

Контекстная диаграмма: координация состояний питания и сигналов пробуждения между State Management, OS-оберткой и операционной системой. Источники: [SWS_SM_71000], [SWS_SM_71001], [SWS_SM_71003].

Жизненный цикл

Создание и уничтожение экземпляров класса PowerStateInterface не регламентировано в документах спецификации через явные фабричные методы. Инстанцирование, согласно интерпретации, вероятно, выполняется State Management на этапе его инициализации для предоставления OS-обертки. Вопрос Q-15bde6ce044e9bc3 (открытый) Для подключения класса предусмотрен заголовок apext/sm/power_state_interface.h ([SWS_SM_71001], SWS StateManagement §C.1.2.1.1 «Member Functions»).

Что касается внутреннего состояния, объект управляет регистрацией обработчика событий пробуждения. Это состояние остается активным до тех пор, пока обработчик не будет удален явным образом ([SWS_SM_71005]). С точки зрения параллелизма все функции-члены классифицированы как непотокобезопасные (not-threadsafe) ([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). Вызывающий State Management должен под собственную ответственность гарантировать, что вызовы к экземпляру строго сериализуются и не происходит незащищенных параллельных обращений из нескольких потоков.

Путь использования

Типичный путь использования для управления состояниями питания и приема сигналов пробуждения осуществляется в несколько согласованных шагов:

  • Регистрация обработчика: перед инициированием энергосберегающего состояния State Management регистрирует с помощью RegisterWakeUpHandler функцию обратного вызова типа apext::sm::WakeUpHandler в OS-обертке ([SWS_SM_71003], SWS StateManagement §C.1.2.1.1.1 «RegisterWakeUpHandler»). Тем самым определяется, каким образом State Management будет поставлен в известность о последующих процессах пробуждения.
  • Запрос состояния: затем State Management вызывает метод SetPowerState с желаемым целевым состоянием apext::sm::PowerState ([SWS_SM_71001], SWS StateManagement §C.1.2.1.1.2 «SetPowerState»). Интерфейс незамедлительно передает этот запрос в операционную систему. Техническая реализация перехода, вероятно, осуществляется платформозависимым образом в операционной системе. Вопрос Q-29345b74ba3bedf2 (открытый)
  • Уведомление о пробуждении: при обнаружении операционной системой события пробуждения уведомление передается в OS-обертку. Она выполняет ранее зарегистрированный WakeUpHandler. Вызов, согласно интерпретации, предположительно, осуществляется асинхронно в контексте выполнения процесса реактивации. Вопрос (открытый)
  • Дерегистрация обработчика: как только процесс пробуждения завершен или State Management больше не требует уведомлений, зарегистрированный callback удаляется из OS-обертки через UnregisterWakeUpHandler ([SWS_SM_71005], SWS StateManagement §C.1.2.1.1.3 «UnregisterWakeUpHandler»).
Координация состояний питания и сигналов пробужденияState Management (SM)PowerStateInterfaceBetriebssystem (OS)RegisterWakeUpHandler(handler)SetPowerState(state)Energiezustand weiterleitenUse Case: AufwachvorgangAufwachereignishandler()Use Case: BereinigungUnregisterWakeUpHandler()

Диаграмма последовательности: типичный процесс регистрации обработчика, пересылки состояния в операционную систему и дерегистрации. Источники: [SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005].

Сценарии ошибок

Методы интерфейса RegisterWakeUpHandler, SetPowerState и UnregisterWakeUpHandler имеют тип возвращаемого значения void и не определяют специфических кодов возврата ошибок ([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). Все функции объявлены как noexcept и гарантируют полную безопасность исключений (exception safe).

Ошибочные состояния системы могут возникать главным образом из-за нарушений предусловий. К ним относится нарушение требуемой потокобезопасности из-за незащищенных параллельных вызовов методов. Кроме того, State Management в качестве предусловия для RegisterWakeUpHandler должно гарантировать, что переданный функциональный объект является валидным и остается в памяти вплоть до отмены через UnregisterWakeUpHandler ([SWS_SM_71003], [SWS_SM_71005]).

Настоящее руководство основано исключительно на требованиях спецификации AUTOSAR Adaptive Platform Release R25-11.

Карта членов

Диаграмма классов

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

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

Подробный вид

Выберите элемент в оглавлении.

Методы

RegisterWakeUpHandler функция

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 функция

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;

Документация методов

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 55d0e17f0920 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция RegisterWakeUpHandler класса apext::sm::PowerStateInterface служит для регистрации функции обратного вызова типа apext::sm::WakeUpHandler в OS-обёртке с целью уведомления State Management (SM) о событиях пробуждения [SWS_SM_71003]. Интерфейс определён в заголовочном файле #include "apext/sm/power_state_interface.h" и адресует вышестоящее требование [RS_SM_00402] AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 «RegisterWakeUpHandler».

Использование и контекст вызова

Объявление имеет вид void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept [SWS_SM_71003]. Вызов происходит синхронно с передачей указателя на функцию или обратного вызова через параметр handler. Поскольку функция не имеет возвращаемого значения (void), она не предоставляет статусной обратной связи о завершении регистрации [SWS_SM_71003].

Обработка ошибок и безопасность исключений

Интерфейс специфицирован как безопасный относительно исключений (exception safe) и аннотирован noexcept [SWS_SM_71003]. Поэтому вызывающим сторонам не требуется перехватывать C++-исключения. Специфические коды ошибок, возвращаемые значения для индикации ошибок или сообщения для менеджеров диагностики или сбоев для этого API не определены [SWS_SM_71003].

Параллелизм и ограничения

  • Потокобезопасность: функция явно классифицирована как непотокобезопасная (not-threadsafe) [SWS_SM_71003]. Вызывающие сущности должны гарантировать, что вызовы не производятся незащищённо из конкурирующих потоков. Интерпретация: регистрацию целесообразно выполнять однократно во время последовательной фазы инициализации OS-обёртки, до возникновения событий пробуждения. Вопрос Q-268ab61374f98e7a (открытый)
  • Статус разработки: определение функции имеет в релизе R25-11 статус DRAFT AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 «RegisterWakeUpHandler», ввиду чего возможны модификации в будущих редакциях спецификации.

Это указание по использованию сгенерировано автоматически на основе спецификации AUTOSAR для R25-11.

Руководство разработчика реализации в подготовке (сложность 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#8541ffd7
Content hash
8541ffd7
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 527ed282abbf Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция-член SetPowerState класса apext::sm::PowerStateInterface служит для перенаправления запроса на изменение состояния питания системы в операционную систему [SWS_SM_71001]. Она реализует вышестоящее требование [RS_SM_00402] и предоставляется через заголовочный файл apext/sm/power_state_interface.h (SWS StateManagement §C.1.2.1.1.2 «SetPowerState»).

Для использования и интеграции в контекст вызова действуют следующие рамочные условия:

  • Параметры и возвращаемое значение: функция принимает целевое состояние state типа apext::sm::PowerState по значению. Возвращаемое значение отсутствует (void) [SWS_SM_71001].
  • Безопасность относительно исключений и обработка ошибок: операция объявлена как noexcept и считается безопасной относительно исключений (exception safe) [SWS_SM_71001]. Поскольку специфические коды ошибок или исключения не предусмотрены, обработка запроса в операционной системе, вероятно, происходит асинхронно. Вопрос Q-03a3ae7693c3cfee (открытый)
  • Параллелизм: интерфейс функции классифицирован как непотокобезопасный (not-threadsafe) [SWS_SM_71001]. Одновременные вызовы одного и того же экземпляра должны быть защищены вызывающей стороной с помощью внешних мер синхронизации.
  • Статус спецификации: интерфейс имеет статус DRAFT (SWS StateManagement §C.1.2.1.1.2 «SetPowerState»), поэтому в будущем возможны изменения сигнатуры или поведения.

Это указание по использованию было создано автоматически и основано на спецификации AUTOSAR Adaptive Platform Release R25-11.

Руководство разработчика реализации в подготовке (сложность 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#2373d9fb
Content hash
2373d9fb
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

функция UnregisterWakeUpHandler [SWS_SM_71005] Upstream: RS_SM_00402

void UnregisterWakeUpHandler () noexcept;

Unregister wake-up handler in OS-Wrapper.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: da45ea3a78d7 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и контекст вызова

Функция UnregisterWakeUpHandler относится к области видимости класса apext::sm::PowerStateInterface и предоставляется через заголовочный файл #include "apext/sm/power_state_interface.h" [SWS_SM_71005]. Её назначение заключается в отмене регистрации ранее настроенного обработчика пробуждения в OS-обёртке [SWS_SM_71005]. Вызов происходит синхронно, не требует входных параметров и не имеет возвращаемого значения (void) [SWS_SM_71005].

Обработка ошибок

Операция объявлена с идентификатором noexcept и специфицирована как безопасная относительно исключений (exception safe) [SWS_SM_71005]. Специфические коды ошибок, записи DEM или DET не определены. Интерпретация: ввиду отсутствия возвращаемого типа или индикаторов ошибок функция, вероятно, не сообщает вызывающей стороне напрямую о возможных внутренних ошибках в OS-обёртке. Вопрос Q-0d692808f97a0fb5 (открытый)

Параллелизм и граничные условия

В отношении среды выполнения UnregisterWakeUpHandler явно классифицирована как непотокобезопасная (not-threadsafe) [SWS_SM_71005]. Одновременные вызовы из нескольких потоков не должны происходить без защиты и должны синхронизироваться на стороне приложения.

Взаимодействие и статус спецификации

Функция служит для выполнения вышестоящего требования RS_SM_00402 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 «UnregisterWakeUpHandler». При интеграции необходимо учитывать, что определение интерфейса в настоящей спецификации пока имеет статус DRAFT AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 «UnregisterWakeUpHandler».

Данное указание по использованию сгенерировано автоматически на основе AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность 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#53a5b4a6
Content hash
53a5b4a6
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