archive.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2015 Intel Corporation. All Rights Reserved.
3 
4 #pragma once
5 
7 #include "callback-invocation.h"
8 
9 
10 namespace librealsense
11 {
12  class frame_interface;
13  class sensor_interface;
14 
16  {
17  public:
19 
20  virtual frame_interface* alloc_and_track(const size_t size, frame_additional_data && additional_data, bool requires_memory) = 0;
21 
22  virtual std::shared_ptr<metadata_parser_map> get_md_parsers() const = 0;
23 
24  virtual std::shared_ptr< sensor_interface > get_sensor() const = 0;
25  virtual void set_sensor( const std::weak_ptr< sensor_interface > & ) = 0;
26 
27  virtual void flush() = 0;
28 
30  virtual void unpublish_frame(frame_interface* frame) = 0;
31  virtual void keep_frame(frame_interface* frame) = 0;
32  virtual ~archive_interface() = default;
33  };
34 
35  std::shared_ptr<archive_interface> make_archive(rs2_extension type,
36  std::atomic<uint32_t>* in_max_frame_queue_size,
37  std::shared_ptr<metadata_parser_map> parsers);
38 
39 }
frame-additional-data.h
librealsense
Definition: algo.h:18
rs2_extension
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:134
librealsense::archive_interface::get_md_parsers
virtual std::shared_ptr< metadata_parser_map > get_md_parsers() const =0
librealsense::archive_interface::~archive_interface
virtual ~archive_interface()=default
librealsense::frame_interface
Definition: frame-interface.h:20
librealsense::make_archive
std::shared_ptr< archive_interface > make_archive(rs2_extension type, std::atomic< uint32_t > *in_max_frame_queue_size, std::shared_ptr< metadata_parser_map > parsers)
Definition: archive.cpp:18
librealsense::callback_invocation_holder
Definition: callback-invocation.h:22
type
GLenum type
Definition: glad/glad/glad.h:135
size
GLsizeiptr size
Definition: glad/glad/glad.h:2734
librealsense::archive_interface::publish_frame
virtual frame_interface * publish_frame(frame_interface *frame)=0
librealsense::archive_interface
Definition: archive.h:15
librealsense::archive_interface::alloc_and_track
virtual frame_interface * alloc_and_track(const size_t size, frame_additional_data &&additional_data, bool requires_memory)=0
librealsense::archive_interface::flush
virtual void flush()=0
librealsense::archive_interface::set_sensor
virtual void set_sensor(const std::weak_ptr< sensor_interface > &)=0
librealsense::archive_interface::keep_frame
virtual void keep_frame(frame_interface *frame)=0
librealsense::frame
Definition: frame.h:19
librealsense::frame_additional_data
Definition: frame-additional-data.h:53
librealsense::archive_interface::unpublish_frame
virtual void unpublish_frame(frame_interface *frame)=0
librealsense::archive_interface::get_sensor
virtual std::shared_ptr< sensor_interface > get_sensor() const =0
librealsense::archive_interface::begin_callback
virtual callback_invocation_holder begin_callback()=0
callback-invocation.h


librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Mon Apr 22 2024 02:12:55