#ifndef ECA_UMDFUSBCOMM_H
#define ECA_UMDFUSBCOMM_H

#include "BaseCommunication.h"
#include "umdf.h"



class CUmdfUSBCommunication :
	public CUSBCommunication
{
public:
	CUmdfUSBCommunication(UMDF_CALLBACK* p_pcUmdfCallBack,CReader *Owner);
	virtual int Write(void *Message,uint32_t len);
	virtual int Read(void *Response,uint32_t *ResponseLen);
	virtual void SetCommunicationString(cj_ReaderInfo *ReaderInfo);
	virtual bool IsConnected();

	virtual int Open();
	virtual void Close();


public:
	virtual ~CUmdfUSBCommunication(void);
	virtual bool SetupDeviceInfo();

private:

	virtual int StartInterruptPipe();
	virtual int HaltInterruptPipe();

	UMDF_CALLBACK* m_pcUmdfCallBack;
};

#endif
