#pragma once #include "Device7SeriesWithADFrameDecoder.h" #include "Device7SeriesFrameDecoder.h" #include "CableFrameDecoder.h" #include "DeviceInfo.h" #include #include namespace Incart::Usb { struct VisFrameDecoderFactory { static std::vector> create(const DeviceInfo& deviceInfo_) { std::vector> frameDecoders; if (deviceInfo_.typeInfo.visFrameFormat.compare("") != 0) { if (deviceInfo_.typeInfo.visFrameFormat.compare("Device7Series") == 0) { frameDecoders.push_back(std::make_shared()); } else if (deviceInfo_.typeInfo.visFrameFormat.compare("Device7SeriesWithAD") == 0) { auto ecgChannelInfo = deviceInfo_.typeInfo.getChannelInfo("ecg"); frameDecoders.push_back(std::make_shared(ecgChannelInfo.maxSignalCount)); } frameDecoders.push_back(std::make_shared()); } return frameDecoders; } }; } // namespace Incart::Usb