ImagingTools Core SDK
Public Member Functions | List of all members
imtdev::IDeviceConfigurationManagerabstract

Interface for managing device-specific configurations. More...

#include <IDeviceConfigurationManager.h>

Inheritance diagram for imtdev::IDeviceConfigurationManager:
imtdev::CDeviceIdBasedConfigurationManagerComp

Public Member Functions

virtual DeviceConfigurationPtr GetDeviceConfiguration (const QByteArray &deviceId) const =0
 Get configuration for a specific device.
 
virtual bool SetDeviceConfiguration (const QByteArray &deviceId, const iprm::IParamsSet &configuration)=0
 Set configuration for a specific device.
 

Detailed Description

Interface for managing device-specific configurations.

IDeviceConfigurationManager provides centralized management of device configurations, enabling storage and retrieval of device-specific parameter sets indexed by device ID.

This interface supports:

Configuration data is persisted and can be serialized for storage across sessions. Each device instance can have its own unique configuration, identified by device ID.

Key Concepts:
  • Device ID: Unique identifier linking configuration to specific device instance
  • Configuration: Parameter set (iprm::IParamsSet) containing device settings
  • Persistence: Configurations can be serialized and stored across sessions
  • Change Tracking: Extends istd::IChangeable for configuration change notifications
Usage Pattern:
// Obtain configuration manager reference (via component system)
IDeviceConfigurationManager* pConfigMgr = // get from component system
// Get existing configuration for a device
QByteArray deviceId = "DEVICE_001";
DeviceConfigurationPtr pConfig = pConfigMgr->GetDeviceConfiguration(deviceId);
if (pConfig)
{
// Read configuration parameters
int baudRate = pConfig->GetParamValue("BaudRate").toInt();
// Modify configuration
pConfig->SetParamValue("BaudRate", 115200);
// Save modified configuration
pConfigMgr->SetDeviceConfiguration(deviceId, *pConfig);
}
else
{
// No configuration exists for this device - create new one
iprm::IParamsSet* pNewConfig = // create params set
pNewConfig->SetParamValue("BaudRate", 9600);
pConfigMgr->SetDeviceConfiguration(deviceId, *pNewConfig);
}
// Register for configuration change notifications
class ConfigObserver : public imod::CSingleModelObserverBase
{
protected:
void OnUpdate(const istd::IChangeable::ChangeSet& changeSet) override
{
// Configuration changed - update UI or sync with device
}
};
Interface for managing device-specific configurations.
virtual bool SetDeviceConfiguration(const QByteArray &deviceId, const iprm::IParamsSet &configuration)=0
Set configuration for a specific device.
virtual DeviceConfigurationPtr GetDeviceConfiguration(const QByteArray &deviceId) const =0
Get configuration for a specific device.
Implementation Notes:
Implementations typically use factory-based deserialization for loading stored configurations and maintain an internal map of device ID to configuration.
See also
CDeviceIdBasedConfigurationManagerComp
CDeviceIdBasedConfigurationComp
IDeviceInstance

Definition at line 94 of file IDeviceConfigurationManager.h.

Member Function Documentation

◆ GetDeviceConfiguration()

virtual DeviceConfigurationPtr imtdev::IDeviceConfigurationManager::GetDeviceConfiguration ( const QByteArray &  deviceId) const
pure virtual

Get configuration for a specific device.

Retrieves the configuration parameter set associated with the given device ID. Returns nullptr if no configuration exists for the device.

Parameters
deviceIdUnique identifier of the device
Returns
Shared pointer to device configuration, or nullptr if not found
See also
SetDeviceConfiguration()

◆ SetDeviceConfiguration()

virtual bool imtdev::IDeviceConfigurationManager::SetDeviceConfiguration ( const QByteArray &  deviceId,
const iprm::IParamsSet &  configuration 
)
pure virtual

Set configuration for a specific device.

Stores or updates the configuration for the given device ID. This triggers change notifications to any registered observers.

Parameters
deviceIdUnique identifier of the device
configurationConfiguration parameter set to store
Returns
true if configuration was set successfully, false otherwise
See also
GetDeviceConfiguration()