mod_sensors.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef __MOD_SENSORS_H
  2. #define __MOD_SENSORS_H
  3. #pragma once
  4. #include "stdafx.h"
  5. #include "Sensors_server_g.h"
  6. using namespace Sensors;
  7. #include "SensorsFSM.h"
  8. #include <map>
  9. using namespace std;
  10. // sensortestMFCDlg.h : header file
  11. //
  12. #pragma once
  13. class CSensorsEntity;
  14. class SensorsServerSession : public SensorsService_ServerSessionBase
  15. {
  16. public:
  17. SensorsServerSession(CSensorsEntity *pEntity){ m_pEntity = pEntity;}
  18. virtual ~SensorsServerSession(){}
  19. virtual void Handle_GetSensorsType(SpReqAnsContext<SensorsService_GetSensorsType_Req, SensorsService_GetSensorsType_Ans>::Pointer ctx);
  20. virtual void Handle_GetDevInfo(SpReqAnsContext<SensorsService_GetDevInfo_Req, SensorsService_GetDevInfo_Ans>::Pointer ctx);
  21. private:
  22. CSensorsEntity *m_pEntity;
  23. };
  24. class CSensorsEntity : public CEntityBase
  25. {
  26. public:
  27. CSensorsEntity(){}
  28. virtual ~CSensorsEntity(){}
  29. virtual const char *GetEntityName() const { return "Sensors"; }
  30. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext)
  31. {
  32. m_fsm.Init(this);
  33. pTransactionContext->SendAnswer(Error_Succeed);
  34. }
  35. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext)
  36. {
  37. pTransactionContext->SendAnswer(Error_Succeed);
  38. }
  39. virtual void OnPrePause(CSmartPointer<ITransactionContext> pTransactionContext)
  40. {
  41. pTransactionContext->SendAnswer(Error_Succeed);
  42. }
  43. virtual void OnPreClose(CSmartPointer<ITransactionContext> pTransactionContext)
  44. {
  45. pTransactionContext->SendAnswer(Error_Succeed);
  46. }
  47. virtual void OnSelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext)
  48. {
  49. pTransactionContext->SendAnswer(Error_Succeed);
  50. }
  51. virtual CServerSessionBase* OnNewSession(const char*,const char*)
  52. {
  53. LOG_FUNCTION();
  54. return new SensorsServerSession(this);
  55. }
  56. HRESULT SetCurrentReportInterval(ISensor* pSensor, ULONG ulNewInterval);
  57. virtual bool IsService()const{return true;}
  58. virtual bool IsMultiThread()const{return true;}
  59. private:
  60. CSensorsFSM m_fsm;
  61. };
  62. #endif //__MOD_SENSORS_H