IDS peak AFL v1.8.0
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.
 
PEAK_COMMON_NO_DISCARD BrightnessComponentType GetType () const
 Gets the brightness component type.
 
void SetMode (ControllerMode mode)
 Sets the control mode for this component.
 
PEAK_COMMON_NO_DISCARD 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.
 

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()

PEAK_COMMON_NO_DISCARD ControllerMode GetMode ( ) const
inline

Gets the current control mode.

Returns
The current controller mode for this component
Since
1.8

◆ GetType()

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

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