#ifndef WICREADER_H
#define WICREADER_H

#include "WAVReader.h"

class CWICReader :
	public CWAVReader
{
public:
	CWICReader(CReader *Owner, CBaseCommunication *Communicator);
	virtual ~CWICReader(void);
	virtual int cjccid_SecureMV(uint8_t Timeout,
		uint8_t PinPosition, uint8_t PinType,
		uint8_t PinLengthSize, uint8_t PinLength,
		uint8_t PinLengthPosition,
		uint8_t Min, uint8_t Max,
		uint8_t bConfirmPIN,
		uint8_t Condition, uint8_t *Prologue,
		uint8_t OffsetOld, uint8_t OffsetNew,
		uint8_t *out, int out_len, uint8_t *in, int *in_len, int TextCount, uint8_t *Text[3], uint8_t Textlen[3], uint8_t bMessageIndex[3], uint8_t bNumberMessage, uint8_t *pDiversifier, uint8_t Slot = 0);
	virtual int cjccid_SecurePV(uint8_t Timeout,
	//virtual int CWICReader::cjccid_SecurePV(uint8_t Timeout,
		uint8_t PinPosition, uint8_t PinType,
		uint8_t PinLengthSize, uint8_t PinLength,
		uint8_t PinLengthPosition,
		uint8_t Min, uint8_t Max,
		uint8_t Condition, uint8_t *Prologue,
		uint8_t *out, int out_len, uint8_t *in, int *in_len, uint8_t *Text, uint8_t Textlen, uint8_t bMessageIndex, uint8_t bNumberMessage, uint8_t Slot = 0);

protected:
	virtual cj_ModuleInfo *FindModule(uint32_t ModuleID);
	virtual cj_ModuleInfo *FindModuleWithMask(uint32_t ModuleID, uint32_t Mask);
	virtual bool HasDiversifier();

};

#endif
