summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2013-11-13 02:01:21 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2013-11-13 02:06:44 +0100
commit6f542a7fff3807252c4cbdb4407d0374215a29e8 (patch)
treed8ca87155baae5d421d2f03180048ae0123ebadd
parentcf5ed12400e0dd89d5849d27dbdde38b02752b33 (diff)
downloadneard-6f542a7fff3807252c4cbdb4407d0374215a29e8.tar.gz
neard-6f542a7fff3807252c4cbdb4407d0374215a29e8.tar.bz2
neard-6f542a7fff3807252c4cbdb4407d0374215a29e8.zip
agent: Export matching record payload from GetNDEF
Besides the record path and the complete NDEF raw data, the matching record payload is also now exported.
-rw-r--r--doc/agent-api.txt4
-rw-r--r--src/agent.c5
-rwxr-xr-xtest/ndef-agent9
3 files changed, 17 insertions, 1 deletions
diff --git a/doc/agent-api.txt b/doc/agent-api.txt
index b049ecc..33c47fa 100644
--- a/doc/agent-api.txt
+++ b/doc/agent-api.txt
@@ -156,6 +156,10 @@ Fields array{byte} NDEF
This is the raw NDEF data.
+ array{byte} Payload
+
+ This is the NDEF record payload.
+
object Record
This is a record object path.
diff --git a/src/agent.c b/src/agent.c
index d5c0b79..bbc8fdc 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -115,6 +115,8 @@ static void ndef_agent_push_records(struct near_ndef_agent *agent,
DBusMessageIter iter, dict;
DBusMessage *message;
char *path;
+ uint8_t *payload;
+ size_t payload_len;
DBG("");
@@ -130,12 +132,15 @@ static void ndef_agent_push_records(struct near_ndef_agent *agent,
return;
path = __near_ndef_record_get_path(record);
+ payload = __near_ndef_record_get_payload(record, &payload_len);
dbus_message_iter_init_append(message, &iter);
near_dbus_dict_open(&iter, &dict);
near_dbus_dict_append_basic(&dict, "Record",
DBUS_TYPE_STRING, &path);
+ near_dbus_dict_append_fixed_array(&dict, "Payload",
+ DBUS_TYPE_BYTE, &payload, payload_len);
near_dbus_dict_append_array(&dict, "NDEF",
DBUS_TYPE_BYTE, append_ndef, records);
near_dbus_dict_close(&iter, &dict);
diff --git a/test/ndef-agent b/test/ndef-agent
index 68bd270..1cfeb03 100755
--- a/test/ndef-agent
+++ b/test/ndef-agent
@@ -24,12 +24,19 @@ class NDEFAgent(dbus.service.Object):
if fields.has_key("Record"):
print "Record path %s" % (fields["Record"])
+ if fields.has_key("Payload"):
+ val = "["
+ for i in fields["Payload"]:
+ val += " 0x%x" % i
+ val += " ]"
+ print "Record payload %s" % val
+
if fields.has_key("NDEF"):
val = "["
for i in fields["NDEF"]:
val += " 0x%x" % i
val += " ]"
- print "NDEF %s" % val
+ print "Complete NDEF %s" % val
return