#pragma once class Logger; namespace DiosCtrlBox { class IDIOSBoardController { public: IDIOSBoardController(){} virtual ~IDIOSBoardController(){} public: virtual bool Initialize() = 0; virtual bool SetPassiveDisconnectEventHandle(HANDLE handle) = 0; virtual bool Connect(ResDataObject& Connection) = 0; virtual bool Disonnect() = 0; virtual DWORD Lock() = 0; virtual void UnLock() = 0; virtual bool Send(SCFPacket *sendPacket, SCFPacket *recvPacket) = 0; virtual int Receive(char *pPacket, DWORD length, DWORD timeout) = 0; virtual int Receive(SCFPacket *pPacket, DWORD timeout) = 0; virtual void QueNotifyPacket(SCFPacket *pPacket) = 0; }; }