30 static std::shared_ptr<matcher> create_DLR_C_matcher(std::vector<stream_interface*> profiles);
31 static std::shared_ptr<matcher> create_DLR_matcher(std::vector<stream_interface*> profiles);
32 static std::shared_ptr<matcher> create_DI_C_matcher(std::vector<stream_interface*> profiles);
33 static std::shared_ptr<matcher> create_DI_matcher(std::vector<stream_interface*> profiles);
35 static std::shared_ptr<matcher> create_identity_matcher(
stream_interface* profiles);
36 static std::shared_ptr<matcher> create_frame_number_matcher(std::vector<stream_interface*> profiles);
37 static std::shared_ptr<matcher> create_timestamp_matcher(std::vector<stream_interface*> profiles);
39 static std::shared_ptr<matcher> create_timestamp_composite_matcher(std::vector<std::shared_ptr<matcher>> matchers);
40 static std::shared_ptr<matcher> create_frame_number_composite_matcher(std::vector<std::shared_ptr<matcher>> matchers);
58 std::shared_ptr<context>
get_context()
const override {
return _context; }
69 std::lock_guard<std::mutex> lock(_device_changed_mtx);
79 explicit device(std::shared_ptr<context> ctx,
81 bool device_changed_notifications =
false);
84 std::map<int, std::pair<uint32_t, std::shared_ptr<const stream_interface>>> _extrinsics;
85 std::vector<std::shared_ptr<sensor_interface>> _sensors;
86 std::shared_ptr<context> _context;
88 bool _is_valid, _device_changed_notifications;
89 mutable std::mutex _device_changed_mtx;
90 uint64_t _callback_id;
void hardware_reset() override
int add_sensor(std::shared_ptr< sensor_interface > sensor_base)
sensor_interface & get_sensor(size_t subdevice) override
size_t find_sensor_idx(const sensor_interface &s) const
stream_interface * find_profile(rs2_stream stream, int index, std::vector< stream_interface *> profiles)
device(std::shared_ptr< context > ctx, const platform::backend_device_group group, bool device_changed_notifications=false)
Definition: streaming.h:131
int assign_sensor(std::shared_ptr< sensor_interface > sensor_base, uint8_t idx)
static std::shared_ptr< matcher > create(rs2_matchers matcher, std::vector< stream_interface *> profiles)
Definition: streaming.h:31
virtual std::shared_ptr< matcher > create_matcher(const frame_holder &frame) const override
bool is_valid() const override
Definition: device.h:67
rs2_matchers
Specifies types of different matchers.
Definition: rs_types.h:126
uvc_sensor & get_uvc_sensor(int subdevice)
size_t get_sensors_count() const override
rs2_stream
Streams are different types of data provided by RealSense devices.
Definition: rs_sensor.h:36
std::pair< uint32_t, rs2_extrinsics > get_extrinsics(const stream_interface &stream) const override
std::shared_ptr< context > get_context() const override
Definition: device.h:58
void register_stream_to_extrinsic_group(const stream_interface &stream, uint32_t groupd_index)
Definition: streaming.h:106
platform::backend_device_group get_device_data() const override
Definition: device.h:60