Utility library to read and write Ndef messages from/to a Type4 NFC tag

Dependents:   NFC M2M_2016_STM32 MyongjiElec_capstone1 IDW01M1_Cloud_IBM ... more

Fork of NDefLib by ST Expansion SW Team

NDEF NFC library

This library provides an abstract API to create NDEF formatted messages and records and to read/write them from/to a Type4 NFC Tag.

Implementations

At the moment, the NDEF API is implemented by X_NUCLEO_NFC01A1 and X_NUCLEO_NFC02A1 Dynamic NFC Tag libraries respectively driving the X-NUCLEO-NFC01A1 and X-NUCLEO-NFC02A1 boards.

Committer:
giovannivisentini
Date:
Tue Nov 24 14:33:06 2015 +0000
Revision:
1:a0eeb478a45a
Parent:
0:04b82ae7aa43
Child:
4:eaf6c49a86e4
implement tag reading

Who changed what in which revision?

UserRevisionLine numberNew contents of line
giovannivisentini 0:04b82ae7aa43 1 /*
giovannivisentini 0:04b82ae7aa43 2 * RecordMail.h
giovannivisentini 0:04b82ae7aa43 3 *
giovannivisentini 0:04b82ae7aa43 4 * Created on: Nov 17, 2015
giovannivisentini 0:04b82ae7aa43 5 * Author: giovanni visentini
giovannivisentini 0:04b82ae7aa43 6 */
giovannivisentini 0:04b82ae7aa43 7
giovannivisentini 1:a0eeb478a45a 8 #ifndef NDEFLIB_RECORDTYPE_RECORDMAIL_H_s
giovannivisentini 0:04b82ae7aa43 9 #define NDEFLIB_RECORDTYPE_RECORDMAIL_H_
giovannivisentini 0:04b82ae7aa43 10
giovannivisentini 1:a0eeb478a45a 11 #include "RecordURI.h"
giovannivisentini 0:04b82ae7aa43 12
giovannivisentini 0:04b82ae7aa43 13 namespace NDefLib {
giovannivisentini 0:04b82ae7aa43 14
giovannivisentini 1:a0eeb478a45a 15 class RecordMail: public RecordURI {
giovannivisentini 1:a0eeb478a45a 16
giovannivisentini 1:a0eeb478a45a 17
giovannivisentini 0:04b82ae7aa43 18 public:
giovannivisentini 1:a0eeb478a45a 19 static RecordMail* parse(const Record::RecordHeader &header,const uint8_t* buffer);
giovannivisentini 1:a0eeb478a45a 20
giovannivisentini 0:04b82ae7aa43 21 RecordMail(const std::string &dest,const std::string &subject, const std::string &msg):
giovannivisentini 1:a0eeb478a45a 22 RecordURI(RecordURI::MAIL,dest+sSubjectTag+subject+sBodyTag+msg),
giovannivisentini 1:a0eeb478a45a 23 mDest(dest),mSubject(subject),mBody(msg){};
giovannivisentini 0:04b82ae7aa43 24 virtual ~RecordMail(){};
giovannivisentini 0:04b82ae7aa43 25
giovannivisentini 1:a0eeb478a45a 26 const std::string& getDest()const{
giovannivisentini 1:a0eeb478a45a 27 return mDest;
giovannivisentini 1:a0eeb478a45a 28 }
giovannivisentini 1:a0eeb478a45a 29
giovannivisentini 1:a0eeb478a45a 30 const std::string& getSubject()const{
giovannivisentini 1:a0eeb478a45a 31 return mSubject;
giovannivisentini 1:a0eeb478a45a 32 }
giovannivisentini 1:a0eeb478a45a 33
giovannivisentini 1:a0eeb478a45a 34 const std::string& getBody()const{
giovannivisentini 1:a0eeb478a45a 35 return mBody;
giovannivisentini 1:a0eeb478a45a 36 }
giovannivisentini 1:a0eeb478a45a 37
giovannivisentini 1:a0eeb478a45a 38 virtual RecordType_t getType()const{
giovannivisentini 1:a0eeb478a45a 39 return TYPE_URI_MAIL;
giovannivisentini 1:a0eeb478a45a 40 }//getType
giovannivisentini 1:a0eeb478a45a 41
giovannivisentini 0:04b82ae7aa43 42 private:
giovannivisentini 0:04b82ae7aa43 43
giovannivisentini 1:a0eeb478a45a 44 const std::string mDest;
giovannivisentini 1:a0eeb478a45a 45 const std::string mSubject;
giovannivisentini 1:a0eeb478a45a 46 const std::string mBody;
giovannivisentini 1:a0eeb478a45a 47
giovannivisentini 1:a0eeb478a45a 48 static const std::string sSubjectTag;
giovannivisentini 1:a0eeb478a45a 49 static const std::string sBodyTag;
giovannivisentini 0:04b82ae7aa43 50 };
giovannivisentini 0:04b82ae7aa43 51
giovannivisentini 0:04b82ae7aa43 52 } /* namespace NDefLib */
giovannivisentini 0:04b82ae7aa43 53
giovannivisentini 0:04b82ae7aa43 54 #endif /* NDEFLIB_RECORDTYPE_RECORDMAIL_H_ */