12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #pragma once
- #include "LogicDevice.h"
- #include "DriverDefine.h"
- #include "common_api.h"
- #include "ImagePool.h"
- //#include "Ccos.Dev.IODevice.hpp"
- #ifndef UnvalidSMBid
- #define UnvalidSMBid 0xffffffff
- #endif
- //namespace nsDEV = CCOS::Dev;
- //ÊôÐÔAction
- typedef enum _AttrAction{
- ATTRACTION_GET,
- ATTRACTION_SET,
- ATTRACTION_ADD,
- ATTRACTION_DEL,
- ATTRACTION_UPDATE,
- ATTRACTION_DATA,
- ATTRACTION_MSG,
- ATTRACTION_MAX
- }ATTRACTION;
- class ContainerDevice : public LogicDevice
- {
- //std::unique_ptr <nsDEV::IODevice> m_pMidObject;
- ImagePoolEx* m_ImagePool;
- std::shared_ptr<LinuxEvent> m_DisconnectEvt;
- //std::vector<string> m_strSubTopics; //Òª¶©ÔĵÄÖ÷ÌâÁбí
- public:
- ContainerDevice();
- virtual ~ContainerDevice();
- void Init(CCOS_DEVICE_OBJ* ccosDeviceModule, DEVICE_HANDLE hDevice, /*std::unique_ptr <nsDEV::IODevice> &&pMid,*/std::shared_ptr<LinuxEvent> DisconnectEvt);
- virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
- void DEVICE_ACTION OnPassiveDisconnected();
- void DEVICE_ACTION OnLog(int LogLevel, string Context);
- void DEVICE_ACTION OnSystemLog(int cmd, string Code, string Context, string SenderId = "");
- void DEVICE_ACTION NotifyCallBackEntry(int cmdType, string keyType, string Context);
- void DEVICE_ACTION RawDataNotifyCallBackEntry(int cmdType, string keyType, string Context, string Head, char *pRawData, int DataLength);
- void DEVICE_ACTION NotifyCallBackSetBlockSize(string QueName, DWORD BlockSize, DWORD FulBlockCount, DWORD PrevBlockSize, DWORD PrevBlockCount);
- virtual void SubscribeSelf() override;
- //get device resource
- virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
- //normal sync routine,Request to device and response from device
- virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
- virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
- void OnSetClientID() override;
- /*
- void ConnectMQTTServer();
- void NOTIFY(string topic, string context);
- void DispatchAction(string topic, string context);
- void ReSubscribe();
- void SubscribeOne(string topic, bool unSubscribe=false);
- void SubscribeAction();*/
- };
|