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

Interface for device data provider. More...

#include <IDeviceDataProvider.h>

Inheritance diagram for imtdev::IDeviceDataProvider:
imtdev::IDeviceInstance

Public Member Functions

virtual idoc::IDocumentMetaInfo * GetDeviceMetaInfo () const =0
 Get device metadata information.
 
virtual const iprm::IOptionsList & GetDeviceConfigurationGroupList () const =0
 Get the list of configuration groups stored on device.
 
virtual const iprm::IParamsSet * GetDeviceConfiguration (const QByteArray &configurationGroupId) const =0
 Get configuration for a specific group.
 
- Public Member Functions inherited from imtdev::IDeviceInstance
virtual const IDeviceSpecificationGetDeviceSpecification () const =0
 Get device static info associated with device instance.
 
virtual QByteArray GetIdentifier (int identifierType) const =0
 Get the device identifier of the given type.
 
virtual const iser::IVersionInfo & GetVersion () const =0
 Get device instance version information.
 
virtual const iattr::IAttributesProvider * GetAttributes () const =0
 Get device instance attributes provider.
 

Additional Inherited Members

- Public Types inherited from imtdev::IDeviceInstance
enum  IdentifierTypes { IT_SERIAL }
 Types of device identifiers. More...
 
enum  VersionIds {
  VI_FIRMWARE_VERSION_MAJOR = iser::IVersionInfo::UserVersionId , VI_FIRMWARE_VERSION_MINOR , VI_FIRMWARE_VERSION_PATCH , VI_HARDWARE_VERSION_MAJOR ,
  VI_HARDWARE_VERSION_MINOR , VI_HARDWARE_VERSION_PATCH
}
 Version information identifiers. More...
 

Detailed Description

Interface for device data provider.

IDeviceDataProvider extends IDeviceInstance to provide access to device configuration data stored on the device itself. It combines device instance information with configuration retrieval capabilities, enabling access to device-stored parameter sets organized into logical groups.

This interface is particularly useful for:

The configuration data is organized as groups of parameter sets, where each group represents a logical collection of related settings.

Key Concepts:
  • Device Instance: Base device information (inherited from IDeviceInstance)
  • Configuration Groups: Logical groupings of related configuration parameters
  • Device Metadata: Additional metadata stored on device (via IDocumentMetaInfo)
  • Parameter Sets: Configuration data structured as key-value parameters
Usage Pattern:
// Obtain data provider reference (via component system)
IDeviceDataProvider* pDataProvider = // get from component system
// Access device metadata
idoc::IDocumentMetaInfo* pMetaInfo = pDataProvider->GetDeviceMetaInfo();
if (pMetaInfo)
{
QString serialNum = pMetaInfo->GetMetaInfo(
}
// Get list of configuration groups
const iprm::IOptionsList& groups =
// Iterate through configuration groups
for (int i = 0; i < groups.GetOptionsCount(); ++i)
{
const iprm::IOption& group = groups.GetOption(i);
QByteArray groupId = group.GetId();
QString groupName = group.GetName();
// Get configuration for this group
const iprm::IParamsSet* pConfig =
pDataProvider->GetDeviceConfiguration(groupId);
if (pConfig)
{
// Access parameters in this configuration group
// e.g., calibration data, user presets, etc.
}
}
// Access device instance information (inherited from IDeviceInstance)
const IDeviceSpecification& spec = pDataProvider->GetDeviceSpecification();
QByteArray serialNumber = pDataProvider->GetIdentifier(IDeviceInstance::IT_SERIAL);
Interface for device data provider.
virtual const iprm::IParamsSet * GetDeviceConfiguration(const QByteArray &configurationGroupId) const =0
Get configuration for a specific group.
virtual const iprm::IOptionsList & GetDeviceConfigurationGroupList() const =0
Get the list of configuration groups stored on device.
virtual idoc::IDocumentMetaInfo * GetDeviceMetaInfo() const =0
Get device metadata information.
virtual QByteArray GetIdentifier(int identifierType) const =0
Get the device identifier of the given type.
@ IT_SERIAL
Serial number identifier.
virtual const IDeviceSpecification & GetDeviceSpecification() const =0
Get device static info associated with device instance.
See also
IDeviceInstance
IDeviceDataPersistence
IDeviceConfigurationManager

Definition at line 86 of file IDeviceDataProvider.h.

Member Function Documentation

◆ GetDeviceConfiguration()

virtual const iprm::IParamsSet * imtdev::IDeviceDataProvider::GetDeviceConfiguration ( const QByteArray &  configurationGroupId) const
pure virtual

Get configuration for a specific group.

Retrieves the parameter set containing configuration data for the specified configuration group.

Parameters
configurationGroupIdUnique identifier of the configuration group
Returns
Pointer to parameter set containing the configuration, or nullptr if not found
See also
GetDeviceConfigurationGroupList()
iprm::IParamsSet

◆ GetDeviceConfigurationGroupList()

virtual const iprm::IOptionsList & imtdev::IDeviceDataProvider::GetDeviceConfigurationGroupList ( ) const
pure virtual

Get the list of configuration groups stored on device.

Returns a list of logical configuration groups available on the device. Each group represents a related set of configuration parameters (e.g., "Calibration", "UserPreset1", "FactoryDefaults").

Returns
Reference to options list containing configuration group information
See also
GetDeviceConfiguration()

◆ GetDeviceMetaInfo()

virtual idoc::IDocumentMetaInfo * imtdev::IDeviceDataProvider::GetDeviceMetaInfo ( ) const
pure virtual

Get device metadata information.

Returns document metadata that may include serial numbers, version information, firmware versions, and other device-specific metadata stored on the device.

Returns
Pointer to document metadata object, or nullptr if not available
See also
idoc::IDocumentMetaInfo
IDeviceDataPersistence::ReadDeviceMetaInfo()