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
6 Change-Id: I7ab5cd5eea7b0e60b9980f15a7ba15def86ced0e
8 src/device.c | 31 +++++++++++++++++++++++++++++++
9 test/test-device | 8 ++++++--
10 2 files changed, 37 insertions(+), 2 deletions(-)
12 diff --git a/src/device.c b/src/device.c
13 index a6598e0..303e787 100644
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;
25 @@ -246,9 +248,38 @@ static gboolean property_get_adapter(const GDBusPropertyTable *property,
29 +static DBusMessage *dump_raw_ndef(DBusConnection *conn,
30 + DBusMessage *msg, void *data)
32 + struct near_device *device = data;
34 + DBusMessageIter iter, array;
38 + reply = dbus_message_new_method_return(msg);
42 + dbus_message_iter_init_append(reply, &iter);
44 + dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
45 + DBUS_TYPE_BYTE_AS_STRING,
48 + __near_ndef_append_records(&array, device->records);
50 + dbus_message_iter_close_container(&iter, &array);
55 static const GDBusMethodTable device_methods[] = {
56 { GDBUS_ASYNC_METHOD("Push", GDBUS_ARGS({"attributes", "a{sv}"}),
58 + { GDBUS_METHOD("DumpRawNDEF",
59 + NULL, GDBUS_ARGS({"NDEF", "ay"}),
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
70 bus = dbus.SystemBus()
72 -def extract_list(list):
73 +def extract_ndef(list):
81 @@ -73,6 +73,10 @@ if (sys.argv[1] == "dump"):
83 neardutils.dump_all_records(sys.argv[2])
85 + device = neardutils.find_device(sys.argv[2])
86 + raw_ndef = device.DumpRawNDEF()
87 + print " Raw NDEF = %s" % (extract_ndef(raw_ndef))
91 if (sys.argv[1] == "push"):