From 7d167e65868cb2aa40273ee8ccd33cca5968438b Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Mon, 22 Oct 2007 21:23:08 -0400 Subject: dump session leader info --- src/ck-manager.c | 9 +++++++++ src/ck-session-leader.c | 15 ++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/ck-manager.c b/src/ck-manager.c index 396980c..5c77547 100644 --- a/src/ck-manager.c +++ b/src/ck-manager.c @@ -106,6 +106,14 @@ dump_state_session_iter (char *id, ck_session_dump (session, key_file); } +static void +dump_state_leader_iter (char *id, + CkSessionLeader *leader, + GKeyFile *key_file) +{ + ck_session_leader_dump (leader, key_file); +} + static gboolean do_dump (CkManager *manager, int fd) @@ -124,6 +132,7 @@ do_dump (CkManager *manager, g_hash_table_foreach (manager->priv->seats, (GHFunc) dump_state_seat_iter, key_file); g_hash_table_foreach (manager->priv->sessions, (GHFunc) dump_state_session_iter, key_file); + g_hash_table_foreach (manager->priv->leaders, (GHFunc) dump_state_leader_iter, key_file); str = g_key_file_to_data (key_file, &str_len, &error); g_key_file_free (key_file); diff --git a/src/ck-session-leader.c b/src/ck-session-leader.c index d9bb375..756feac 100644 --- a/src/ck-session-leader.c +++ b/src/ck-session-leader.c @@ -50,14 +50,14 @@ struct CkSessionLeaderPrivate { - gboolean cancelled; - + char *id; uid_t uid; pid_t pid; char *service_name; char *session_id; char *cookie; GList *pending_jobs; + gboolean cancelled; }; enum { @@ -554,5 +554,14 @@ void ck_session_leader_dump (CkSessionLeader *session_leader, GKeyFile *key_file) { -} + char *group_name; + + group_name = g_strdup_printf ("SessionLeader %s", session_leader->priv->session_id); + g_key_file_set_string (key_file, group_name, "session", session_leader->priv->session_id); + g_key_file_set_integer (key_file, group_name, "uid", session_leader->priv->uid); + g_key_file_set_integer (key_file, group_name, "pid", session_leader->priv->pid); + g_key_file_set_string (key_file, group_name, "cookie", session_leader->priv->cookie); + g_key_file_set_string (key_file, group_name, "service_name", session_leader->priv->service_name); + g_free (group_name); +} -- cgit