#include <extension.h>
Public Member Functions | |
virtual void | create_snapshot (std::shared_ptr< T > &snapshot) const =0 |
virtual void | enable_recording (std::function< void(const T &)> recording_function)=0 |
virtual | ~recordable ()=default |
Deriving classes are expected to return an extension_snapshot We need this since Sensors will derive from multiple extensions and C++ does not allow function overloads by return type
T | The interface that should be recorded |
Definition at line 46 of file extension.h.
|
virtualdefault |
|
pure virtual |
Create a snapshot of the deriving extension. A snapshot of T is a reflection of the state and memory of T at the time of the call
Implemented in librealsense::ds5_depth_sensor, librealsense::ds5_depth_sensor, librealsense::sr3xx_camera, librealsense::thermal_compensation, librealsense::depth_stereo_sensor_snapshot, librealsense::depth_sensor_snapshot, librealsense::color_sensor_snapshot, librealsense::sr3xx_camera::sr300_depth_sensor, librealsense::color_sensor, librealsense::l500_depth_sensor, librealsense::l500_depth_sensor, librealsense::recommended_proccesing_blocks_base, librealsense::fisheye_sensor_snapshot, librealsense::fisheye_sensor, librealsense::software_sensor::depth_extension, librealsense::motion_sensor_snapshot, librealsense::software_sensor::stereo_extension, librealsense::update_device, librealsense::tm2_sensor, librealsense::software_sensor::stereo_extension, librealsense::tm2_sensor, librealsense::motion_sensor, librealsense::global_time_interface, librealsense::ds5_advanced_mode_base, librealsense::options_container, librealsense::stream_profile_base, librealsense::l500_depth_sensor_snapshot, librealsense::l500_device, librealsense::ds5_device, librealsense::info_container, and librealsense::option.
|
pure virtual |
Instruct the derived class to begin notifying on changes Derived class should call the recording_function with a reference of themselves
Implemented in librealsense::ivcam2::hw_sync_option, librealsense::ivcam2::freefall_option, librealsense::proxy_option, librealsense::polling_errors_disable, librealsense::struct_field_option< T, R, W, U >, librealsense::ds5_depth_sensor, librealsense::ds5_depth_sensor, librealsense::gl::dual_processing_block::bypass_option, librealsense::sr3xx_camera, librealsense::thermal_compensation, librealsense::depth_stereo_sensor_snapshot, librealsense::uvc_xu_option< T >, librealsense::uvc_xu_option< uint8_t >, librealsense::auto_gain_limit_option, librealsense::depth_sensor_snapshot, librealsense::auto_exposure_limit_option, librealsense::hdr_conditional_option, librealsense::uvc_pu_option, librealsense::color_sensor_snapshot, librealsense::sr3xx_camera::sr300_depth_sensor, librealsense::hdr_option, librealsense::color_sensor, librealsense::emitter_always_on_option, librealsense::alternating_emitter_option, librealsense::l500_depth_sensor, librealsense::composite_processing_block::bypass_option, librealsense::l500_depth_sensor, librealsense::emitter_on_and_off_option, librealsense::recommended_proccesing_blocks_base, librealsense::external_sync_mode, librealsense::ptr_option< T >, librealsense::fisheye_sensor_snapshot, librealsense::depth_scale_option, librealsense::fisheye_sensor, librealsense::software_sensor::depth_extension, librealsense::motion_sensor_snapshot, librealsense::update_device, librealsense::software_sensor::stereo_extension, librealsense::tm2_sensor, librealsense::software_sensor::stereo_extension, librealsense::tm2_sensor, librealsense::ivcam2::ac_trigger::reset_option, librealsense::motion_sensor, librealsense::global_time_interface, librealsense::ivcam2::ac_trigger::enabler_option, librealsense::ds5_advanced_mode_base, librealsense::options_container, librealsense::option_base, librealsense::l500_depth_sensor_snapshot, librealsense::stream_profile_base, librealsense::l500_hw_options, librealsense::l500_device, librealsense::ds5_device, librealsense::readonly_option, and librealsense::info_container.