aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org.freedesktop.UPower.Device.xml705
-rw-r--r--src/org.freedesktop.UPower.xml43
2 files changed, 748 insertions, 0 deletions
diff --git a/src/org.freedesktop.UPower.Device.xml b/src/org.freedesktop.UPower.Device.xml
new file mode 100644
index 0000000..7c9a65b
--- /dev/null
+++ b/src/org.freedesktop.UPower.Device.xml
@@ -0,0 +1,705 @@
+<!DOCTYPE node PUBLIC
+"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" [
+ <!ENTITY ERROR_GENERAL "org.freedesktop.UPower.Device.GeneralError">
+]>
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+ <interface name="org.freedesktop.UPower.Device">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Objects implementing this interface are usually discovered through
+ the <doc:tt>org.freedesktop.UPower</doc:tt> interface on
+ the <doc:tt>/org/freedesktop/UPower</doc:tt> object on
+ the D-Bus system bus service with the well-known
+ name <doc:tt>org.freedesktop.UPower</doc:tt> using
+ the
+ <doc:ref type="method" to="Power.EnumerateDevices">EnumerateDevices</doc:ref>
+ method.
+ </doc:para>
+ <doc:para>
+ <doc:example language="shell" title="simple example">
+ <doc:code>
+$ dbus-send --print-reply \
+ --system \
+ --dest=org.freedesktop.UPower \
+ /org/freedesktop/UPower/devices/battery_BAT0 \
+ org.freedesktop.DBus.Properties.GetAll \
+ string:org.freedesktop.UPower.Device
+
+method return sender=:1.386 -> dest=:1.477 reply_serial=2
+ array [
+ dict entry(
+ string "native-path"
+ variant string "/sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/PNP0C09:00/PNP0C0A:00/power_supply/BAT0"
+ )
+ dict entry(
+ string "vendor"
+ variant string "SONY"
+ )
+ dict entry(
+ string "model"
+ variant string "42T4568"
+ )
+ dict entry(
+ string "serial"
+ variant string "4179"
+ )
+ dict entry(
+ string "update-time"
+ variant uint64 1226417875
+ )
+ dict entry(
+ string "type"
+ variant uint 2
+ )
+ dict entry(
+ string "power-supply"
+ variant boolean true
+ )
+ dict entry(
+ string "has-history"
+ variant boolean true
+ )
+ dict entry(
+ string "has-statistics"
+ variant boolean true
+ )
+ dict entry(
+ string "online"
+ variant boolean false
+ )
+ dict entry(
+ string "energy"
+ variant double 72.85
+ )
+ dict entry(
+ string "energy-empty"
+ variant double 0
+ )
+ dict entry(
+ string "energy-full"
+ variant double 74.55
+ )
+ dict entry(
+ string "energy-full-design"
+ variant double 74.88
+ )
+ dict entry(
+ string "energy-rate"
+ variant double 0
+ )
+ dict entry(
+ string "voltage"
+ variant double 16.415
+ )
+ dict entry(
+ string "time-to-empty"
+ variant int64 0
+ )
+ dict entry(
+ string "time-to-full"
+ variant int64 0
+ )
+ dict entry(
+ string "percentage"
+ variant double 97.7197
+ )
+ dict entry(
+ string "is-present"
+ variant boolean true
+ )
+ dict entry(
+ string "state"
+ variant uint 3
+ )
+ dict entry(
+ string "is-rechargeable"
+ variant boolean true
+ )
+ dict entry(
+ string "capacity"
+ variant double 100
+ )
+ dict entry(
+ string "technology"
+ variant uint 1
+ )
+ ]
+ </doc:code>
+ </doc:example>
+ </doc:para>
+ <doc:para>
+ Unless otherwise noted, an empty string or the value 0 in a
+ property on this interface means not set.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+
+
+ <!-- ************************************************************ -->
+ <method name="Refresh">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Refreshes the data collected from the power source.
+ </doc:para>
+ </doc:description>
+ <doc:permission>Callers need the org.freedesktop.upower.refresh-power-source authorization</doc:permission>
+ <doc:errors>
+ <doc:error name="&ERROR_GENERAL;">if an error occured while refreshing</doc:error>
+ </doc:errors>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+ <signal name="Changed">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Some value on the power source changed.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <!-- ************************************************************ -->
+ <method name="GetHistory">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="type" direction="in" type="s">
+ <doc:doc><doc:summary>The type of history.
+ Valid types are <doc:tt>rate</doc:tt> or <doc:tt>charge</doc:tt>.</doc:summary></doc:doc>
+ </arg>
+ <arg name="timespan" direction="in" type="u">
+ <doc:doc><doc:summary>The amount of data to return in seconds, or 0 for all.</doc:summary></doc:doc>
+ </arg>
+ <arg name="resolution" direction="in" type="u">
+ <doc:doc>
+ <doc:summary>
+ The approximate number of points to return.
+ A higher resolution is more accurate, at the expense of plotting speed.
+ </doc:summary>
+ </doc:doc>
+ </arg>
+ <arg name="data" direction="out" type="a(udu)">
+ <doc:doc><doc:summary>
+ The history data for the power device, if the device supports history.
+ Data is ordered from the earliest in time, to the newest data point.
+ Each element contains the following members:
+ <doc:list>
+ <doc:item>
+ <doc:term>time</doc:term>
+ <doc:definition>
+ The time value in seconds from the <doc:tt>gettimeofday()</doc:tt> method.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>value</doc:term>
+ <doc:definition>
+ The data value, for instance the rate in W or the charge in %.
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>state</doc:term>
+ <doc:definition>
+ The state of the device, for instance <doc:tt>charging</doc:tt> or
+ <doc:tt>discharging</doc:tt>.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:summary></doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Gets history for the power device that is persistent across reboots.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+ <method name="GetStatistics">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="type" direction="in" type="s">
+ <doc:doc><doc:summary>The mode for the statistics.
+ Valid types are <doc:tt>charging</doc:tt> or <doc:tt>discharging</doc:tt>.</doc:summary></doc:doc>
+ </arg>
+ <arg name="data" direction="out" type="a(dd)">
+ <doc:doc><doc:summary>
+ The statistics data for the power device.
+ Each element contains the following members:
+ <doc:list>
+ <doc:item>
+ <doc:term>value</doc:term>
+ <doc:definition>
+ The value of the percentage point, usually in seconds
+ </doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>accuracy</doc:term>
+ <doc:definition>
+ The accuracy of the prediction in percent.
+ </doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:summary></doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Gets statistics for the power device that may be interesting
+ to show on a graph in the session.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
+ <!-- ************************************************************ -->
+ <property name="NativePath" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ OS specific native path of the power source. On Linux this
+ is the sysfs path, for
+ example <doc:tt>/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0</doc:tt>. Is
+ blank if the device is being driven by a user space
+ driver.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Vendor" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Name of the vendor of the battery.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Model" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Name of the model of this battery.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Serial" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Unique serial number of the battery.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="UpdateTime" type="t" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The point in time (seconds since the Epoch Jan 1, 1970
+ 0:00 UTC) that data was read from the power source.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Type" type="u" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Type of power source.
+ </doc:para>
+ <doc:list>
+ <doc:item>
+ <doc:term>0</doc:term><doc:definition>Unknown</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>1</doc:term><doc:definition>Line Power</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>2</doc:term><doc:definition>Battery</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>3</doc:term><doc:definition>Ups</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>4</doc:term><doc:definition>Monitor</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>5</doc:term><doc:definition>Mouse</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>6</doc:term><doc:definition>Keyboard</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>7</doc:term><doc:definition>Pda</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>8</doc:term><doc:definition>Phone</doc:definition>
+ </doc:item>
+ </doc:list>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="PowerSupply" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ If the power device is used to supply the system.
+ This would be set TRUE for laptop batteries and UPS devices,
+ but set FALSE for wireless mice or PDAs.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="HasHistory" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ If the power device has history.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="HasStatistics" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ If the power device has statistics.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Online" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Whether power is currently being provided through line power.
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "line-power".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Energy" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Amount of energy (measured in Wh) currently available in
+ the power source.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="EnergyEmpty" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Amount of energy (measured in Wh) in the power source when
+ it's considered to be empty.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="EnergyFull" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Amount of energy (measured in Wh) in the power source when
+ it's considered full.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="EnergyFullDesign" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Amount of energy (measured in Wh) the power source is
+ designed to hold when it's considered full.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="EnergyRate" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Amount of energy being drained from the source, measured
+ in W. If positive, the source is being discharged, if
+ negative it's being charged.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Voltage" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Voltage in the Cell or being recorded by the meter.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="TimeToEmpty" type="x" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Number of seconds until the power source is considered empty.
+ Is set to 0 if unknown.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="TimeToFull" type="x" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Number of seconds until the power source is considered full.
+ Is set to 0 if unknown.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Percentage" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The amount of energy left in the power source expressed as
+ a percentage between 0 and 100. Typically this is the same as
+ (<doc:ref type="property" to="Source:Energy">energy</doc:ref> -
+ <doc:ref type="property" to="Source:EnergyEmpty">energy-empty</doc:ref>) /
+ (<doc:ref type="property" to="Source:EnergyFull">energy-full</doc:ref> -
+ <doc:ref type="property" to="Source:EnergyEmpty">energy-empty</doc:ref>).
+ However, some primitive power sources are capable of only
+ reporting percentages and in this case the energy-*
+ properties will be unset while this property is set.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="IsPresent" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ If the power source is present in the bay.
+ This field is required as some batteries are hot-removable, for example
+ expensive UPS and most laptop batteries.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="State" type="u" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The battery power state.
+ </doc:para>
+ <doc:list>
+ <doc:item>
+ <doc:term>0</doc:term><doc:definition>Unknown</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>1</doc:term><doc:definition>Charging</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>2</doc:term><doc:definition>Discharging</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>3</doc:term><doc:definition>Empty</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>4</doc:term><doc:definition>Fully charged</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>5</doc:term><doc:definition>Pending charge</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>6</doc:term><doc:definition>Pending discharge</doc:definition>
+ </doc:item>
+ </doc:list>
+ <doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="IsRechargeable" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ If the power source is rechargeable.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Capacity" type="d" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The capacity of the power source expressed as a percentage between 0 and 100.
+ The capacity of the battery will reduce with age.
+ A capacity value less than 75% is usually a sign that you should renew your battery.
+ Typically this value is the same as
+ (<doc:ref type="property" to="Source:FullDesign">full-design</doc:ref> /
+ <doc:ref type="property" to="Source:Full">full</doc:ref>) * 100.
+ However, some primitive power sources are not capable reporting capacity
+ and in this case the capacity property will be unset.
+ </doc:para><doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="Technology" type="u" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ Technology used in the battery:
+ </doc:para>
+ <doc:list>
+ <doc:item>
+ <doc:term>0</doc:term><doc:definition>Unknown</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>1</doc:term><doc:definition>Lithium ion</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>2</doc:term><doc:definition>Lithium polymer</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>3</doc:term><doc:definition>Lithium iron phosphate</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>4</doc:term><doc:definition>Lead acid</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>5</doc:term><doc:definition>Nickel cadmium</doc:definition>
+ </doc:item>
+ <doc:item>
+ <doc:term>6</doc:term><doc:definition>Nickel metal hydride</doc:definition>
+ </doc:item>
+ </doc:list>
+ <doc:para>
+ This property is only valid if the property
+ <doc:ref type="property" to="Source:Type">type</doc:ref>
+ has the value "battery".
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="RecallNotice" type="b" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ If the device may have been recalled by the vendor due to a suspected
+ fault.
+ This key does not imply the device is faulty, only that it approximatly
+ matches the description from the vendor of units that were recalled.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="RecallVendor" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The vendor that is handling the hardware recall.
+ </doc:para>
+ <doc:para>
+ This property is only valid if the property recall-notice is true.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ <property name="RecallUrl" type="s" access="read">
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ The URL to visit about the hardware recall.
+ </doc:para>
+ <doc:para>
+ This property is only valid if the property recall-notice is true.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </property>
+
+ </interface>
+
+</node>
diff --git a/src/org.freedesktop.UPower.xml b/src/org.freedesktop.UPower.xml
new file mode 100644
index 0000000..7b73583
--- /dev/null
+++ b/src/org.freedesktop.UPower.xml
@@ -0,0 +1,43 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+ <interface name="org.freedesktop.UPower">
+ <method name="HibernateAllowed">
+ <arg name="allowed" type="b" direction="out"/>
+ </method>
+ <method name="Hibernate">
+ </method>
+ <method name="SuspendAllowed">
+ <arg name="allowed" type="b" direction="out"/>
+ </method>
+ <method name="Suspend">
+ </method>
+ <method name="AboutToSleep">
+ </method>
+ <method name="EnumerateDevices">
+ <arg name="devices" type="ao" direction="out"/>
+ </method>
+ <signal name="Resuming">
+ </signal>
+ <signal name="Sleeping">
+ </signal>
+ <signal name="Changed">
+ </signal>
+ <signal name="DeviceChanged">
+ <arg type="s"/>
+ </signal>
+ <signal name="DeviceRemoved">
+ <arg type="s"/>
+ </signal>
+ <signal name="DeviceAdded">
+ <arg type="s"/>
+ </signal>
+ <property name="LidIsPresent" type="b" access="read"/>
+ <property name="LidIsClosed" type="b" access="read"/>
+ <property name="OnLowBattery" type="b" access="read"/>
+ <property name="OnBattery" type="b" access="read"/>
+ <property name="CanHibernate" type="b" access="read"/>
+ <property name="CanSuspend" type="b" access="read"/>
+ <property name="DaemonVersion" type="s" access="read"/>
+ </interface>
+</node> \ No newline at end of file