diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2015-05-30 19:59:13 -0700 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2015-07-29 13:38:13 +0100 |
commit | c108a8e8a4126a0e0c13fd3022e71fca8e3bdd31 (patch) | |
tree | 14c221d93d0d3ff53ff839d0083adb43e28bc9e1 /dbus | |
parent | da7517137e7a67ccfcf60093b2eab466aeaf71ad (diff) | |
download | upower-c108a8e8a4126a0e0c13fd3022e71fca8e3bdd31.tar.gz |
Share generated code between daemon and library
Since we use the same GDBus code in libupower-glib and the daemon,
auto-generate a private library that can be used by both.
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/Makefile.am | 64 | ||||
-rw-r--r-- | dbus/org.freedesktop.UPower.Device.xml | 717 | ||||
-rw-r--r-- | dbus/org.freedesktop.UPower.KbdBacklight.xml | 101 | ||||
-rw-r--r-- | dbus/org.freedesktop.UPower.Wakeups.xml | 131 | ||||
-rw-r--r-- | dbus/org.freedesktop.UPower.xml | 204 |
5 files changed, 1217 insertions, 0 deletions
diff --git a/dbus/Makefile.am b/dbus/Makefile.am new file mode 100644 index 0000000..017c7eb --- /dev/null +++ b/dbus/Makefile.am @@ -0,0 +1,64 @@ +noinst_LTLIBRARIES=libupower-dbus.la + +AM_CPPFLAGS = \ + $(GIO_CFLAGS) \ + $(GIO_UNIX_CFLAGS) \ + $(GLIB_CFLAGS) + +libupower_dbus_la_LIBADD = \ + $(GIO_LIBS) \ + $(GIO_UNIX_LIBS) \ + $(GLIB_LIBS) + +BUILT_SOURCES = \ + up-daemon-generated.h \ + up-daemon-generated.c \ + up-device-generated.h \ + up-device-generated.c \ + up-kbd-backlight-generated.h \ + up-kbd-backlight-generated.c \ + up-wakeups-generated.h \ + up-wakeups-generated.c + +libupower_dbus_la_SOURCES = $(BUILT_SOURCES) + +up-daemon-generated.h: org.freedesktop.UPower.xml Makefile.am + $(AM_V_GEN) gdbus-codegen --interface-prefix org.freedesktop.UPower. \ + --generate-c-code up-daemon-generated \ + --c-namespace Up \ + --annotate "org.freedesktop.UPower" "org.gtk.GDBus.C.Name" ExportedDaemon \ + $(srcdir)/org.freedesktop.UPower.xml +up-daemon-generated.c: up-daemon-generated.h + +up-device-generated.h: org.freedesktop.UPower.Device.xml Makefile.am + $(AM_V_GEN) gdbus-codegen --interface-prefix org.freedesktop.UPower.Device. \ + --generate-c-code up-device-generated \ + --c-namespace Up \ + --annotate "org.freedesktop.UPower.Device" "org.gtk.GDBus.C.Name" ExportedDevice \ + $(srcdir)/org.freedesktop.UPower.Device.xml +up-device-generated.c: up-device-generated.h + +up-kbd-backlight-generated.h: org.freedesktop.UPower.KbdBacklight.xml Makefile.am + $(AM_V_GEN) gdbus-codegen --interface-prefix org.freedesktop.UPower.KbdBacklight. \ + --generate-c-code up-kbd-backlight-generated \ + --c-namespace Up \ + --annotate "org.freedesktop.UPower.KbdBacklight" "org.gtk.GDBus.C.Name" ExportedKbdBacklight \ + $(srcdir)/org.freedesktop.UPower.KbdBacklight.xml +up-kbd-backlight-generated.c: up-kbd-backlight-generated.h + +up-wakeups-generated.h: org.freedesktop.UPower.Wakeups.xml Makefile.am + $(AM_V_GEN) gdbus-codegen --interface-prefix org.freedesktop.UPower.Wakeups. \ + --generate-c-code up-wakeups-generated \ + --c-namespace Up \ + --annotate "org.freedesktop.UPower.Wakeups" "org.gtk.GDBus.C.Name" ExportedWakeups \ + $(srcdir)/org.freedesktop.UPower.Wakeups.xml +up-wakeups-generated.c: up-wakeups-generated.h + +dbusifdir = $(datadir)/dbus-1/interfaces +dist_dbusif_DATA = \ + org.freedesktop.UPower.xml \ + org.freedesktop.UPower.Device.xml \ + org.freedesktop.UPower.KbdBacklight.xml \ + org.freedesktop.UPower.Wakeups.xml + +-include $(top_srcdir)/git.mk diff --git a/dbus/org.freedesktop.UPower.Device.xml b/dbus/org.freedesktop.UPower.Device.xml new file mode 100644 index 0000000..8ce9c15 --- /dev/null +++ b/dbus/org.freedesktop.UPower.Device.xml @@ -0,0 +1,717 @@ +<!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> + + <!-- ************************************************************ --> + <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="Luminosity" type="d" access="read"> + <doc:doc> + <doc:description> + <doc:para> + Luminosity 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="Temperature" type="d" access="read"> + <doc:doc> + <doc:description> + <doc:para> + The temperature of the device in degrees Celsius. 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="WarningLevel" type="u" access="read"> + <doc:doc> + <doc:description> + <doc:para> + Warning level of 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>None</doc:definition> + </doc:item> + <doc:item> + <doc:term>2</doc:term><doc:definition>Discharging (only for UPSes)</doc:definition> + </doc:item> + <doc:item> + <doc:term>3</doc:term><doc:definition>Low</doc:definition> + </doc:item> + <doc:item> + <doc:term>4</doc:term><doc:definition>Critical</doc:definition> + </doc:item> + <doc:item> + <doc:term>5</doc:term><doc:definition>Action</doc:definition> + </doc:item> + </doc:list> + </doc:description> + </doc:doc> + </property> + + <property name="IconName" type="s" access="read"> + <doc:doc> + <doc:description> + <doc:para> + An icon name, following the <a href="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">Icon Naming Specification</a> + </doc:para> + </doc:description> + </doc:doc> + </property> + </interface> + +</node> diff --git a/dbus/org.freedesktop.UPower.KbdBacklight.xml b/dbus/org.freedesktop.UPower.KbdBacklight.xml new file mode 100644 index 0000000..994380f --- /dev/null +++ b/dbus/org.freedesktop.UPower.KbdBacklight.xml @@ -0,0 +1,101 @@ +<!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.GeneralError"> +]> +<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> + <interface name="org.freedesktop.UPower.KbdBacklight"> + <doc:doc> + <doc:description> + <doc:para> + org.freedesktop.UPower.KbdBacklight is a DBus interface implemented + by UPower. + It allows the keyboard backlight (if present) to be controlled. + </doc:para> + </doc:description> + </doc:doc> + + <!-- ************************************************************ --> + <method name="GetMaxBrightness"> + <arg name="value" direction="out" type="i"> + <doc:doc> + <doc:summary> + The maximum value of the keyboard backlight brightness. + </doc:summary> + </doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + Get the maximum brightness level for the keyboard backlight. + </doc:para> + </doc:description> + <doc:errors> + <doc:error name="&ERROR_GENERAL;">if an error occured while getting the maximum brightness</doc:error> + </doc:errors> + </doc:doc> + </method> + + <!-- ************************************************************ --> + <method name="GetBrightness"> + <arg name="value" direction="out" type="i"> + <doc:doc> + <doc:summary> + The current value of the keyboard backlight brightness. + </doc:summary> + </doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + Get the brightness level of the keyboard backlight. + </doc:para> + </doc:description> + <doc:errors> + <doc:error name="&ERROR_GENERAL;">if an error occured while getting the brightness</doc:error> + </doc:errors> + </doc:doc> + </method> + + <!-- ************************************************************ --> + <method name="SetBrightness"> + <arg name="value" direction="in" type="i"> + <doc:doc> + <doc:summary> + The value to set the KbdBacklight brightness. + </doc:summary> + </doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + Set the brightness level of the keyboard backlight. + </doc:para> + </doc:description> + <doc:errors> + <doc:error name="&ERROR_GENERAL;">if an error occured while setting the brightness</doc:error> + </doc:errors> + </doc:doc> + </method> + + <!-- ************************************************************ --> + <signal name="BrightnessChanged"> + <arg name="value" direction="out" type="i"> + <doc:doc> + <doc:summary> + The new brightness value of the keyboard backlight. + </doc:summary> + </doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + The keyboard backlight brightness level has changed. + </doc:para> + </doc:description> + </doc:doc> + </signal> + + </interface> + +</node> diff --git a/dbus/org.freedesktop.UPower.Wakeups.xml b/dbus/org.freedesktop.UPower.Wakeups.xml new file mode 100644 index 0000000..7faa126 --- /dev/null +++ b/dbus/org.freedesktop.UPower.Wakeups.xml @@ -0,0 +1,131 @@ +<!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.GeneralError"> +]> +<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> + <interface name="org.freedesktop.UPower.Wakeups"> + <doc:doc> + <doc:description> + <doc:para> + org.freedesktop.UPower.Wakeups is a DBus interface implemented + by UPower. + It allows applications to watch what applications and drivers are + causing the wakeups on the system. + </doc:para> + </doc:description> + </doc:doc> + + <property name="HasCapability" type="b" access="read"> + <doc:doc> + <doc:description> + <doc:para> + If the system has the ability to profile wakeups. + </doc:para> + </doc:description> + </doc:doc> + </property> + + <!-- ************************************************************ --> + <method name="GetTotal"> + <arg name="value" direction="out" type="u"> + <doc:doc> + <doc:summary> + The number of wakeups per second. + </doc:summary> + </doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + Get the number of wakeups per second. + </doc:para> + </doc:description> + <doc:errors> + <doc:error name="&ERROR_GENERAL;">if an error occured while getting the latency</doc:error> + </doc:errors> + </doc:doc> + </method> + + <!-- ************************************************************ --> + <signal name="TotalChanged"> + <arg name="value" direction="out" type="u"> + <doc:doc> + <doc:summary> + The number of wakeups per second. + </doc:summary> + </doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + The number of wakeups per second has changed. + </doc:para> + </doc:description> + </doc:doc> + </signal> + + <!-- ************************************************************ --> + <method name="GetData"> + <arg name="data" direction="out" type="a(budss)"> + <doc:doc> + <doc:summary> + The data of all the processes and drivers which contribute to the + wakeups on the system. + <doc:list> + <doc:item> + <doc:term>is_userspace</doc:term> + <doc:definition> + If the wakeup is from userspace. + </doc:definition> + </doc:item> + <doc:item> + <doc:term>id</doc:term> + <doc:definition> + The process ID of the application, or the IRQ for kernel drivers. + </doc:definition> + </doc:item> + <doc:item> + <doc:term>value</doc:term> + <doc:definition> + The number of wakeups per second. + </doc:definition> + </doc:item> + <doc:item> + <doc:term>cmdline</doc:term> + <doc:definition> + The command line for the application, or NULL for kernel drivers. + </doc:definition> + </doc:item> + <doc:item> + <doc:term>details</doc:term> + <doc:definition> + The details about the wakeup. + </doc:definition> + </doc:item> + </doc:list> + </doc:summary></doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + Gets all the wakeups from drivers and applications. + </doc:para> + </doc:description> + </doc:doc> + </method> + + <!-- ************************************************************ --> + <signal name="DataChanged"> + <doc:doc> + <doc:description> + <doc:para> + The wakeup data has changed. + </doc:para> + </doc:description> + </doc:doc> + </signal> + + </interface> + +</node> diff --git a/dbus/org.freedesktop.UPower.xml b/dbus/org.freedesktop.UPower.xml new file mode 100644 index 0000000..c376521 --- /dev/null +++ b/dbus/org.freedesktop.UPower.xml @@ -0,0 +1,204 @@ +<!DOCTYPE node PUBLIC +"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" +"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> +<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> + + <interface name="org.freedesktop.UPower"> + <doc:doc> + <doc:description> + <doc:para> + The UPower service is available via the system message + bus. To access the service, use + 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>. + </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 \ + org.freedesktop.UPower.EnumerateDevices + +method return sender=:1.386 -> dest=:1.451 reply_serial=2 + array [ + object path "/org/freedesktop/UPower/devices/line_power_AC" + object path "/org/freedesktop/UPower/devices/battery_BAT0" + ] + </doc:code> + </doc:example> + </doc:para> + </doc:description> + </doc:doc> + + <!-- ************************************************************ --> + + <method name="EnumerateDevices"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg name="devices" direction="out" type="ao"> + <doc:doc><doc:summary>An array of object paths for devices.</doc:summary></doc:doc> + </arg> + + <doc:doc> + <doc:description> + <doc:para> + Enumerate all power objects on the system. + </doc:para> + </doc:description> + </doc:doc> + </method> + + <method name="GetDisplayDevice"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg name="device" direction="out" type="o"> + <doc:doc><doc:summary>An object path for the "display device.</doc:summary></doc:doc> + </arg> + + <doc:doc> + <doc:description> + <doc:para> + Get the object to the "display device", a composite device that represents the + status icon to show in desktop environments. You can also access the object directly + as its path is guaranteed to be /org/freedesktop/UPower/devices/DisplayDevice. + The following standard org.freedesktop.UPower.Device + properties will be defined (only <doc:ref type="property" to="Source:IsPresent">IsPresent</doc:ref> takes a special meaning): + <doc:list> + <doc:item> + <doc:term>Type</doc:term><doc:definition>the type of the display device, UPS or Battery. Note that this value can change, as opposed to real devices.</doc:definition> + </doc:item> + <doc:item> + <doc:term>State</doc:term><doc:definition>the power state of the display device, such as Charging or Discharging.</doc:definition> + </doc:item> + <doc:item> + <doc:term>Percentage</doc:term><doc:definition>the amount of energy left on the device.</doc:definition> + </doc:item> + <doc:item> + <doc:term>Energy</doc:term><doc:definition>Amount of energy (measured in Wh) currently available in the power source.</doc:definition> + </doc:item> + <doc:item> + <doc:term>EnergyFull</doc:term><doc:definition>Amount of energy (measured in Wh) in the power source when it's considered full.</doc:definition> + </doc:item> + <doc:item> + <doc:term>EnergyRate</doc:term><doc:definition>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:definition> + </doc:item> + <doc:item> + <doc:term>TimeToEmpty</doc:term><doc:definition>Number of seconds until the power source is considered empty.</doc:definition> + </doc:item> + <doc:item> + <doc:term>TimeToFull</doc:term><doc:definition>Number of seconds until the power source is considered full.</doc:definition> + </doc:item> + <doc:item> + <doc:term>IsPresent</doc:term><doc:definition>Whether a status icon using this information should be presented.</doc:definition> + </doc:item> + <doc:item> + <doc:term>IconName</doc:term><doc:definition>An icon name representing the device state.</doc:definition> + </doc:item> + <doc:item> + <doc:term>WarningLevel</doc:term><doc:definition>The same as the overall <doc:ref type="property" to="Source:WarningLevel">WarningLevel</doc:ref></doc:definition> + </doc:item> + </doc:list> + </doc:para> + </doc:description> + </doc:doc> + </method> + + <method name="GetCriticalAction"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg name="action" direction="out" type="s"> + <doc:doc><doc:summary>A string representing the critical action configured and available.</doc:summary></doc:doc> + </arg> + + <doc:doc> + <doc:description> + <doc:para> + When the system's power supply is critical (critically low batteries or UPS), + the system will take this action. Possible values are: + <doc:list> + <doc:item> + <doc:term>HybridSleep</doc:term> + </doc:item> + <doc:item> + <doc:term>Hibernate</doc:term> + </doc:item> + <doc:item> + <doc:term>PowerOff</doc:term> + </doc:item> + </doc:list> + </doc:para> + </doc:description> + </doc:doc> + </method> + + <!-- ************************************************************ --> + + <signal name="DeviceAdded"> + <arg name="device" type="o"> + <doc:doc><doc:summary>Object path of device that was added.</doc:summary></doc:doc> + </arg> + + <doc:doc> + <doc:description> + <doc:para> + Emitted when a device is added. + </doc:para> + </doc:description> + </doc:doc> + </signal> + + <!-- ************************************************************ --> + + <signal name="DeviceRemoved"> + <arg name="device" type="o"> + <doc:doc><doc:summary>Object path of device that was removed.</doc:summary></doc:doc> + </arg> + + <doc:doc> + <doc:description> + <doc:para> + Emitted when a device is removed. + </doc:para> + </doc:description> + </doc:doc> + </signal> + + <!-- ************************************************************ --> + + <property name="DaemonVersion" type="s" access="read"> + <doc:doc><doc:description><doc:para> + Version of the running daemon, e.g. <doc:tt>002</doc:tt>. + </doc:para></doc:description></doc:doc> + </property> + + <property name="OnBattery" type="b" access="read"> + <doc:doc><doc:description><doc:para> + Indicates whether the system is running on battery power. + This property is provided for convenience. + </doc:para></doc:description></doc:doc> + </property> + + <property name="LidIsClosed" type="b" access="read"> + <doc:doc> + <doc:description> + <doc:para> + Indicates if the laptop lid is closed where the display cannot be seen. + </doc:para> + </doc:description> + </doc:doc> + </property> + + <property name="LidIsPresent" type="b" access="read"> + <doc:doc> + <doc:description> + <doc:para> + If the system has a lid device. + </doc:para> + </doc:description> + </doc:doc> + </property> + + </interface> + +</node> |