From 6ad7516f69f08c9c5e30332f95b50c0dd0cd1cb1 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Wed, 23 Jan 2008 11:04:23 -0500 Subject: add GetSessions method to Manager interface --- src/ck-manager.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/ck-manager.c') diff --git a/src/ck-manager.c b/src/ck-manager.c index 9771d30..156ea93 100644 --- a/src/ck-manager.c +++ b/src/ck-manager.c @@ -2411,6 +2411,31 @@ ck_manager_get_seats (CkManager *manager, return TRUE; } +static void +listify_session_ids (char *id, + CkSession *session, + GPtrArray **array) +{ + g_ptr_array_add (*array, g_strdup (id)); +} + +gboolean +ck_manager_get_sessions (CkManager *manager, + GPtrArray **sessions, + GError **error) +{ + g_return_val_if_fail (CK_IS_MANAGER (manager), FALSE); + + if (sessions == NULL) { + return FALSE; + } + + *sessions = g_ptr_array_new (); + g_hash_table_foreach (manager->priv->sessions, (GHFunc)listify_session_ids, sessions); + + return TRUE; +} + static void add_seat_for_file (CkManager *manager, const char *filename) -- cgit