From d68d521d9426da82e835b4942dfa11eddf51ca2a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 4 Feb 2010 23:14:16 -0500 Subject: [PATCH 10/22] Add cookie generation This will be used to generate unique cookies for inhibitors. --- src/ck-manager.c | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/src/ck-manager.c b/src/ck-manager.c index 8002c67..71079c6 100644 --- a/src/ck-manager.c +++ b/src/ck-manager.c @@ -1609,6 +1609,28 @@ ck_manager_get_system_idle_since_hint (CkManager *manager, return TRUE; } +static guint32 +generate_cookie (void) +{ + guint32 cookie; + + cookie = (guint32)g_random_int_range (1, G_MAXINT32); + + return cookie; +} + +static guint32 +generate_unique_inhibitor_cookie (CkManager *manager) +{ + guint32 cookie; + + do { + cookie = generate_cookie (); + } while (g_hash_table_lookup (manager->priv->inhibitors, GINT_TO_POINTER (cookie)) != NULL); + + return cookie; +} + static void open_session_for_leader (CkManager *manager, CkSessionLeader *leader, -- 1.6.6