诸暨麻将添加redis
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

98 line
2.2 KiB

  1. #ifndef SERVICE_UNITS_HEAD_FILE
  2. #define SERVICE_UNITS_HEAD_FILE
  3. #pragma once
  4. #include "Stdafx.h"
  5. #include "InitParameter.h"
  6. #include "AttemperEngineSink.h"
  7. //////////////////////////////////////////////////////////////////////////////////
  8. //枚举定义
  9. //服务状态
  10. enum enServiceStatus
  11. {
  12. ServiceStatus_Stop, //停止状态
  13. ServiceStatus_Config, //配置状态
  14. ServiceStatus_Service, //服务状态
  15. };
  16. //////////////////////////////////////////////////////////////////////////////////
  17. //状态接口
  18. interface IServiceUnitsSink
  19. {
  20. //接口定义
  21. public:
  22. //服务状态
  23. virtual VOID OnServiceUnitsStatus(enServiceStatus ServiceStatus) = NULL;
  24. };
  25. //////////////////////////////////////////////////////////////////////////////////
  26. //服务单元
  27. class CServiceUnits
  28. {
  29. //状态变量
  30. protected:
  31. enServiceStatus m_ServiceStatus; //运行状态
  32. //组件变量
  33. private:
  34. CWHDataQueue m_DataQueue; //数据队列
  35. CCriticalSection m_CriticalSection; //同步对象
  36. //服务组件
  37. protected:
  38. CInitParameter m_InitParameter; //配置参数
  39. public:
  40. CAttemperEngineSink m_AttemperEngineSink; //调度钩子
  41. //内核组件
  42. protected:
  43. CTimerEngineHelper m_TimerEngine; //时间引擎
  44. CAttemperEngineHelper m_AttemperEngine; //调度引擎
  45. CTCPNetworkEngineHelper m_TCPNetworkEngine; //网络引擎
  46. //接口变量
  47. protected:
  48. IServiceUnitsSink * m_pIServiceUnitsSink; //状态接口
  49. //函数定义
  50. public:
  51. //构造函数
  52. CServiceUnits();
  53. //析构函数
  54. virtual ~CServiceUnits();
  55. //信息函数
  56. public:
  57. //获取状态
  58. enServiceStatus GetServiceStatus() { return m_ServiceStatus; }
  59. //服务控制
  60. public:
  61. //启动服务
  62. bool StartService();
  63. //停止服务
  64. bool ConcludeService();
  65. //设置接口
  66. bool SetServiceUnitsSink(IServiceUnitsSink * pIServiceUnitsSink);
  67. //辅助函数
  68. protected:
  69. //配置组件
  70. bool InitializeService();
  71. //启动内核
  72. bool StartKernelService();
  73. //内部函数
  74. private:
  75. //设置状态
  76. bool SetServiceStatus(enServiceStatus ServiceStatus);
  77. };
  78. //////////////////////////////////////////////////////////////////////////////////
  79. #endif