summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2012-04-20 16:23:08 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-04-20 16:23:08 +0200
commita289448af2fd2caced579fb6949667ec8f4665cc (patch)
treea267dac72fc36e44287e0f107d4e67f518875f12 /plugins
parent12d07a6f09c0f8668455416379922f25084ffc02 (diff)
downloadneard-a289448af2fd2caced579fb6949667ec8f4665cc.tar.gz
neard-a289448af2fd2caced579fb6949667ec8f4665cc.tar.bz2
neard-a289448af2fd2caced579fb6949667ec8f4665cc.zip
npp: Parse TLVs and add records to the device structure
Diffstat (limited to 'plugins')
-rw-r--r--plugins/npp.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/npp.c b/plugins/npp.c
index fdc2ba0..9d2958f 100644
--- a/plugins/npp.c
+++ b/plugins/npp.c
@@ -57,11 +57,12 @@ static near_bool_t npp_read(int client_fd,
uint32_t adapter_idx, uint32_t target_idx,
near_tag_io_cb cb)
{
- struct near_tag *tag;
+ struct near_device *device;
struct p2p_npp_frame frame;
struct p2p_npp_ndef_entry entry;
int bytes_recv, n_ndef, i, ndef_length, total_ndef_length, err;
uint8_t *ndefs, *current_ndef;
+ GList *records;
ndefs = NULL;
total_ndef_length = 0;
@@ -123,8 +124,8 @@ static near_bool_t npp_read(int client_fd,
if (err < 0)
return FALSE;
- tag = near_tag_get_tag(adapter_idx, target_idx);
- if (tag == NULL) {
+ device = near_device_get_device(adapter_idx, target_idx);
+ if (device == NULL) {
g_free(ndefs);
return -ENOMEM;
}
@@ -132,7 +133,8 @@ static near_bool_t npp_read(int client_fd,
for (i = 0; i < total_ndef_length; i++)
DBG("NDEF[%d] 0x%x", i, ndefs[i]);
-// near_tlv_parse(tag, cb);
+ records = near_tlv_parse(ndefs, total_ndef_length);
+ near_device_add_records(device, records, cb, 0);
g_free(ndefs);