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!
Diff: PN532/NdefCallback.cpp
- Revision:
- 11:5be631376e5b
diff -r 2af578c635cd -r 5be631376e5b PN532/NdefCallback.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PN532/NdefCallback.cpp Wed Nov 07 18:19:09 2012 +0000 @@ -0,0 +1,46 @@ +/* + NdefCallback.cpp + Copyright (c) Donatien Garnier 2012 + donatien.garnier@appnearme.com + http://www.appnearme.com/ +*/ + +#include "NdefCallback.h" +#include "TLVList.h" + +NdefCallback::NdefCallback() +{ + +} + +void NdefCallback::init(void (*fn)(appnearme_ndef_callback, void*)) +{ + fn(staticCallback, this); +} + +void NdefCallback::attach(void (*fn)(TLVList*, void*), void* arg) +{ + m_inst = NULL; + m_fn = fn; + m_arg = arg; +} + +void NdefCallback::callback(tlv_list* payload) +{ + m_tlvList.wrap(payload); + if(m_inst) + { + m_caller(this, &m_tlvList); + } + else if(m_fn) + { + m_fn(&m_tlvList, m_arg); + } +} + +/*static*/ void NdefCallback::staticCallback(tlv_list* payload, void* param) +{ + ((NdefCallback*)(param))->callback(payload); +} + +