22 std::shared_ptr<librealsense::context>
ctx;
23 std::shared_ptr<librealsense::device_info>
info;
28 std::shared_ptr<librealsense::context>
ctx;
29 std::vector<rs2_device_info>
list;
35 std::shared_ptr<librealsense::stream_profile_interface>
clone;
46 virtual std::shared_ptr<device_interface>
create_device(
bool register_device_notifications =
false)
const 48 return create(_ctx, register_device_notifications);
65 virtual std::shared_ptr<device_interface> create(std::shared_ptr<context>
ctx,
66 bool register_device_notifications)
const = 0;
68 std::shared_ptr<context>
_ctx;
81 std::shared_ptr<playback_device>
_dev;
98 std::shared_ptr<device_interface>
create(std::shared_ptr<context>,
bool)
const override 106 class context :
public std::enable_shared_from_this<context>
115 void stop(){
if (!_devices_changed_callbacks.size()) _device_watcher->stop();}
117 std::vector<std::shared_ptr<device_info>> query_devices(
int mask)
const;
121 void unregister_internal_device_callback(
uint64_t cb_id);
125 const std::map<
std::string, std::weak_ptr<device_info>>& playback_devices,
int mask)
const;
127 std::shared_ptr<playback_device_info> add_device(
const std::string& file);
130 void add_software_device(std::shared_ptr<device_info>
software_device);
133 void unload_tracking_module();
141 void raise_devices_changed(
const std::vector<rs2_device_info>& removed,
const std::vector<rs2_device_info>& added);
143 std::shared_ptr<lazy<rs2_extrinsics>> fetch_edge(
int from,
int to);
151 std::map<int, std::weak_ptr<const stream_interface>>
_streams;
152 std::map<int, std::map<int, std::weak_ptr<lazy<rs2_extrinsics>>>>
_extrinsics;
160 std::shared_ptr<device_interface>
create(std::shared_ptr<context>
ctx,
bool register_device_notifications)
const override 167 return _dev->get_device_data();
170 std::shared_ptr<device_interface>
_dev;
174 std::vector<platform::uvc_device_info>
filter_by_product(
const std::vector<platform::uvc_device_info>&
devices,
const std::set<uint16_t>& pid_list);
176 const std::vector<std::vector<platform::uvc_device_info>>&
devices,
177 const std::vector<platform::hid_device_info>& hids);
179 void trim_device_list(std::vector<platform::uvc_device_info>&
devices,
const std::vector<platform::uvc_device_info>& chosen);
184 std::vector<platform::usb_device_info>
filter_by_product(
const std::vector<platform::usb_device_info>&
devices,
const std::set<uint16_t>& pid_list);
185 void trim_device_list(std::vector<platform::usb_device_info>&
devices,
const std::vector<platform::usb_device_info>& chosen);
std::shared_ptr< librealsense::context > ctx
std::shared_ptr< librealsense::context > ctx
std::vector< platform::uvc_device_info > filter_by_product(const std::vector< platform::uvc_device_info > &devices, const std::set< uint16_t > &pid_list)
playback_device_info(std::shared_ptr< playback_device > dev)
virtual bool operator==(const device_info &other) const
virtual platform::backend_device_group get_device_data() const =0
std::map< std::string, std::weak_ptr< device_info > > _playback_devices
std::shared_ptr< librealsense::device_info > info
platform::backend_device_group get_device_data() const override
void trim_device_list(std::vector< platform::usb_device_info > &devices, const std::vector< platform::usb_device_info > &chosen)
std::vector< std::shared_ptr< device_info > > devices_info
const platform::backend & get_backend() const
GLsizei const GLchar *const * string
std::vector< rs2_device_info > list
std::shared_ptr< device_interface > create(std::shared_ptr< context >, bool) const override
std::map< int, std::weak_ptr< const stream_interface > > _streams
std::mutex _streams_mutex
std::shared_ptr< context > _ctx
std::vector< std::pair< std::vector< platform::uvc_device_info >, std::vector< platform::hid_device_info > > > group_devices_and_hids_by_unique_id(const std::vector< std::vector< platform::uvc_device_info >> &devices, const std::vector< platform::hid_device_info > &hids)
std::shared_ptr< librealsense::stream_profile_interface > clone
std::vector< std::vector< platform::uvc_device_info > > group_devices_by_unique_id(const std::vector< platform::uvc_device_info > &devices)
std::map< int, std::map< int, std::weak_ptr< lazy< rs2_extrinsics > > > > _extrinsics
readonly_device_info(std::shared_ptr< device_interface > dev)
platform::backend_device_group get_device_data() const override
platform::uvc_device_info get_mi(const std::vector< platform::uvc_device_info > &devices, uint32_t mi)
unsigned __int64 uint64_t
std::shared_ptr< playback_device > _dev
std::shared_ptr< platform::device_watcher > _device_watcher
std::shared_ptr< device_interface > create(std::shared_ptr< context > ctx, bool register_device_notifications) const override
virtual std::shared_ptr< device_interface > create_device(bool register_device_notifications=false) const
librealsense::stream_profile_interface * profile
std::shared_ptr< device_interface > create_device(bool) const override
std::map< uint64_t, devices_changed_callback_ptr > _devices_changed_callbacks
typename::boost::move_detail::remove_reference< T >::type && move(T &&t) BOOST_NOEXCEPT
std::shared_ptr< platform::backend > _backend
std::shared_ptr< rs2_devices_changed_callback > devices_changed_callback_ptr
device_info(std::shared_ptr< context > backend)
std::vector< platform::uvc_device_info > filter_by_mi(const std::vector< platform::uvc_device_info > &devices, uint32_t mi)
std::shared_ptr< device_interface > _dev
GeneratorWrapper< T > map(Func &&function, GeneratorWrapper< U > &&generator)
devices_changed_callback_ptr _devices_changed_callback
bool mi_present(const std::vector< platform::uvc_device_info > &devices, uint32_t mi)