40 #include <pxcsession.h>
41 #include <pxccapture.h>
42 #include <pxccapturemanager.h>
45 #include <pcl/pcl_exports.h>
47 #include <boost/core/noncopyable.hpp>
57 class RealSenseGrabber;
72 using Ptr = std::shared_ptr<RealSenseDeviceManager>;
80 std::lock_guard<std::mutex> lock (mutex_);
90 return (device_list_.size ());
93 std::shared_ptr<RealSenseDevice>
96 std::shared_ptr<RealSenseDevice>
97 captureDevice (std::size_t index);
99 std::shared_ptr<RealSenseDevice>
100 captureDevice (
const std::string& sn);
111 weak_ptr<RealSenseDevice> device_ptr;
112 inline bool isCaptured () {
return (!device_ptr.expired ()); }
116 std::shared_ptr<RealSenseDevice>
117 capture (DeviceInfo& device_info);
119 RealSenseDeviceManager ();
124 populateDeviceList ();
126 std::shared_ptr<PXCSession> session_;
127 std::shared_ptr<PXCCaptureManager> capture_manager_;
129 std::vector<DeviceInfo> device_list_;
131 static std::mutex mutex_;
139 using Ptr = pcl::shared_ptr<RealSenseDevice>;
141 inline const std::string&
144 inline PXCCapture::Device&
151 std::string
id = device->getSerialNumber ();
160 std::string device_id_;
161 std::shared_ptr<PXCCapture> capture_;
162 std::shared_ptr<PXCCapture::Device> device_;