Libkpower Specification
Jump to navigation
Jump to search
LibTUPower API
PROPOSED
TUPower
Instance Type: Single Global
Instantiated by: TUComputer
Enum Types
Type Name | Value | Description |
---|---|---|
PowerProfile::None | 0 | Undefined or Unsupported Power Level |
PowerProfile::Dynamic | 1 | Automatic Power Level |
PowerProfile::Powersave | 2 | Lowest (slowest) Power Level |
PowerProfile::Performance | 255 | Highest (fastest) Power Level |
SleepMode::SuspendDisk | 0 | Suspend to disk |
SleepMode::SuspendRAM | 1 | Suspend to RAM |
SleepMode::Standby | 2 | Standby mode |
TPowerDevice::Battery | 0 | Power source is battery |
TPowerDevice::Line | 1 | Power source is line voltage |
TPowerDevice::UPS | 2 | Power source is battery-backed line voltage |
TBatteryDevice::Idle | 1 | Battery is online and is not charging |
TBatteryDevice::Charging | 3 | Battery is online and charging |
TBatteryDevice::Discharging | 4 | Battery is online and charging |
TBatteryDevice::Charged | 8 | Battery is fully charged |
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
currentSessionIsActive | None | bool | Check if the current session is active |
suspend | TMainboardDevice*, SleepMode sleep_type | bool | Place the machine into sleep mode sleep_type. Returns TRUE if successful |
setDisplayBrightness | TDisplayDevice*, int level | bool | Sets display brightness to specified level. Returns TRUE if successful |
setDisplayBrightnessDown | TDisplayDevice*, int step | bool | Dims display by specified step. Returns TRUE if successful |
setDisplayBrightnessUp | TDisplayDevice*, int step | bool | Brightens display by specified step. Returns TRUE if successful |
setPowerPolicy | TPhysicalDevice*, PowerProfile::Mode | bool | Sets device power policy to mode. Returns TRUE if successful |
setBatteryThresholds | TBatteryDevice*, int power_source_low_charge, int power_source_warning_charge, int power_source_critical_charge | bool | Sets battery low/warning/critical thresholds for battery power_source. Returns TRUE if successful |
Member Signals
Signal Name | Parameters | Description |
---|---|---|
dbusConnected | None | Emitted whenever a new DBUS connection is established |
batteryCharged | TPowerDevice* | Emitted whenever a battery reaches a fully charged state |
batteryLow | TPowerDevice* | Emitted whenever a battery reaches the low threshold |
batteryWarning | TPowerDevice* | Emitted whenever a battery reaches the warning threshold |
batteryCritical | TPowerDevice* | Emitted whenever a battery reaches the critical threshold |
powerACStatusChanged | TPowerDevice* | Emitted whenever the AC status of a power source or power sources changes |
powerOnlineStatusChanged | TPowerDevice* | Emitted whenever the online status of a power source or power sources changes |
cpuModeChanged | TCPUDevice* | Emitted whenever the power management mode of the CPU changes |
cpuFrequencyChanged | TCPUDevice* | Emitted whenever any of the CPU cores change frequency |
cpuTemperatureChanged | TCPUDevice* | Emitted whenever any of the CPU cores change temperature |
gpuModeChanged | TGPUDevice* | Emitted whenever the power management mode of the GPU changes |
gpuFrequencyChanged | TGPUDevice* | Emitted whenever any of the GPU cores change frequency |
gpuTemperatureChanged | TGPUDevice* | Emitted whenever any of the GPU cores change temperature |
displayBrightnessChanged | TDisplayDevice* | Emitted whenever the display brightness changes |
temperatureChanged | TPhysicalDevice* | Emitted whenever the temperature of a physical device changes |
voltageChanged | TPhysicalDevice* | Emitted whenever the voltage of a physical device changes |
currentChanged | TPhysicalDevice* | Emitted whenever the current of a physical device changes |
Member Slots
Slot Name | Parameters | Description |
---|
Objects
TMainBoardDevice
Instance Type: Same as base TPhysicalDevice
Subclass of TPhysicalDevice
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|---|---|---|---|
Capabilities | Lists available hardware capabilities | suspend_disk | char | 0 = = Lacks suspend to disk capability 1 = = Has capability and is enabled 2 = = Has capability but is disabled |
suspend_ram | char | 0 = = Lacks suspend to RAM capability 1 = = Has capability and is enabled 2 = = Has capability but is disabled | ||
suspend_standby | char | 0 = = Lacks standby capability 1 = = Has capability and is enabled 2 = = Has capability but is disabled | ||
has_apm | bool | 0 = = Lacks APM interface 1 = = Has interface and is in use 2 = = Has interface but is disabled | ||
has_acpi | bool | 0 = = Lacks ACPI interface 1 = = Has interface and is in use 2 = = Has interface but is disabled | ||
has_pmu | bool | 0 = = Lacks PMU interface 1 = = Has interface and is in use 2 = = Has interface but is disabled | ||
system_type | char | 0 = = Server 1 = = Desktop 2 = = Laptop 3 = = Tablet 4 = = Smartphone | ||
manufacturer | TQString | System/mainboard manufacturer | ||
model | TQString | System/mainboard model number | ||
serial | TQString | System/mainboard serial number | ||
bios_rev | TQString | System/mainboard BIOS revision | ||
has_lid_switch | bool | 0 = = Lacks lid switch 1 = = Has switch and is in use 2 = = Has switch but is disabled | ||
has_power_switch | bool | 0 = = Lacks power switch 1 = = Has switch and is in use 2 = = Has switch but is disabled | ||
has_sleep_switch | bool | 0 = = Lacks sleep switch 1 = = Has switch and is in use 2 = = Has switch but is disabled | ||
has_suspend_ram_switch | bool | 0 = = Lacks suspend-to-RAM switch 1 = = Has switch and is in use 2 = = Has switch but is disabled | ||
has_suspend_disk_switch | bool | 0 = = Lacks suspend-to-disk switch 1 = = Has switch and is in use 2 = = Has switch but is disabled |
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::Mainboard |
TCPUDevice
Subclass of TPhysicalDevice
Instance Type: Same as base TPhysicalDevice
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|---|---|---|---|
Capabilities | Lists CPU capabilities | power_modes | char | Bitwise OR of available powersave modes 0 = = Not available 1 == Available |
Information | Lists CPU information | manufacturer | TQString | CPU Manufacturer |
model | TQString | CPU Model String/Number | ||
stepping | TQString | CPU Stepping | ||
serial | TQString | CPU Serial Number | ||
frequency_table | int[255] | CPU frequency for specified power mode 0 = = current frequency 1 = = Lowest supported frequency 255 = = Highest supported frequency | ||
power_profile | char | Current CPU power profile |
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::CPU |
powerProfile | None | virtual PowerProfile::Mode | Returns the current power profile |
setPowerProfile | None | virtual void | Sets the current power profile |
TGPUDevice
Subclass of TPhysicalDevice
Instance Type: Same as base TPhysicalDevice
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|---|---|---|---|
Capabilities | Lists GPU capabilities | power_modes | char | Bitwise OR of available powersave modes 0 = = Not available 1 == Available |
Information | Lists GPU information | manufacturer | TQString | GPU Manufacturer |
model | TQString | GPU Model String/Number | ||
stepping | TQString | GPU Stepping | ||
serial | TQString | GPU Serial Number | ||
frequency_table | int[255] | GPU frequency for specified power mode 0 = = current frequency 1 = = Lowest supported frequency 255 = = Highest supported frequency | ||
power_profile | char | Current GPU power profile |
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::GPU |
powerProfile | None | virtual PowerProfile::Mode | Returns the current power profile |
setPowerProfile | None | virtual void | Sets the current power profile |
TDisplayDevice
Subclass of TPhysicalDevice
Instance Type: Same as base TPhysicalDevice
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|---|---|---|---|
Capabilities | Lists display control capabilities | has_brightness_adjust | bool | 0 = = Lacks brightness control interface 1 = = Has interface and is enabled 2 = = Has interface but is disabled |
min_brightness | int | Minimum hardware display brightness level | ||
max_brightness | int | Maximum hardware display brightness level | ||
Information | Lists display information NOTE: This structure is invalid until initialized with queryHardwareInformation() |
current_brightness | int | Current display brightness level |
power_profile | char | Current display power profile |
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::Display |
powerProfile | None | virtual PowerProfile::Mode | Returns the current power profile |
setPowerProfile | None | virtual void | Sets the current power profile |
TPowerDevice
Subclass of TPhysicalDevice
Instance Type: Same as base TPhysicalDevice
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|---|---|---|---|
Information | Lists hardware power information/status Up to 255 separate sources of power are supported NOTE: This structure is invalid until initialized with queryHardwareInformation() |
available_power_sources | char | Bitwise OR of available power sources 0 = = Source unable to provide power 1 = = Source available to provide power on demand or is currently providing power |
online | char | 0 = = Source not providing power 1 = = Source currently providing power | ||
primary | char | 0 = = Source is auxiliary or not providing power 1 = = Source is primary/critical | ||
name | TQString | Friendly name(s) of power source(s) | ||
type | char | Power source type 0 = = Direct line connection 1 = = Battery 2 = = Battery-backed line (UPS) | ||
status | char | Power source status 0 = = No information (e.g. permanent line connection) 1 = = Online/not charging 3 = = Online/charging 4 = = Discharging 8 = = Charged | ||
voltage | int | Power source voltage | ||
time_remaining | int | Power source time remaining until complete discharge or disconnection -1 == Never (Infinite time remaining) |
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::Power |
powerType | None | pure virtual int | Returns a TPowerDevice::Type value specifying the current device type |
TBatteryDevice
Subclass of TPowerDevice
Instance Type: Same as base TPhysicalDevice
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|---|---|---|---|
current_charge | int | Power source current charge value | ||
max_charge | int | Battery maximum charge value | ||
low_charge | int | Battery source low charge value | ||
warning_charge | int | Battery source warning charge value | ||
critical_charge | int | Battery source critical charge value |
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::Power |
powerType | None | int | Always returns TPowerDevice::Battery |
TLinePowerDevice
Subclass of TPowerDevice
Instance Type: Same as base TPhysicalDevice
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::Power |
powerType | None | int | Always returns TPowerDevice::Line |
TUPSDevice
Subclass of TPowerDevice
Instance Type: Same as base TPhysicalDevice
Member Data Structures
Structure Name | Description | Member Name | Member Type | Member Description |
---|---|---|---|---|
current_charge | int | Power source current charge value | ||
max_charge | int | Battery maximum charge value | ||
low_charge | int | Battery source low charge value | ||
warning_charge | int | Battery source warning charge value | ||
critical_charge | int | Battery source critical charge value |
Member Methods
Method Name | Parameters | Return Type | Description |
---|---|---|---|
class | None | int | Always returns KDevice::Physical |
type | None | int | Always returns TPhysicalDevice::Power |
powerType | None | int | Always returns TPowerDevice::UPS |