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 Aug 07 21:55:12 2012 +0000
Revision:
3:0b949b2d3b55
Parent:
0:480387549d89
Versioning -> Hg

Who changed what in which revision?

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