WheelClient.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #pragma once
  2. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  3. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 WHEELCLIENT_EXPORTS
  4. // 符号编译的。在使用此 DLL 的
  5. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  6. // WHEELCLIENT_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  7. // 符号视为是被导出的。
  8. #ifndef WHEELCLIENT_EXPORTS
  9. #ifdef _WIN64
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "WheelClientX64D.lib")
  12. #else
  13. #pragma comment(lib, "WheelClientX64.lib")
  14. #endif
  15. #else
  16. #ifdef _DEBUG
  17. #pragma comment(lib, "WheelClientD.lib")
  18. #else
  19. #pragma comment(lib, "WheelClient.lib")
  20. #endif
  21. #endif
  22. #endif
  23. #ifdef WHEELCLIENT_EXPORTS
  24. #define WHEELCLIENT_API __declspec(dllexport)
  25. #else
  26. #define WHEELCLIENT_API __declspec(dllimport)
  27. #endif
  28. // 此类是从 WheelClient.dll 导出的
  29. #include "LogicClient.h"
  30. #include "WheelUnitLogic.h"
  31. class WHEELCLIENT_API WheelUnitLogicClient : public WheelUnitLogic, public LogicClient
  32. {
  33. public:
  34. WheelUnitLogicClient(void);
  35. virtual ~WheelUnitLogicClient(void);
  36. //内部实现设备的Open
  37. WheelUnitLogicClient& operator = (WheelUnitLogicClient &tValue);
  38. virtual PACKET_CMD ReadCmd(ResDataObject &CmdObject);
  39. virtual int Open(const char *pPath, int flags, DWORD timeout = INFINITE);
  40. //get device resource
  41. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  42. //ResourceCommand Request In and Response Out
  43. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  44. //notify to lower layer
  45. //notify&response from real logic device
  46. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  47. //Data Access
  48. virtual int DATA_ACTION GetStatus(bool PARAM_OUT &status);
  49. virtual int DATA_ACTION SetStatus(bool PARAM_IN status);
  50. //Actions
  51. virtual int DEVICE_ACTION StartRoll();
  52. virtual int DEVICE_ACTION StopRoll();
  53. virtual bool DEVICE_SUPPORT Support_GetStatus();
  54. virtual bool DEVICE_SUPPORT Support_SetStatus();
  55. virtual bool DEVICE_SUPPORT Support_StartRoll();
  56. virtual bool DEVICE_SUPPORT Support_StopRoll();
  57. int SYSTEM_CALL GetLocalStatus(bool PARAM_OUT &status);
  58. };