IDIOSBoardController.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. class SimpleLog;
  3. using namespace DIOS::Dev::Communication;
  4. using namespace DIOS::Dev::Communication::Detail;
  5. namespace DIOS::Dev::Detail::MachineryECOM
  6. {
  7. class IDIOSBoardController
  8. {
  9. public:
  10. IDIOSBoardController(){}
  11. virtual ~IDIOSBoardController(){}
  12. public:
  13. virtual bool Initialize(SCF* pSCF) = 0;
  14. virtual bool SetPassiveDisconnectEventHandle(HANDLE handle) = 0;
  15. virtual bool Connect(ResDataObject& Connection) = 0;
  16. virtual bool Disonnect() = 0;
  17. virtual DWORD Lock() = 0;
  18. virtual void UnLock() = 0;
  19. virtual bool Send(SCFPacket *sendPacket, SCFPacket *recvPacket) = 0;
  20. virtual bool ReceiveACK(SCFPacket* sendPacket, SCFPacket* recvPacket, char* pszContext, unsigned int &PacketLen) = 0;
  21. virtual bool ReceiveFrame(SCFPacket* sendPacket, SCFPacket* recvPacket, FUNCTIONID Id, unsigned char FrameCmd, char* pszContext, unsigned int PacketLen, unsigned int& nDataLen) = 0;
  22. //virtual bool ReceiveCANFrame(SCFPacket* sendPacket, SCFPacket* recvPacket, CAN_ID Id, unsigned short stdid, CAN_PARAM& params) = 0;
  23. //virtual int Receive(char *pPacket, DWORD length, DWORD timeout) = 0;
  24. //virtual int Receive(SCFPacket *pPacket, DWORD timeout) = 0;
  25. virtual void QueNotifyPacket(SCFPacket *pPacket) = 0;
  26. };
  27. }