Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса IOPMPowerSource

Опции
Развертывание Target:

На этой странице
Язык:

IOPMPowerSource

См. IOKit/pwr_mgt/IOPM.h для ключей источника питания, относящихся к этому классу. Эти ключи типа отчета требуются для вызовов к IOPMPowerSource:: setReportables (), и они определяют интерфейс IORegistry, через который данные пасуются назад до остальной части системы.

Драйвер разделения на подклассы, не хотящий делать что-либо необычное, должен:

  1. Подкласс IOPMPowerSource

  2. Установите его собственные уведомления замены батареи или опрос подпрограммы, которая может разговаривать с фактическими аппаратными средствами батареи.

  3. Когда изменения состояния батареи, замените соответствующие задействованные переменные через setCurrentCapacity () средства доступа стиля.

  4. Вызовите updateStatus () на себе, когда будут обновлены все такие настройки.

Драйвер подкласса должен также первоначально заполнить свои настройки и вызвать updateStatus () на запуске.

Настройки:

  • ExternalConnected
  • Type: bool
  • IORegistry Key: kIOPMPSExternalConnectedKey
  • True if computer is drawing external power
  • ExternalChargeCapable
  • Type: bool
  • IORegistry Key: kIOPMPSExternalChargeCapableKey
  • True if external power is capable of charging internal battery
  • BatteryInstalled
  • Type: bool
  • IORegistry Key: kIOPMPSBatteryInstalledKey
  • True if a battery is present; false if removed
  • IsCharging
  • Type: bool
  • IORegistry Key: kIOPMPSIsChargingKey
  • True if battery is charging itself from external power
  • AtWarnLevel
  • Type: bool
  • IORegistry Key: kIOPMPSAtWarnLevelKey
  • True if draining battery capacity and past warn level
  • AtCriticalLevel
  • Type: bool
  • IORegistry Key: kIOPMPSAtCriticalLevelKey
  • True if draining battery capacity and past critical level
  • CurrentCapacity
  • MaxCapacity
  • Type: unsigned int
  • IORegistry Key: kIOPMPSCurrentCapacityKey, kIOPMPSMaxCapacityKey
  • Capacity measured in mAh
  • TimeRemaining
  • Type: int
  • IORegistry Key: kIOPMPSTimeRemainingKey
  • Time remaining measured in minutes
  • Amperage
  • Type: int
  • IORegistry Key: kIOPMPSAmperageKey
  • Current is measured in mA
  • Voltage
  • Type: unsigned int
  • IORegistry Key: kIOPMPSVoltageKey
  • Voltage measured in mV
  • CycleCount
  • Type: unsigned int
  • IORegistry Key: kIOPMPSCycleCountKey
  • Number of charge/discharge cycles
  • AdapterInfo
  • Type: int
  • IORegistry Key: kIOPMPSAdapterInfoKey
  • Power adapter information
  • Location
  • Type: int
  • IORegistry Key: kIOPMPSLocationKey
  • Clue about battery's location in machine - Left vs. Right
  • ErrorCondition
  • Type: OSSymbol
  • IORegistry Key: kIOPMPSErrorConditionKey
  • String describing error state of battery
  • Manufacturer
  • Type: OSSymbol
  • IORegistry Key: kIOPMPSManufacturerKey
  • String describing battery manufacturer
  • Manufactured Date
  • Type: unsigned 16-bit bitfield
  • IORegistry Key: kIOPMPSManufactureDateKey
  • Date is published in a bitfield per the Smart Battery Data spec rev 1.1
  • in section 5.1.26
  • Bits 0...4 => day (value 1-31; 5 bits)
  • Bits 5...8 => month (value 1-12; 4 bits)
  • Bits 9...15 => years since 1980 (value 0-127; 7 bits)
  • Model
  • Type: OSSymbol
  • IORegistry Key: kIOPMPSModelKey
  • String describing model number
  • Serial
  • Type: OSSymbol
  • IORegistry Key: kIOPMPSSerialKey
  • String describing serial number or unique info
  • The serial number published hear bears no correspondence to the Apple serial
  • number printed on each battery. This is a manufacturer serial number with
  • no correlation to the printed serial number.
  • LegacyIOBatteryInfo
  • Type: OSDictionary
  • IORegistry Key: kIOPMPSLegacyBatteryInfoKey
  • Dictionary conforming to the OS X 10.0-10.4

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Создает новый кусок IOPMPowerSource. Должен быть присоединен к IORegistry, и зарегистрированный провайдером.

    Объявление

    C++

    static IOPMPowerSource *powerSource( void);

  • Объявление

    C++

    void setPSProperty( const OSSymbol *, OSObject *);

    Обсуждение

    Все эти методы направляют через универсальный метод доступа setPSProperty. Вызывающая сторона может передать в любом произвольном ключе OSSymbol, и то значение будет сохранено в словаре настроек премьер-министра и передано на IORegistry во время обновления.

  • Когда состояние батареи изменилось значительно, должен быть вызван физическим контроллером батареи.

    Объявление

    C++

    virtual void updateStatus( void);

    Обсуждение

    Система не опросит этот объект относительно обновлений батареи. Скорее \контроллер батареи должен вызвать updateStatus () каждый раз, когда изменения состояния \и настройки будут переданы к более высоким уровням управления питанием. \драйвер разделения на подклассы должен переопределить это, только если драйвер должен добавить \новые настройки к базовому классу.

Переменные экземпляра

  • Используемый подклассами, чтобы определить, были ли какие-либо настройки изменены через средства доступа ниже начиная с последней возможности обновить (). истина является настройками, изменились; ложь иначе.

    Объявление

    C++

    bool settingsChangedSinceUpdate;

  • Используемый подклассами, чтобы определить, были ли какие-либо настройки изменены через средства доступа ниже начиная с последней возможности обновить (). истина является настройками, изменились; ложь иначе.

    Объявление

    C++

    bool settingsChangedSinceUpdate;

  • Состояние источника питания хранилищ

    Объявление

    C++

    OSDictionary *properties;