#ifndef CGOREADER_H
#define CGOREADER_H

#include "EC30Reader.h"

class CCGOReader :
	public CEC30Reader
{
public:
	CCGOReader(CReader *Owner,CBaseCommunication *Communicator);
	virtual ~CCGOReader(void);
	virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result);
	virtual CJ_RESULT BuildReaderInfo();


protected:
	virtual uint16_t HostToReaderShort(uint16_t Value);
	virtual uint32_t HostToReaderLong(uint32_t Value);
	virtual void SetHWString(char *String);
	virtual void GetProductString(uint8_t *Product);
	virtual bool HastModulestoreInfo();
	virtual CJ_RESULT CtSetBacklight(EBacklight eBacklight,uint32_t *Result);	
	virtual CJ_RESULT CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result);
	virtual CJ_RESULT CtGetSilentMode(bool *pboolMode,uint32_t *Result);
	virtual CJ_RESULT SpecialLess3_0_41();
	virtual bool PinDirectSupported();
#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

	virtual CJ_RESULT CtSetMFT(const uint8_t* const pData, uint32_t DataLen, uint32_t* Result);
	virtual CJ_RESULT CtGetMFT(cj_MFT_Info* const pData, uint32_t* const pNumElemnts);

};

#endif

