ContainerDevice.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #pragma once
  2. #include "LogicDevice.h"
  3. #include "DriverDefine.h"
  4. #include "common_api.h"
  5. #include "ImagePool.h"
  6. //#include "Ccos.Dev.IODevice.hpp"
  7. #ifndef UnvalidSMBid
  8. #define UnvalidSMBid 0xffffffff
  9. #endif
  10. //namespace nsDEV = CCOS::Dev;
  11. //ÊôÐÔAction
  12. typedef enum _AttrAction{
  13. ATTRACTION_GET,
  14. ATTRACTION_SET,
  15. ATTRACTION_ADD,
  16. ATTRACTION_DEL,
  17. ATTRACTION_UPDATE,
  18. ATTRACTION_DATA,
  19. ATTRACTION_MSG,
  20. ATTRACTION_MAX
  21. }ATTRACTION;
  22. class ContainerDevice : public LogicDevice
  23. {
  24. //std::unique_ptr <nsDEV::IODevice> m_pMidObject;
  25. ImagePoolEx* m_ImagePool;
  26. std::shared_ptr<LinuxEvent> m_DisconnectEvt;
  27. //std::vector<string> m_strSubTopics; //Òª¶©ÔĵÄÖ÷ÌâÁбí
  28. public:
  29. ContainerDevice();
  30. virtual ~ContainerDevice();
  31. void Init(CCOS_DEVICE_OBJ* ccosDeviceModule, DEVICE_HANDLE hDevice, /*std::unique_ptr <nsDEV::IODevice> &&pMid,*/std::shared_ptr<LinuxEvent> DisconnectEvt);
  32. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  33. void DEVICE_ACTION OnPassiveDisconnected();
  34. void DEVICE_ACTION OnLog(int LogLevel, string Context);
  35. void DEVICE_ACTION OnSystemLog(int cmd, string Code, string Context, string SenderId = "");
  36. void DEVICE_ACTION NotifyCallBackEntry(int cmdType, string keyType, string Context);
  37. void DEVICE_ACTION RawDataNotifyCallBackEntry(int cmdType, string keyType, string Context, string Head, char *pRawData, int DataLength);
  38. void DEVICE_ACTION NotifyCallBackSetBlockSize(string QueName, DWORD BlockSize, DWORD FulBlockCount, DWORD PrevBlockSize, DWORD PrevBlockCount);
  39. virtual void SubscribeSelf() override;
  40. //get device resource
  41. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  42. //normal sync routine,Request to device and response from device
  43. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  44. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  45. void OnSetClientID() override;
  46. /*
  47. void ConnectMQTTServer();
  48. void NOTIFY(string topic, string context);
  49. void DispatchAction(string topic, string context);
  50. void ReSubscribe();
  51. void SubscribeOne(string topic, bool unSubscribe=false);
  52. void SubscribeAction();*/
  53. };