gnome-session r4866 - in branches/dbus_based: . doc/dbus gnome-session
- From: mccann svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-session r4866 - in branches/dbus_based: . doc/dbus gnome-session
- Date: Mon, 28 Jul 2008 15:59:40 +0000 (UTC)
Author: mccann
Date: Mon Jul 28 15:59:40 2008
New Revision: 4866
URL: http://svn.gnome.org/viewvc/gnome-session?rev=4866&view=rev
Log:
2008-07-28 William Jon McCann <jmccann redhat com>
* doc/dbus/Makefile.am:
* gnome-session/gsm-manager.c (on_store_client_added),
(on_store_client_removed), (gsm_manager_set_client_store),
(gsm_manager_class_init), (on_store_inhibitor_added),
(on_store_inhibitor_removed), (gsm_manager_init):
* gnome-session/gsm-manager.h:
* gnome-session/gsm-manager.xml:
Add signals for client and inhibitor add/remove.
Modified:
branches/dbus_based/ChangeLog
branches/dbus_based/doc/dbus/Makefile.am
branches/dbus_based/gnome-session/gsm-manager.c
branches/dbus_based/gnome-session/gsm-manager.h
branches/dbus_based/gnome-session/gsm-manager.xml
Modified: branches/dbus_based/doc/dbus/Makefile.am
==============================================================================
--- branches/dbus_based/doc/dbus/Makefile.am (original)
+++ branches/dbus_based/doc/dbus/Makefile.am Mon Jul 28 15:59:40 2008
@@ -21,13 +21,13 @@
all : org.gnome.SessionManager.ref.xml org.gnome.SessionManager.Client.ref.xml org.gnome.SessionManager.DBusClient.ref.xml org.gnome.SessionManager.Inhibitor.ref.xml
org.gnome.SessionManager.ref.xml : $(top_srcdir)/gnome-session/gsm-manager.xml spec-to-docbook.xsl
- $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@
+ $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 > $@
org.gnome.SessionManager.Client.ref.xml : $(top_srcdir)/gnome-session/gsm-client.xml spec-to-docbook.xsl
- $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@
+ $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 > $@
org.gnome.SessionManager.DBusClient.ref.xml : $(top_srcdir)/gnome-session/gsm-dbus-client.xml spec-to-docbook.xsl
- $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@
+ $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 > $@
org.gnome.SessionManager.Inhibitor.ref.xml : $(top_srcdir)/gnome-session/gsm-inhibitor.xml spec-to-docbook.xsl
- $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@
+ $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 > $@
EXTRA_DIST = \
spec-to-docbook.xsl \
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 Mon Jul 28 15:59:40 2008
@@ -109,6 +109,10 @@
enum {
PHASE_CHANGED,
+ CLIENT_ADDED,
+ CLIENT_REMOVED,
+ INHIBITOR_ADDED,
+ INHIBITOR_REMOVED,
SESSION_RUNNING,
SESSION_OVER,
LAST_SIGNAL
@@ -1449,10 +1453,21 @@
G_CALLBACK (on_client_end_session_response),
manager);
+ g_signal_emit (manager, signals [CLIENT_ADDED], 0, id);
/* FIXME: disconnect signal handler */
}
static void
+on_store_client_removed (GsmStore *store,
+ const char *id,
+ GsmManager *manager)
+{
+ g_debug ("GsmManager: Client removed: %s", id);
+
+ g_signal_emit (manager, signals [CLIENT_REMOVED], 0, id);
+}
+
+static void
gsm_manager_set_client_store (GsmManager *manager,
GsmStore *store)
{
@@ -1466,6 +1481,9 @@
g_signal_handlers_disconnect_by_func (manager->priv->clients,
on_store_client_added,
manager);
+ g_signal_handlers_disconnect_by_func (manager->priv->clients,
+ on_store_client_removed,
+ manager);
g_object_unref (manager->priv->clients);
}
@@ -1480,6 +1498,10 @@
"added",
G_CALLBACK (on_store_client_added),
manager);
+ g_signal_connect (manager->priv->clients,
+ "removed",
+ G_CALLBACK (on_store_client_removed),
+ manager);
}
}
@@ -1858,6 +1880,46 @@
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0);
+ signals [CLIENT_ADDED] =
+ g_signal_new ("client-added",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmManagerClass, client_added),
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE,
+ 1, DBUS_TYPE_G_OBJECT_PATH);
+ signals [CLIENT_REMOVED] =
+ g_signal_new ("client-removed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmManagerClass, client_removed),
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE,
+ 1, DBUS_TYPE_G_OBJECT_PATH);
+ signals [INHIBITOR_ADDED] =
+ g_signal_new ("inhibitor-added",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmManagerClass, inhibitor_added),
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE,
+ 1, DBUS_TYPE_G_OBJECT_PATH);
+ signals [INHIBITOR_REMOVED] =
+ g_signal_new ("inhibitor-removed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GsmManagerClass, inhibitor_removed),
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_NONE,
+ 1, DBUS_TYPE_G_OBJECT_PATH);
g_object_class_install_property (object_class,
PROP_FAILSAFE,
@@ -1881,6 +1943,24 @@
}
static void
+on_store_inhibitor_added (GsmStore *store,
+ const char *id,
+ GsmManager *manager)
+{
+ g_debug ("GsmManager: Inhibitor added: %s", id);
+ g_signal_emit (manager, signals [INHIBITOR_ADDED], 0, id);
+}
+
+static void
+on_store_inhibitor_removed (GsmStore *store,
+ const char *id,
+ GsmManager *manager)
+{
+ g_debug ("GsmManager: Inhibitor removed: %s", id);
+ g_signal_emit (manager, signals [INHIBITOR_REMOVED], 0, id);
+}
+
+static void
gsm_manager_init (GsmManager *manager)
{
@@ -1892,6 +1972,14 @@
g_object_unref);
manager->priv->inhibitors = gsm_store_new ();
+ g_signal_connect (manager->priv->inhibitors,
+ "added",
+ G_CALLBACK (on_store_inhibitor_added),
+ manager);
+ g_signal_connect (manager->priv->inhibitors,
+ "removed",
+ G_CALLBACK (on_store_inhibitor_removed),
+ manager);
}
static void
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 Mon Jul 28 15:59:40 2008
@@ -59,6 +59,10 @@
const char *id);
void (* client_removed) (GsmManager *manager,
const char *id);
+ void (* inhibitor_added) (GsmManager *manager,
+ const char *id);
+ void (* inhibitor_removed) (GsmManager *manager,
+ const char *id);
} GsmManagerClass;
typedef enum {
Modified: branches/dbus_based/gnome-session/gsm-manager.xml
==============================================================================
--- branches/dbus_based/gnome-session/gsm-manager.xml (original)
+++ branches/dbus_based/gnome-session/gsm-manager.xml Mon Jul 28 15:59:40 2008
@@ -214,6 +214,60 @@
<!-- Signals -->
+ <signal name="ClientAdded">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the added client</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when a client has been added to the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="ClientRemoved">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the removed client</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when a client has been removed from the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
+ <signal name="InhibitorAdded">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the added inhibitor</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when an inhibitor has been added to the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+ <signal name="InhibitorRemoved">
+ <arg name="id" type="o">
+ <doc:doc>
+ <doc:summary>The object path for the removed inhibitor</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Emitted when an inhibitor has been removed from the session manager.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ </signal>
+
<signal name="SessionRunning">
<doc:doc>
<doc:description>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]