gnome-session r4867 - in branches/dbus_based: . gnome-session
- From: mccann svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-session r4867 - in branches/dbus_based: . gnome-session
- Date: Mon, 28 Jul 2008 16:25:08 +0000 (UTC)
Author: mccann
Date: Mon Jul 28 16:25:08 2008
New Revision: 4867
URL: http://svn.gnome.org/viewvc/gnome-session?rev=4867&view=rev
Log:
2008-07-28 William Jon McCann <jmccann redhat com>
* gnome-session/gsm-manager.c (inhibitor_has_flag),
(gsm_manager_is_logout_inhibited), (gsm_manager_start),
(gsm_manager_setenv), (gsm_manager_initialization_error),
(gsm_manager_is_switch_user_inhibited),
(gsm_manager_is_suspend_inhibited), (gsm_manager_shutdown),
(gsm_manager_logout), (gsm_manager_register_client),
(gsm_manager_unregister_client), (gsm_manager_inhibit),
(gsm_manager_uninhibit), (gsm_manager_is_inhibited):
* gnome-session/gsm-manager.h:
* gnome-session/gsm-manager.xml:
Export an IsInhibited method to the bus.
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/gsm-manager.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 Mon Jul 28 16:25:08 2008
@@ -543,10 +543,11 @@
GsmInhibitor *inhibitor,
gpointer data)
{
- int flag;
- int flags;
+ guint flag;
+ guint flags;
+
+ flag = GPOINTER_TO_UINT (data);
- flag = GPOINTER_TO_INT (data);
flags = gsm_inhibitor_get_flags (inhibitor);
return (flags & flag);
@@ -563,7 +564,7 @@
inhibitor = (GsmInhibitor *)gsm_store_find (manager->priv->inhibitors,
(GsmStoreFunc)inhibitor_has_flag,
- GINT_TO_POINTER (GSM_INHIBITOR_FLAG_LOGOUT));
+ GUINT_TO_POINTER (GSM_INHIBITOR_FLAG_LOGOUT));
if (inhibitor == NULL) {
return FALSE;
}
@@ -963,6 +964,8 @@
{
g_debug ("GsmManager: GSM starting to manage");
+ g_return_if_fail (GSM_IS_MANAGER (manager));
+
manager->priv->phase = GSM_MANAGER_PHASE_INITIALIZATION;
start_phase (manager);
@@ -2041,6 +2044,8 @@
const char *value,
GError **error)
{
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
if (manager->priv->phase > GSM_MANAGER_PHASE_INITIALIZATION) {
g_set_error (error,
GSM_MANAGER_ERROR,
@@ -2060,6 +2065,8 @@
gboolean fatal,
GError **error)
{
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
if (manager->priv->phase > GSM_MANAGER_PHASE_INITIALIZATION) {
g_set_error (error,
GSM_MANAGER_ERROR,
@@ -2084,7 +2091,7 @@
inhibitor = (GsmInhibitor *)gsm_store_find (manager->priv->inhibitors,
(GsmStoreFunc)inhibitor_has_flag,
- GINT_TO_POINTER (GSM_INHIBITOR_FLAG_SWITCH_USER));
+ GUINT_TO_POINTER (GSM_INHIBITOR_FLAG_SWITCH_USER));
if (inhibitor == NULL) {
return FALSE;
}
@@ -2102,7 +2109,7 @@
inhibitor = (GsmInhibitor *)gsm_store_find (manager->priv->inhibitors,
(GsmStoreFunc)inhibitor_has_flag,
- GINT_TO_POINTER (GSM_INHIBITOR_FLAG_SUSPEND));
+ GUINT_TO_POINTER (GSM_INHIBITOR_FLAG_SUSPEND));
if (inhibitor == NULL) {
return FALSE;
}
@@ -2376,6 +2383,8 @@
{
g_debug ("GsmManager: Shutdown called");
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
g_set_error (error,
GSM_MANAGER_ERROR,
@@ -2396,6 +2405,8 @@
{
g_debug ("GsmManager: Logout called");
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
if (manager->priv->phase != GSM_MANAGER_PHASE_RUNNING) {
g_set_error (error,
GSM_MANAGER_ERROR,
@@ -2435,6 +2446,8 @@
GsmClient *client;
GsmApp *app;
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
g_debug ("GsmManager: RegisterClient %s", startup_id);
if (manager->priv->phase >= GSM_MANAGER_PHASE_QUERY_END_SESSION) {
@@ -2533,6 +2546,8 @@
{
GsmClient *client;
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
g_debug ("GsmManager: UnregisterClient %s", client_id);
client = (GsmClient *)gsm_store_lookup (manager->priv->clients, client_id);
@@ -2569,6 +2584,8 @@
GsmInhibitor *inhibitor;
guint cookie;
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
g_debug ("GsmManager: Inhibit xid=%u app_id=%s reason=%s flags=%u",
toplevel_xid,
app_id,
@@ -2633,6 +2650,8 @@
{
GsmInhibitor *inhibitor;
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
g_debug ("GsmManager: Uninhibit %u", cookie);
inhibitor = (GsmInhibitor *)gsm_store_find (manager->priv->inhibitors,
@@ -2663,3 +2682,32 @@
return TRUE;
}
+
+gboolean
+gsm_manager_is_inhibited (GsmManager *manager,
+ guint flags,
+ gboolean *is_inhibited,
+ GError *error)
+{
+ GsmInhibitor *inhibitor;
+
+ g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
+
+ if (manager->priv->inhibitors == NULL
+ || gsm_store_size (manager->priv->inhibitors) == 0) {
+ *is_inhibited = FALSE;
+ return TRUE;
+ }
+
+ inhibitor = (GsmInhibitor *)gsm_store_find (manager->priv->inhibitors,
+ (GsmStoreFunc)inhibitor_has_flag,
+ GUINT_TO_POINTER (flags));
+ if (inhibitor == NULL) {
+ *is_inhibited = FALSE;
+ } else {
+ *is_inhibited = TRUE;
+ }
+
+ 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 Mon Jul 28 16:25:08 2008
@@ -135,6 +135,10 @@
gboolean gsm_manager_uninhibit (GsmManager *manager,
guint inhibit_cookie,
DBusGMethodInvocation *context);
+gboolean gsm_manager_is_inhibited (GsmManager *manager,
+ guint flags,
+ gboolean *is_inhibited,
+ GError *error);
gboolean gsm_manager_shutdown (GsmManager *manager,
GError **error);
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 16:25:08 2008
@@ -173,6 +173,28 @@
</doc:doc>
</method>
+ <method name="IsInhibited">
+ <arg type="u" name="flags" direction="in">
+ <doc:doc>
+ <doc:summary>Flags that spefify what should be inhibited</doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="b" name="is_inhibited" direction="out">
+ <doc:doc>
+ <doc:summary>Returns TRUE if any of the operations in the bitfield flags are inhibited</doc:summary>
+ </doc:doc>
+ </arg>
+ <doc:doc>
+ <doc:description>
+ <doc:para>Determine if operation(s) specified by the flags
+ are currently inhibited. Flags are same as those accepted
+ by the
+ <doc:ref type="method" to="org.gnome.SessionManager.Inhibit">Inhibit()</doc:ref>
+ method.</doc:para>
+ </doc:description>
+ </doc:doc>
+ </method>
+
<method name="Shutdown">
<doc:doc>
<doc:description>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]