Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
info.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2017 Intel Corporation. All Rights Reserved.
3 
4 #pragma once
5 
6 #include "extension.h"
7 #include <string>
8 
9 namespace librealsense
10 {
11  class info_interface : public virtual recordable<info_interface>
12  {
13  public:
14  virtual const std::string& get_info(rs2_camera_info info) const = 0;
15  virtual bool supports_info(rs2_camera_info info) const = 0;
16 
17  virtual ~info_interface() = default;
18  };
19 
21 
22  class info_container : public virtual info_interface , public extension_snapshot
23  {
24  public:
25  const std::string& get_info(rs2_camera_info info) const override;
26  bool supports_info(rs2_camera_info info) const override;
27 
28  void register_info(rs2_camera_info info, const std::string& val);
29  void update_info(rs2_camera_info info, const std::string& val);
30  void create_snapshot(std::shared_ptr<info_interface>& snapshot) const override;
31  void enable_recording(std::function<void(const info_interface&)> record_action) override;
32  void update(std::shared_ptr<extension_snapshot> ext) override;
33  private:
34  std::map<rs2_camera_info, std::string> _camera_info;
35  };
36 
37 }
rs2_camera_info
Read-only strings that can be queried from the device. Not all information attributes are available o...
Definition: rs_sensor.h:22
virtual ~info_interface()=default
virtual bool supports_info(rs2_camera_info info) const =0
Definition: info.h:22
virtual void enable_recording(std::function< void(const info_interface &)> recording_function)=0
Definition: algo.h:16
virtual void create_snapshot(std::shared_ptr< info_interface > &snapshot) const=0
virtual const std::string & get_info(rs2_camera_info info) const =0
Definition: info.h:11
Definition: rs_types.h:97
Definition: extension.h:46
Definition: extension.h:33
MAP_EXTENSION(RS2_EXTENSION_POINTS, librealsense::points)