ImagingTools Core SDK
List of all members
imtdev::CDeviceIdBasedAttributesComp

Selection-based device attributes component. More...

#include <CDeviceIdBasedAttributesComp.h>

Inherits ilog::CLoggerComponentBase.

Detailed Description

Selection-based device attributes component.

CDeviceIdBasedAttributesComp manages device attributes that automatically synchronize with device selection, providing separate static and instance-specific attribute providers. It observes device selection, state changes, and instance attribute updates to maintain current attribute values.

Purpose:
Enables UI binding to device attributes by:
  • Automatically loading attributes when device is selected
  • Maintaining separate static and instance attributes
  • Synchronizing with device state transitions
  • Providing change notifications for UI updates
Key Features:
  • Dual Attribute Sets: Separate managers for static and instance attributes
  • Selection Awareness: Updates when selected device changes
  • State Tracking: Refreshes attributes on device state changes
  • Automatic Synchronization: Syncs with device instance attribute changes
  • Sub-Element Access: Exposes static and instance attributes as separate sub-elements
Component Structure:
The component exposes multiple sub-elements:
  • StaticAttributes: Device specification static attributes (IAttributesProvider)
  • InstanceAttributes: Device instance runtime attributes (IAttributesProvider)
Component Configuration:
  • DeviceSelection: Reference to ISelection providing selected device ID
  • DeviceController: Reference to IDeviceController for device instance access
  • DeviceStateProvider: Reference to IDeviceStateProvider for state monitoring
Attribute Types:
  • Static Attributes: From device specification (e.g., supported features, hardware limits)
  • Instance Attributes: From device instance (e.g., temperature, calibration date, serial number)
Usage Pattern:
// Obtain attributes component instance (via component system)
CDeviceIdBasedAttributesComp* pAttrs = // get from component system
// Component is configured with required dependencies:
// - DeviceSelection reference
// - DeviceController reference
// - DeviceStateProvider reference
// Access static attributes
const iattr::IAttributesProvider* pStaticAttrs = pAttrs->GetStaticAttributes();
QVariant maxResolution = pStaticAttrs->GetAttributeValue("MaxResolution");
// Access instance attributes
const iattr::IAttributesProvider* pInstanceAttrs = pAttrs->GetInstanceAttributes();
QVariant temperature = pInstanceAttrs->GetAttributeValue("Temperature");
QVariant serialNumber = pInstanceAttrs->GetAttributeValue("SerialNumber");
Selection-based device attributes component.
See also
IDeviceInstance
IDeviceSpecification
imtbase::ISelection

Definition at line 81 of file CDeviceIdBasedAttributesComp.h.