123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #pragma once
- #include "CcosLock.h"
- #include "Definitions.h"
- class ModuleDevice;
- #define CONTAINERDPC_API
- #define CONTAINERDPC_C_API extern "C"
- class CONTAINERDPC_API ModuleConfig :
- public CcosLock
- {
- protected:
- string m_strModuleFileName;
- string m_strModuleFilePath;
- string m_strConfigFilePath;
- ResDataObject m_resHardwareInfo; //硬件信息
- ResDataObject m_resModuleConfig; //模型配置文件 是从磁盘上读取的初始内容,包含该设备模型的配置项
- ResDataObject m_resProperties; //当前对象的属性值,通过set/get/add/del 操作的属性可以直接访问
- ResDataObject m_resGets;
- ResDataObject m_resSets;
- ResDataObject m_resAdds;
- ResDataObject m_resDels;
- ResDataObject m_resActions;
- ResDataObject m_resUpdates;
- ResDataObject m_resWebConfig; //web配置项
- public:
- ModuleConfig();
- virtual ~ModuleConfig();
- ResDataObject& GetPropties() {
- return m_resProperties;
- }
- bool CheckAndInitConfig(string ccosDevicePath);
- RET_STATUS GetUpdatableItems(string level, ResDataObject& resItems);
- string UpdateItem(const char* pszProperty, const char* pszValueUpdate);
- RET_STATUS SaveToConfigFile();
- bool CanDo(const char* pszProperty, int packetCmd);
- RET_STATUS GetDeviceResource(ResDataObject PARAM_OUT* pDeviceResource, const char* pszClientType);
- RET_STATUS GetAll(ResDataObject& resRespons, std::function<RET_STATUS (const char* , ResDataObject& )> getItem);
- void RestoreConfig();
- };
|