gnome-session r4895 - in branches/dbus_based: . gnome-session



Author: mccann
Date: Wed Jul 30 17:31:44 2008
New Revision: 4895
URL: http://svn.gnome.org/viewvc/gnome-session?rev=4895&view=rev

Log:
2008-07-30  William Jon McCann  <jmccann redhat com>

	* gnome-session/gsm-manager.c (listify_store_ids),
	(gsm_manager_get_clients), (gsm_manager_get_inhibitors):
	* gnome-session/gsm-manager.h:
	* gnome-session/org.gnome.SessionManager.xml:
	Add GetClients and GetInhibitors.



Modified:
   branches/dbus_based/ChangeLog
   branches/dbus_based/gnome-session/gsm-manager.c
   branches/dbus_based/gnome-session/gsm-manager.h
   branches/dbus_based/gnome-session/org.gnome.SessionManager.xml

Modified: branches/dbus_based/gnome-session/gsm-manager.c
==============================================================================
--- branches/dbus_based/gnome-session/gsm-manager.c	(original)
+++ branches/dbus_based/gnome-session/gsm-manager.c	Wed Jul 30 17:31:44 2008
@@ -2744,3 +2744,46 @@
         return TRUE;
 
 }
+
+static gboolean
+listify_store_ids (char       *id,
+                   GObject    *object,
+                   GPtrArray **array)
+{
+        g_ptr_array_add (*array, g_strdup (id));
+        return FALSE;
+}
+
+gboolean
+gsm_manager_get_clients (GsmManager *manager,
+                         GPtrArray **clients,
+                         GError    **error)
+{
+        g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
+        if (clients == NULL) {
+                return FALSE;
+        }
+
+        *clients = g_ptr_array_new ();
+        gsm_store_foreach (manager->priv->clients, (GsmStoreFunc)listify_store_ids, clients);
+
+        return TRUE;
+}
+
+gboolean
+gsm_manager_get_inhibitors (GsmManager *manager,
+                            GPtrArray **inhibitors,
+                            GError    **error)
+{
+        g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
+        if (inhibitors == NULL) {
+                return FALSE;
+        }
+
+        *inhibitors = g_ptr_array_new ();
+        gsm_store_foreach (manager->priv->inhibitors, (GsmStoreFunc)listify_store_ids, inhibitors);
+
+        return TRUE;
+}

Modified: branches/dbus_based/gnome-session/gsm-manager.h
==============================================================================
--- branches/dbus_based/gnome-session/gsm-manager.h	(original)
+++ branches/dbus_based/gnome-session/gsm-manager.h	Wed Jul 30 17:31:44 2008
@@ -155,6 +155,13 @@
                                                       gboolean        fatal,
                                                       GError        **error);
 
+gboolean            gsm_manager_get_clients          (GsmManager     *manager,
+                                                      GPtrArray     **clients,
+                                                      GError        **error);
+gboolean            gsm_manager_get_inhibitors       (GsmManager     *manager,
+                                                      GPtrArray     **inhibitors,
+                                                      GError        **error);
+
 G_END_DECLS
 
 #endif /* __GSM_MANAGER_H */

Modified: branches/dbus_based/gnome-session/org.gnome.SessionManager.xml
==============================================================================
--- branches/dbus_based/gnome-session/org.gnome.SessionManager.xml	(original)
+++ branches/dbus_based/gnome-session/org.gnome.SessionManager.xml	Wed Jul 30 17:31:44 2008
@@ -190,6 +190,40 @@
       </doc:doc>
     </method>
 
+    <method name="GetClients">
+      <arg name="clients" direction="out" type="ao">
+        <doc:doc>
+          <doc:summary>an array of client IDs</doc:summary>
+        </doc:doc>
+      </arg>
+      <doc:doc>
+        <doc:description>
+          <doc:para>This gets a list of all the <doc:ref type="interface" to="org.gnome.SessionManager.Client">Clients</doc:ref>
+          that are currently known to the session manager.</doc:para>
+          <doc:para>Each Client ID is an D-Bus object path for the object that implements the
+          <doc:ref type="interface" to="org.gnome.SessionManager.Client">Client</doc:ref> interface.</doc:para>
+        </doc:description>
+        <doc:seealso><doc:ref type="interface" to="org.gnome.SessionManager.Client">org.gnome.SessionManager.Client</doc:ref></doc:seealso>
+      </doc:doc>
+    </method>
+
+    <method name="GetInhibitors">
+      <arg name="inhibitors" direction="out" type="ao">
+        <doc:doc>
+          <doc:summary>an array of inhibitor IDs</doc:summary>
+        </doc:doc>
+      </arg>
+      <doc:doc>
+        <doc:description>
+          <doc:para>This gets a list of all the <doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">Inhibitors</doc:ref>
+          that are currently known to the session manager.</doc:para>
+          <doc:para>Each Inhibitor ID is an D-Bus object path for the object that implements the
+          <doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">Inhibitor</doc:ref> interface.</doc:para>
+        </doc:description>
+        <doc:seealso><doc:ref type="interface" to="org.gnome.SessionManager.Inhibitor">org.gnome.SessionManager.Inhibitor</doc:ref></doc:seealso>
+      </doc:doc>
+    </method>
+
     <method name="Shutdown">
       <doc:doc>
         <doc:description>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]