5 #include <condition_variable>
10 #include <unordered_map>
36 template <typename T, std::enable_if_t<std::is_same<T, bool>::value,
bool> =
true>
37 [[deprecated(
"Use constructor taking 'UsbSpeed' instead")]]
Device(
const Pipeline& pipeline, T usb2Mode);
66 template <typename T, std::enable_if_t<std::is_same<T, bool>::value,
bool> =
true>
67 [[deprecated(
"Use constructor taking 'UsbSpeed' instead")]]
Device(
const Pipeline& pipeline,
const DeviceInfo& devInfo, T usb2Mode);
105 std::shared_ptr<DataOutputQueue>
getOutputQueue(
const std::string& name);
115 std::shared_ptr<DataOutputQueue>
getOutputQueue(
const std::string& name,
unsigned int maxSize,
bool blocking =
true);
130 std::shared_ptr<DataInputQueue>
getInputQueue(
const std::string& name);
140 std::shared_ptr<DataInputQueue>
getInputQueue(
const std::string& name,
unsigned int maxSize,
bool blocking =
true);
159 std::vector<std::string>
getQueueEvents(
const std::vector<std::string>& queueNames,
160 std::size_t maxNumEvents = std::numeric_limits<std::size_t>::max(),
161 std::chrono::microseconds timeout = std::chrono::microseconds(-1));
162 std::vector<std::string>
getQueueEvents(
const std::initializer_list<std::string>& queueNames,
163 std::size_t maxNumEvents = std::numeric_limits<std::size_t>::max(),
164 std::chrono::microseconds timeout = std::chrono::microseconds(-1));
175 std::size_t maxNumEvents = std::numeric_limits<std::size_t>::max(),
176 std::chrono::microseconds timeout = std::chrono::microseconds(-1));
185 std::vector<std::string>
getQueueEvents(std::size_t maxNumEvents = std::numeric_limits<std::size_t>::max(),
186 std::chrono::microseconds timeout = std::chrono::microseconds(-1));
195 std::string
getQueueEvent(
const std::vector<std::string>& queueNames, std::chrono::microseconds timeout = std::chrono::microseconds(-1));
196 std::string
getQueueEvent(
const std::initializer_list<std::string>& queueNames, std::chrono::microseconds timeout = std::chrono::microseconds(-1));
205 std::string
getQueueEvent(std::string queueName, std::chrono::microseconds timeout = std::chrono::microseconds(-1));
213 std::string
getQueueEvent(std::chrono::microseconds timeout = std::chrono::microseconds(-1));
216 std::unordered_map<std::string, std::shared_ptr<DataOutputQueue>>
outputQueueMap;
217 std::unordered_map<std::string, std::shared_ptr<DataInputQueue>>
inputQueueMap;