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.

Message.h

Committer:
giovannivisentini
Date:
2015-11-24
Revision:
1:a0eeb478a45a
Parent:
0:04b82ae7aa43
Child:
4:eaf6c49a86e4

File content as of revision 1:a0eeb478a45a:

/*
 * Message.h
 *
 *  Created on: Nov 6, 2015
 *      Author: giovanni visentini
 */

#ifndef NDEFLIB_MESSAGE_H_
#define NDEFLIB_MESSAGE_H_

#include <vector>

#include "Record.h"

namespace NDefLib {

class Message {
public:
	Message(){}

	void addRecord(Record *r){
		mRecords.push_back(r);
	}

	void addRecords(const std::vector<Record*> &addList){
		mRecords.insert(mRecords.end(),addList.begin(),addList.end());
	}

	Record* getRecord(const uint32_t index){
		if(index>mRecords.size()){
			return NULL;
		}
		return mRecords[index];
	}

	uint32_t getNRecords()const{
		return mRecords.size();
	}

	uint16_t getByteLenght()const;
	uint16_t write(uint8_t *buffer)const;

	static void parseMessage(const uint8_t *const buffer,const uint8_t bufferLength,Message *mesage);

	virtual ~Message(){}
private:
	std::vector<Record*> mRecords;
};

} /* namespace NDefLib */

#endif /* NDEFLIB_MESSAGE_H_ */