#pragma once
#include "devicemanager/DeviceEnumInfoBase.hpp"
#include <iostream>
#include <string>
#include <vector>
#include <memory>
namespace libobsensor {
class OpenNIDeviceInfo : public DeviceEnumInfoBase, public std::enable_shared_from_this<OpenNIDeviceInfo> {
public:
OpenNIDeviceInfo(const SourcePortInfoList groupedInfoList);
~OpenNIDeviceInfo() noexcept override;
std::shared_ptr<IDevice> createDevice() const override;
#if defined(BUILD_USB_PAL)
static std::vector<std::shared_ptr<IDeviceEnumInfo>> pickDevices(const SourcePortInfoList infoList);
#endif
};
}