#pragma once #define BUSUNITCLIENT_API #include "LogicClient.h" #include "BusUnitLogic.h" // 此类是从 BusUnitClient.dll 导出的 // Bus客户端 class BUSUNITCLIENT_API BusUnitClient : public BusUnitLogic, public LogicClient { public: BusUnitClient(void); virtual ~BusUnitClient(void); // TODO: 在此添加您的方法。 //内部实现设备的Open BusUnitClient& operator = (const BusUnitClient& tValue); virtual int Open(const char* pPath, int flags, DWORD timeout = INFINITE); virtual PACKET_CMD ReadCmd(ResDataObject& CmdObject); //get device resource virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT* pDeviceResource); //ResourceCommand Request In and Response Out virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN* pRequest, ResDataObject PARAM_OUT* pResponse); //notify to lower layer //notify&response from real logic device virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN* pCmd); //Data Access virtual int AddDeviceDescrpt(const char PARAM_IN* pDevPath, const char PARAM_IN* pTargetType, const char PARAM_IN* pMachineId, UINT64 ProcId, UINT64 Addr, bool forceAdd = false); virtual int DelDeviceDescrpt(const char PARAM_IN* pDevPath); virtual int ExitDriverProc(); virtual int SetDeviceStatus(int PARAM_IN DevStatus); virtual int SetEthBusSwitch(int Switch);//设置网络EBUS开关 virtual int SetEthBusRouterIp(const char PARAM_IN* pRouterIp);//设置网络EBUS的RouterIp bool GetDeviceUsage(); virtual int ForTest(bool Flag); };