#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); BusUnitClient(string szClientName, string szType = ""); // TODO: 在此添加您的方法。 //内部实现设备的Open BusUnitClient& operator = (const BusUnitClient &tValue); virtual int Open(const char *pPath, int flags, DWORD timeout = INFINITE); virtual void SubscribeSelf() override; 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); };