diff options
-rw-r--r-- | src/org.freedesktop.UPower.Device.xml | 705 | ||||
-rw-r--r-- | src/org.freedesktop.UPower.xml | 43 |
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 |