27 std::shared_ptr<DeviceConfigBase> profile);
35 void print(std::stringstream& s,
int indention)
const override;
49 DeviceConfig(std::string type, std::string name, std::shared_ptr<DeviceConfigBase> profile);
54 const std::uint32_t productCode,
55 const std::uint32_t serialNumber);
63 std::list<std::reference_wrapper<DeviceConfigBase>>
68 void print(std::stringstream& s,
int indention)
const override;
73 void addSlaveConfig(std::shared_ptr<SlaveConfig> slaveConfig);
75 void addSubDeviceConfig(
const std::string name,
76 std::shared_ptr<DeviceConfigBase> subDeviceConfig);
78 std::list<std::shared_ptr<SlaveConfig>> slaveConfigs;
79 std::map<std::string, std::shared_ptr<DeviceConfigBase>> subDeviceConfigs;
friend class ControllerConfig
friend class ConfigParser
std::string getType() const
std::string getName() const
friend class DeviceConfig
void print(std::stringstream &s, int indention) const override
Print this configuration.
~DeviceConfigBase()=default
DeviceConfigBase(std::string type, std::string name)
std::list< std::reference_wrapper< DeviceConfigBase > > getSubDeviceConfigsWithType(const std::string subDeviceType)
friend class ConfigParser
bool checkAllItemsRead(std::vector< std::string > &errors) const override
This method is called once the device has read the configuration data it needs.
SlaveConfig & getOnlySlaveConfig()
void onParsingFinished() override
This method is called when the config is completely read form the HardwareConfig file.
void print(std::stringstream &s, int indention) const override
Print this configuration.
DeviceConfigBase & getSubdeviceConfig(const std::string &subDeviceName)
SlaveConfig & getSlaveConfig(const std::uint32_t vendorID, const std::uint32_t productCode, const std::uint32_t serialNumber)
DeviceConfig(std::string type, std::string name)