AppNearMe µNFC stack for the NXP PN532 chip License: You can use the stack free of charge to prototype with mbed; if you want to use the stack with your commercial product, get in touch!

Dependents:   IOT_sensor_nfc AppNearMe_MuNFC_PN532_Test p2p_nfc_test NFCMoodLamp ... more

License

You can use the stack free of charge to prototype with mbed; if you want to use the stack with your commercial product, get in touch!

Committer:
AppNearMe
Date:
Tue Jan 15 15:34:39 2013 +0000
Revision:
13:6f98851e025b
Parent:
11:5be631376e5b
renamed rtos.h to platform_rtos.h to prevent insludes mess

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AppNearMe 11:5be631376e5b 1 /*
AppNearMe 11:5be631376e5b 2 NdefCallback.cpp
AppNearMe 11:5be631376e5b 3 Copyright (c) Donatien Garnier 2012
AppNearMe 11:5be631376e5b 4 donatien.garnier@appnearme.com
AppNearMe 11:5be631376e5b 5 http://www.appnearme.com/
AppNearMe 11:5be631376e5b 6 */
AppNearMe 11:5be631376e5b 7
AppNearMe 11:5be631376e5b 8 #include "NdefCallback.h"
AppNearMe 11:5be631376e5b 9 #include "TLVList.h"
AppNearMe 11:5be631376e5b 10
AppNearMe 11:5be631376e5b 11 NdefCallback::NdefCallback()
AppNearMe 11:5be631376e5b 12 {
AppNearMe 11:5be631376e5b 13
AppNearMe 11:5be631376e5b 14 }
AppNearMe 11:5be631376e5b 15
AppNearMe 11:5be631376e5b 16 void NdefCallback::init(void (*fn)(appnearme_ndef_callback, void*))
AppNearMe 11:5be631376e5b 17 {
AppNearMe 11:5be631376e5b 18 fn(staticCallback, this);
AppNearMe 11:5be631376e5b 19 }
AppNearMe 11:5be631376e5b 20
AppNearMe 11:5be631376e5b 21 void NdefCallback::attach(void (*fn)(TLVList*, void*), void* arg)
AppNearMe 11:5be631376e5b 22 {
AppNearMe 11:5be631376e5b 23 m_inst = NULL;
AppNearMe 11:5be631376e5b 24 m_fn = fn;
AppNearMe 11:5be631376e5b 25 m_arg = arg;
AppNearMe 11:5be631376e5b 26 }
AppNearMe 11:5be631376e5b 27
AppNearMe 11:5be631376e5b 28 void NdefCallback::callback(tlv_list* payload)
AppNearMe 11:5be631376e5b 29 {
AppNearMe 11:5be631376e5b 30 m_tlvList.wrap(payload);
AppNearMe 11:5be631376e5b 31 if(m_inst)
AppNearMe 11:5be631376e5b 32 {
AppNearMe 11:5be631376e5b 33 m_caller(this, &m_tlvList);
AppNearMe 11:5be631376e5b 34 }
AppNearMe 11:5be631376e5b 35 else if(m_fn)
AppNearMe 11:5be631376e5b 36 {
AppNearMe 11:5be631376e5b 37 m_fn(&m_tlvList, m_arg);
AppNearMe 11:5be631376e5b 38 }
AppNearMe 11:5be631376e5b 39 }
AppNearMe 11:5be631376e5b 40
AppNearMe 11:5be631376e5b 41 /*static*/ void NdefCallback::staticCallback(tlv_list* payload, void* param)
AppNearMe 11:5be631376e5b 42 {
AppNearMe 11:5be631376e5b 43 ((NdefCallback*)(param))->callback(payload);
AppNearMe 11:5be631376e5b 44 }
AppNearMe 11:5be631376e5b 45
AppNearMe 11:5be631376e5b 46