meta-oe: fix refactor to a better layout
[scm/bb/meta-tizen.git] / meta-tizen-adaptation / meta-oe / recipes-connectivity / connman / connman / 0026-multi-user-Add-function-to-get-dbus-user-id-synchron.patch
1 From 113ccd0ca92ab8fe8a6e6c2db190cbcbeebe912d Mon Sep 17 00:00:00 2001
2 From: Zhang zhengguang <zhengguang.zhang@intel.com>
3 Date: Sat, 11 Oct 2014 15:06:14 +0800
4 Subject: [PATCH 26/32] multi-user: Add function to get dbus user id
5  synchronously
6
7 Change-Id: Ic41643e5f8b6e1a28ce00e0456d961fe2de7a7fb
8 ---
9  include/dbus.h |  4 ++++
10  src/dbus.c     | 25 +++++++++++++++++++++++++
11  2 files changed, 29 insertions(+)
12
13 diff --git a/include/dbus.h b/include/dbus.h
14 index 26f94d6..3087fe4 100644
15 --- a/include/dbus.h
16 +++ b/include/dbus.h
17 @@ -180,6 +180,10 @@ int connman_dbus_get_connection_unix_user(DBusConnection *connection,
18                                 connman_dbus_get_connection_unix_user_cb_t func,
19                                 void *user_data);
20  
21 +int connman_dbus_get_connection_unix_user_sync(DBusConnection *connection,
22 +                               const char *bus_name,
23 +                               unsigned int *user_id);
24 +
25  typedef void (* connman_dbus_get_context_cb_t) (const unsigned char *context,
26                                                 void *user_data, int err);
27  
28 diff --git a/src/dbus.c b/src/dbus.c
29 index d80a46c..260cec6 100644
30 --- a/src/dbus.c
31 +++ b/src/dbus.c
32 @@ -524,6 +524,31 @@ err:
33         return err;
34  }
35  
36 +int connman_dbus_get_connection_unix_user_sync(DBusConnection *connection,
37 +                                               const char *bus_name,
38 +                                               unsigned int *user_id)
39 +{
40 +       unsigned long uid;
41 +       DBusError err;
42 +
43 +       dbus_error_init(&err);
44 +
45 +       uid = dbus_bus_get_unix_user(connection, bus_name, &err);
46 +
47 +       if (uid == (unsigned long)-1) {
48 +               DBG("Can not get unix user ID!");
49 +               if (dbus_error_is_set(&err)) {
50 +                       DBG("%s", err.message);
51 +                       dbus_error_free(&err);
52 +               }
53 +               return -1;
54 +       }
55 +
56 +       *user_id = (unsigned int)uid;
57 +
58 +       return 0;
59 +}
60 +
61  static unsigned char *parse_context(DBusMessage *msg)
62  {
63         DBusMessageIter iter, array;
64 -- 
65 1.8.1.4
66