meta-tizen: fix new path
[scm/bb/tizen-distro.git] / meta-tizen / meta-tizen-adaptation / meta-oe / recipes-connectivity / neard / neard / 0003-Add-raw-NDEF-support-for-P2P.patch
1 From cef95e13567c55fac4c9cf816928705d1b8b233f Mon Sep 17 00:00:00 2001
2 From: Arron Wang <arron.wang@intel.com>
3 Date: Mon, 29 Sep 2014 16:44:46 +0800
4 Subject: [PATCH 3/5] Add raw NDEF support for P2P
5
6 Change-Id: I7ab5cd5eea7b0e60b9980f15a7ba15def86ced0e
7 ---
8  src/device.c     | 31 +++++++++++++++++++++++++++++++
9  test/test-device |  8 ++++++--
10  2 files changed, 37 insertions(+), 2 deletions(-)
11
12 diff --git a/src/device.c b/src/device.c
13 index a6598e0..303e787 100644
14 --- a/src/device.c
15 +++ b/src/device.c
16 @@ -173,6 +173,8 @@ static char *sn_from_message(DBusMessage *msg)
17                                 return NEAR_DEVICE_SN_HANDOVER;
18                         else if (g_strcmp0(value, "MIME") == 0)
19                                 return NEAR_DEVICE_SN_SNEP;
20 +                       else if (g_strcmp0(value, "Raw") == 0)
21 +                               return NEAR_DEVICE_SN_SNEP;
22                         else
23                                 return NULL;
24  
25 @@ -246,9 +248,38 @@ static gboolean property_get_adapter(const GDBusPropertyTable *property,
26  
27  }
28  
29 +static DBusMessage *dump_raw_ndef(DBusConnection *conn,
30 +                               DBusMessage *msg, void *data)
31 +{
32 +       struct near_device *device = data;
33 +       DBusMessage *reply;
34 +       DBusMessageIter iter, array;
35 +
36 +       DBG("");
37 +
38 +       reply = dbus_message_new_method_return(msg);
39 +       if (reply == NULL)
40 +               return NULL;
41 +
42 +       dbus_message_iter_init_append(reply, &iter);
43 +
44 +       dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
45 +                                               DBUS_TYPE_BYTE_AS_STRING,
46 +                                               &array);
47 +
48 +       __near_ndef_append_records(&array, device->records);
49 +
50 +       dbus_message_iter_close_container(&iter, &array);
51 +
52 +       return reply;
53 +}
54 +
55  static const GDBusMethodTable device_methods[] = {
56         { GDBUS_ASYNC_METHOD("Push", GDBUS_ARGS({"attributes", "a{sv}"}),
57                                                         NULL, push_ndef) },
58 +       { GDBUS_METHOD("DumpRawNDEF",
59 +                               NULL, GDBUS_ARGS({"NDEF", "ay"}),
60 +                               dump_raw_ndef) },
61         { },
62  };
63  
64 diff --git a/test/test-device b/test/test-device
65 index a4923fb..226408f 100755
66 --- a/test/test-device
67 +++ b/test/test-device
68 @@ -6,10 +6,10 @@ import neardutils
69  
70  bus = dbus.SystemBus()
71  
72 -def extract_list(list):
73 +def extract_ndef(list):
74         val = "["
75         for i in list:
76 -               val += " " + str(i)
77 +               val += " 0x%x" % i
78         val += " ]"
79         return val
80  
81 @@ -73,6 +73,10 @@ if (sys.argv[1] == "dump"):
82         else:
83                 neardutils.dump_all_records(sys.argv[2])
84  
85 +               device = neardutils.find_device(sys.argv[2])
86 +               raw_ndef = device.DumpRawNDEF()
87 +               print "        Raw NDEF = %s" % (extract_ndef(raw_ndef))
88 +
89                 sys.exit(0)
90  
91  if (sys.argv[1] == "push"):
92 -- 
93 1.8.1.4
94