Selection-based device attributes component.
More...
#include <CDeviceIdBasedAttributesComp.h>
Inherits ilog::CLoggerComponentBase.
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:
const iattr::IAttributesProvider* pStaticAttrs = pAttrs->GetStaticAttributes();
QVariant maxResolution = pStaticAttrs->GetAttributeValue("MaxResolution");
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.