#pragma once #include "ModuleDevice.h" #include "ModuleClient.h" #define CONTAINERDPC_API #define CONTAINERDPC_C_API extern "C" class CONTAINERDPC_API VirtualDevice : public ModuleDevice { protected: string m_strVirtualDeviceName; //虚拟设备类型关键字,如果ABS/DTS/AGD/AEC等,用于识别模型 模板 string m_strServiceDevicePath; //服务设备CCOS路径 string m_strHostDevicePath; //宿主设备CCOS路径 virtual RET_STATUS OnNotify(string keyStr, ResDataObject& resContext) ; public: VirtualDevice(); virtual ~VirtualDevice(); void SetDeviceInfo(string strHostDev, string strServDev); void OnSetClientID() override; RET_STATUS Request(ResDataObject PARAM_IN* pRequest, ResDataObject PARAM_OUT* pResponse) override; //virtual RET_STATUS UpdateItem(const char* pszProperty, const char* pszValueUpdate, ResDataObject& resRespons); RET_STATUS OnUpdate(const char* pszProperty, const char* pszValueUpdate, ResDataObject& resRespons) override; //virtual RET_STATUS OnDel(const char* pszPropery, ResDataObject& resDelValue, ResDataObject& resResponse); //virtual RET_STATUS OnAdd(const char* pszPropery, ResDataObject& reAddValue, ResDataObject& resResponse); RET_STATUS SetItem(const char* pszPropery, ResDataObject& resSetValue, ResDataObject& resResponse) override; RET_STATUS GetItem(const char* pszPropery, ResDataObject& resResponse) override; //virtual RET_STATUS OnAction(const char* pszActionName, const char* pszParams, ResDataObject& resResponse); //virtual RET_STATUS OnMessage(const char* pszTopic, const char* pszMessageValue, ResDataObject& resResponse); };