9#include <ilog/TLoggerCompWrap.h>
10#include <istd/TIFactory.h>
13#include <imtdev/IDeviceConfigurationManager.h>
14#include <imtdev/IDeviceController.h>
97 public ilog::CLoggerComponentBase,
99 virtual public iser::ISerializable
102 typedef ilog::CLoggerComponentBase BaseClass;
106 I_REGISTER_INTERFACE(iser::ISerializable);
107 I_REGISTER_INTERFACE(istd::IChangeable);
108 I_ASSIGN(m_deviceControllerCompPtr,
"DeviceController",
"Device controller for creating and validating configurations",
false,
"DeviceController");
109 I_ASSIGN_MULTI_0(m_deviceConfigurationFactoryCompPtr,
"ConfigurationFactory",
"Configuration factories for deserialization",
false);
113 virtual DeviceConfigurationPtr GetDeviceConfiguration(
const QByteArray& deviceId)
const override;
114 virtual bool SetDeviceConfiguration(
const QByteArray& deviceId,
const iprm::IParamsSet& configuration)
override;
117 virtual bool Serialize(iser::IArchive& archive)
override;
120 typedef istd::TIFactory<iprm::IParamsSet> ConfigurationFactory;
122 struct ConfigurationInfo
124 QByteArray deviceTypeId;
125 DeviceConfigurationPtr configurationPtr;
129 DeviceInstancePtr GetDeviceInstance(
const QByteArray& deviceId)
const;
130 ConfigurationFactory* FindConfigurationFactory(
const QByteArray& deviceTypeId)
const;
134 I_MULTIREF(ConfigurationFactory, m_deviceConfigurationFactoryCompPtr);
136 QMap<QByteArray, ConfigurationInfo> m_configurations;
Device-ID-based configuration manager component.
Interface for managing device-specific configurations.
Common interface for controlling devices.