diff options
-rw-r--r-- | .bzrignore | 1 | ||||
-rw-r--r-- | src/Makefile.am | 9 | ||||
-rw-r--r-- | src/upower.xml | 309 |
3 files changed, 319 insertions, 0 deletions
@@ -57,3 +57,4 @@ indicator-session-[0-9].[0-9].tar.gz.asc src/consolekit-manager-client.h src/session-dbus-client.h src/session-dbus-server.h +src/upower-client.h diff --git a/src/Makefile.am b/src/Makefile.am index 3037a3b..db41db6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -33,6 +33,13 @@ users-service-client.h: $(srcdir)/users-service.xml --output=users-service-client.h \ $(srcdir)/users-service.xml +upower-client.h: $(srcdir)/upower.xml + dbus-binding-tool \ + --prefix=_upower_client \ + --mode=glib-client \ + --output=upower-client.h \ + $(srcdir)/upower.xml + session-dbus-client.h: $(srcdir)/session-dbus.xml dbus-binding-tool \ --prefix=_session_dbus_client \ @@ -108,6 +115,7 @@ BUILT_SOURCES = \ consolekit-manager-client.h \ session-dbus-client.h \ session-dbus-server.h \ + upower-client.h \ users-service-client.h \ users-service-marshal.h \ users-service-marshal.c @@ -115,6 +123,7 @@ BUILT_SOURCES = \ EXTRA_DIST = \ consolekit-manager.xml \ session-dbus.xml \ + upower.xml \ users-service.xml \ users-service.list diff --git a/src/upower.xml b/src/upower.xml new file mode 100644 index 0000000..a4066ff --- /dev/null +++ b/src/upower.xml @@ -0,0 +1,309 @@ +<!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 DeviceKit-power 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> + + <!-- ************************************************************ --> + + <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> + + <!-- ************************************************************ --> + + <signal name="DeviceChanged"> + <arg name="device" type="o"> + <doc:doc><doc:summary>Object path of device that was changed.</doc:summary></doc:doc> + </arg> + + <doc:doc> + <doc:description> + <doc:para> + Emitted when a device changed. + </doc:para> + </doc:description> + </doc:doc> + </signal> + + <!-- ************************************************************ --> + + <signal name="Changed"> + <doc:doc> + <doc:description> + <doc:para> + Emitted when one or more properties on the object changes. + </doc:para> + </doc:description> + </doc:doc> + </signal> + + <!-- ************************************************************ --> + + <signal name="Sleeping"> + <doc:doc> + <doc:description> + <doc:para> + This signal is sent when the session is about to be suspended or + hibernated. + Session and system programs have one second to do anything required + before the sleep action is taken (such as sending out Avahi or + Jabber messages). + </doc:para> + </doc:description> + </doc:doc> + </signal> + + <!-- ************************************************************ --> + + <signal name="Resuming"> + <doc:doc> + <doc:description> + <doc:para> + This signal is sent when the session has just returned from + Suspend() or Hibernate(). + Session and system programs can then do anything required (such as + sending out Avahi or Jabber messages). + </doc:para> + </doc:description> + </doc:doc> + </signal> + + <!-- ************************************************************ --> + + <method name="AboutToSleep"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <doc:doc> + <doc:description> + <doc:para> + This method tells UPower that the Suspend() or Hibernate() method + is about to be called. + This allows UPower to emit the Suspending signal whilst + session activities are happening that have to be done before the + suspend process is started. + </doc:para> + <doc:para> + This method would typically be called by the session power + management daemon, before it locks the screen and waits for the + screen to fade to black. + The session power management component would then call Suspend() or + Hibernate() when these syncronous tasks have completed. + </doc:para> + <doc:para> + If this method is not called than nothing bad will happen and + Suspend() or Hibernate() will block for the required second. + </doc:para> + </doc:description> + </doc:doc> + </method> + + <!-- ************************************************************ --> + + <method name="Suspend"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <doc:doc> + <doc:description> + <doc:para> + Suspends the computer into a low power state. + System state is not preserved if the power is lost. + </doc:para> + <doc:para> + If AboutToRequestSleep() has not been called then UPower will send + the Sleeping() signal and block for one second. + </doc:para> + <doc:para> + If AboutToRequestSleep() has been called less than one second + before this method is called then UPower will block for the + remaining time to complete one second of delay. + </doc:para> + </doc:description> + </doc:doc> + </method> + + <!-- ************************************************************ --> + + <method name="SuspendAllowed"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg name="allowed" direction="out" type="b"> + <doc:doc><doc:summary>TRUE if allowed, otherwise FALSE</doc:summary></doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + Check if the caller has (or can get) the PolicyKit privilege to call + <doc:ref type="method" to="Power.Suspend">Suspend</doc:ref>. + </doc:para> + </doc:description> + </doc:doc> + </method> + + <!-- ************************************************************ --> + + <method name="Hibernate"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <doc:doc> + <doc:description> + <doc:para> + Hibernates the computer into a low power state. + System state is preserved if the power is lost. + </doc:para> + <doc:para> + If AboutToRequestSleep() has not been called then UPower will send + the Sleeping() signal and block for one second. + </doc:para> + <doc:para> + If AboutToRequestSleep() has been called less than one second + before this method is called then UPower will block for the + remaining time to complete one second of delay. + </doc:para> + </doc:description> + </doc:doc> + </method> + + <!-- ************************************************************ --> + + <method name="HibernateAllowed"> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <arg name="allowed" direction="out" type="b"> + <doc:doc><doc:summary>TRUE if allowed, otherwise FALSE</doc:summary></doc:doc> + </arg> + <doc:doc> + <doc:description> + <doc:para> + Check if the caller has (or can get) the PolicyKit privilege to call + <doc:ref type="method" to="Power.Hibernate">Hibernate</doc:ref>. + </doc:para> + </doc:description> + </doc:doc> + </method> + + <!-- ************************************************************ --> + + <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="CanSuspend" type="b" access="read"> + <doc:doc><doc:description><doc:para> + Whether the system is able to suspend. + </doc:para></doc:description></doc:doc> + </property> + + <property name="CanHibernate" type="b" access="read"> + <doc:doc><doc:description><doc:para> + Whether the system is able to hibernate. + </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="OnLowBattery" type="b" access="read"> + <doc:doc><doc:description><doc:para> + Indicates whether the system is running on battery power and if the battery is critically low. + 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> |