IDS peak AFL v2.0.2
Loading...
Searching...
No Matches
BrightnessComponent Class Reference

Brightness component feature implementation for auto controllers. More...

#include <peak_afl/pipeline/modules/controllers/features/peak_afl_brightness_component.hpp>

Public Types

using FinishedCallback
 Callback function type for component completion notifications.
using FinishedCallbackHandle
 Handle type for managing callback registrations.

Public Member Functions

 BrightnessComponent (const BrightnessComponent &)=delete
 Copy constructor deleted to prevent copying.
BrightnessComponent & operator= (const BrightnessComponent &)=delete
 Copy assignment deleted to prevent copying.
 BrightnessComponent (BrightnessComponent &&)=delete
 Move constructor deleted to prevent moving.
BrightnessComponent & operator= (BrightnessComponent &&)=delete
 Move assignment deleted to prevent moving.
 ~BrightnessComponent ()
 Destructor that properly unregisters callbacks.
BrightnessComponentType GetType () const
 Gets the brightness component type.
void SetMode (ControllerMode mode)
 Sets the control mode for this component.
ControllerMode GetMode () const
 Gets the current control mode.
void SetLimit (const IntervalD &interval)
 Sets the value limits for this component.
IntervalD GetLimit ()
 Gets the current value limits.
void Serialize (peak::common::serialization::IArchive &archive) const
 Serializes component configuration to archive.
void Deserialize (const peak::common::serialization::IArchive &archive)
 Deserializes component configuration from archive.
FinishedCallbackHandle RegisterFinishedCallback (const BrightnessComponent::FinishedCallback &callback)
 Registers a callback for component completion.
void UnregisterFinishedCallback (BrightnessComponent::FinishedCallbackHandle callbackHandle)
 Unregisters a previously registered callback.

Friends

class detail::GenericAutoBrightness
 Friend class for construction access.

Detailed Description

Brightness component feature implementation for auto controllers.

The BrightnessComponent class provides a comprehensive interface for managing individual brightness components in automatic exposure systems. Each component represents a specific aspect of brightness control (exposure, gain types) with its own mode, limits, and callback mechanisms.

Key features:

  • Component-specific control: Manage exposure, analog gain, digital gain, etc.
  • Mode management: Set automatic, manual, or other control modes
  • Limit enforcement: Define valid ranges for component values
  • Callback support: Receive notifications when component operations complete
  • Serialization: Persist component configuration

This class is designed to work with the auto brightness system's component architecture, allowing fine-grained control over individual brightness parameters.

Note
This class is non-copyable and non-movable to ensure proper resource management and callback registration.
See also
BrightnessComponentType
ControllerMode
detail::GenericAutoBrightness
Since
1.8

Member Typedef Documentation

◆ FinishedCallback

Callback function type for component completion notifications.

Since
1.8

◆ FinishedCallbackHandle

Handle type for managing callback registrations.

Since
1.8

Constructor & Destructor Documentation

◆ BrightnessComponent() [1/2]

Copy constructor deleted to prevent copying.

Since
1.8

◆ BrightnessComponent() [2/2]

Move constructor deleted to prevent moving.

Since
1.8

◆ ~BrightnessComponent()

~BrightnessComponent ( )
inline

Destructor that properly unregisters callbacks.

Automatically unregisters the component callback from the parent controller to ensure proper cleanup and prevent dangling references.

Since
1.8

Member Function Documentation

◆ Deserialize()

void Deserialize ( const peak::common::serialization::IArchive & archive)
inline

Deserializes component configuration from archive.

Parameters
[in]archiveArchive containing configuration
Since
1.8

◆ GetLimit()

IntervalD GetLimit ( )
inline

Gets the current value limits.

Returns
The current limit interval for this component
Since
1.8

◆ GetMode()

ControllerMode GetMode ( ) const
inline

Gets the current control mode.

Returns
The current controller mode for this component
Since
1.8

◆ GetType()

BrightnessComponentType GetType ( ) const
inline

Gets the brightness component type.

Returns
The type of this brightness component
Since
1.8

◆ operator=() [1/2]

BrightnessComponent & operator= ( BrightnessComponent && )
delete

Move assignment deleted to prevent moving.

Since
1.8

◆ operator=() [2/2]

BrightnessComponent & operator= ( const BrightnessComponent & )
delete

Copy assignment deleted to prevent copying.

Since
1.8

◆ RegisterFinishedCallback()

FinishedCallbackHandle RegisterFinishedCallback ( const BrightnessComponent::FinishedCallback & callback)
inline

Registers a callback for component completion.

Parameters
[in]callbackFunction to call when component operation finishes
Returns
Handle for unregistering the callback
Since
1.8

◆ Serialize()

void Serialize ( peak::common::serialization::IArchive & archive) const
inline

Serializes component configuration to archive.

Parameters
[in,out]archiveArchive to store configuration
Since
1.8

◆ SetLimit()

void SetLimit ( const IntervalD & interval)
inline

Sets the value limits for this component.

Parameters
[in]intervalThe interval defining min/max limits
Since
1.8

◆ SetMode()

void SetMode ( ControllerMode mode)
inline

Sets the control mode for this component.

Parameters
[in]modeThe controller mode to set (automatic, manual, etc.)
Since
1.8

◆ UnregisterFinishedCallback()

void UnregisterFinishedCallback ( BrightnessComponent::FinishedCallbackHandle callbackHandle)
inline

Unregisters a previously registered callback.

Parameters
[in]callbackHandleHandle returned from RegisterFinishedCallback
Since
1.8

◆ detail::GenericAutoBrightness

friend class detail::GenericAutoBrightness
friend

Friend class for construction access.

Since
1.8

The documentation for this class was generated from the following file: