19 template <
class DataType>
23 FrameGrabber(
const std::string& hostname, std::uint16_t port, std::uint32_t timeoutMs)
38 bool getNextFrame(std::shared_ptr<DataType>& pDataHandler, std::uint32_t timeoutMs = 1000)
40 if (pDataHandler ==
nullptr)
41 pDataHandler = std::make_shared<DataType>();
42 auto pTypedDataHandler =
std::move(std::dynamic_pointer_cast<VisionaryData>(pDataHandler));
44 pDataHandler =
std::move(std::dynamic_pointer_cast<DataType>(pTypedDataHandler));
55 if (pDataHandler ==
nullptr)
56 pDataHandler = std::make_shared<DataType>();
57 auto pTypedDataHandler =
std::move(std::dynamic_pointer_cast<VisionaryData>(pDataHandler));
59 pDataHandler =
std::move(std::dynamic_pointer_cast<DataType>(pTypedDataHandler));