#ifndef WAVEREADER_H
#define WAVEREADER_H

#include "RFSReader.h"

class CWAVReader :
	public CRFSReader
{
public:
	CWAVReader(CReader *Owner,CBaseCommunication *Communicator);
	virtual ~CWAVReader(void);
	
	virtual CJ_RESULT CtSetBacklight(EBacklight eBacklight,uint32_t *Result);	
//	virtual CJ_RESULT CtSelfTest2(const uint8_t *TransportKey,uint8_t KeyNr);
protected:
	virtual void SetHWString(char *String);
	virtual void GetProductString(uint8_t *Product);
	virtual cj_ModuleInfo *FindModule(uint32_t ModuleID);
	virtual cj_ModuleInfo *FindModuleWithMask(uint32_t ModuleID,uint32_t Mask);
  virtual bool ATRFilter(bool IsWarm,uint8_t Slot=0);
	virtual void CompressModifyStructure(CCID_Message& Message);
#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