From 147ed673be25558ece329b4db5cd9fb8ecdaf981 Mon Sep 17 00:00:00 2001 From: Adrian Szyndela Date: Fri, 13 Nov 2015 12:31:35 +0100 Subject: [PATCH] added newer kdbus return flags handling Change-Id: I6ec98cc2ec82340d1f300a7d620e74a63b5b1640 --- gio/gkdbus.c | 3 +++ gio/kdbus.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/gio/gkdbus.c b/gio/gkdbus.c index 2d8171b..5533a73 100644 --- a/gio/gkdbus.c +++ b/gio/gkdbus.c @@ -838,6 +838,9 @@ _g_kdbus_RequestName (GKDBusWorker *worker, return G_BUS_REQUEST_NAME_FLAGS_ERROR; } } + else if ((cmd->return_flags & KDBUS_NAME_PRIMARY) + && !(cmd->return_flags & KDBUS_NAME_ACQUIRED)) + status = G_BUS_REQUEST_NAME_FLAGS_ALREADY_OWNER; if (cmd->return_flags & KDBUS_NAME_IN_QUEUE) status = G_BUS_REQUEST_NAME_FLAGS_IN_QUEUE; diff --git a/gio/kdbus.h b/gio/kdbus.h index ecffc6b..4fc44cb 100644 --- a/gio/kdbus.h +++ b/gio/kdbus.h @@ -854,6 +854,8 @@ enum kdbus_make_flags { * @KDBUS_NAME_QUEUE: Name should be queued if busy * @KDBUS_NAME_IN_QUEUE: Name is queued * @KDBUS_NAME_ACTIVATOR: Name is owned by a activator connection + * @KDBUS_NAME_PRIMARY: Primary owner of the name + * @KDBUS_NAME_ACQUIRED: Name was acquired/queued _now_ */ enum kdbus_name_flags { KDBUS_NAME_REPLACE_EXISTING = 1ULL << 0, @@ -861,6 +863,8 @@ enum kdbus_name_flags { KDBUS_NAME_QUEUE = 1ULL << 2, KDBUS_NAME_IN_QUEUE = 1ULL << 3, KDBUS_NAME_ACTIVATOR = 1ULL << 4, + KDBUS_NAME_PRIMARY = 1ULL << 5, + KDBUS_NAME_ACQUIRED = 1ULL << 6, }; /** -- 2.7.4