中航光电的中间件仓库

DevResource.h 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*************************************************************************
  2. 【文件名】 DevResource.h
  3. 【功能模块和目的】 设备资源抽象基类头文件
  4. 【开发者及日期】 郑石诺 2015/04/08
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. class CChannelResource;
  11. /*************************************************************************
  12. 【类名】 CDevResource
  13. 【功能】
  14. 【接口说明】 设备资源抽象基类
  15. 【开发者及日期】 郑石诺 2015/04/08
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CDevResource
  21. {
  22. public:
  23. CDevResource(DEV_RES_NO_TYPE NodeNo, DEV_RES_NO_TYPE BoardNo);
  24. virtual ~CDevResource(void) = 0 {}
  25. // 属性接口
  26. DEV_RES_NO_TYPE nodeNo(void) const { return m_NodeNo; }
  27. DEV_RES_NO_TYPE boardNo(void) const { return m_BoardNo; }
  28. UINT state(void) const { return m_state; }
  29. UINT& state(void) { return m_state; }
  30. int capacity(void) const { return m_Capacity; }
  31. int& capacity(void) { return m_Capacity; }
  32. virtual int channelCount(void) const = 0;
  33. virtual bool isOk(void) const = 0;
  34. // 控制接口
  35. virtual bool open(void) = 0;
  36. virtual void close(void) = 0;
  37. protected:
  38. DEV_RES_NO_TYPE m_NodeNo;
  39. DEV_RES_NO_TYPE m_BoardNo;
  40. UINT m_state;
  41. int m_Capacity;
  42. CCriticalSection m_LockSection; // 互斥对象监界区
  43. };