#ifndef RFUREADER_H
#define RFUREADER_H

#include "RFSReader.h"

class CRFUReader :
	public CRFSReader
{
public:
	CRFUReader(CReader *Owner,CBaseCommunication *Communicator);
	virtual ~CRFUReader(void);
  virtual RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength);
	virtual CJ_RESULT BuildReaderInfo();
	
	virtual void SetHWString(char *String);
	virtual void GetProductString(uint8_t *Product);
	virtual CJ_RESULT CtSetBacklight(EBacklight eBacklight,uint32_t *Result);	
	virtual cj_ModuleInfo *FindModule(uint32_t ModuleID);
#ifdef WITH_SECODER_INFO_OVERRIDE
	virtual CJ_RESULT KTLightCall(uint8_t *sad, uint8_t *dad, uint8_t *cmd, uint16_t lenc, int32_t Lc, uint8_t *data_ptr, int32_t Le, uint8_t *response, uint16_t *lenr);
#endif
private:
	CJ_RESULT CtSetMFT(const uint8_t *const pData, uint32_t DataLen, uint32_t *Result);
	CJ_RESULT CtGetMFT(cj_MFT_Info *const pData, uint32_t *const pNumElemnts);
};

#endif

