Re-structured project
This commit is contained in:
29
src/main.cpp
29
src/main.cpp
@@ -1,9 +1,12 @@
|
||||
#include <algorithm>
|
||||
#include <spdlog/spdlog.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "AutoDetect.hpp"
|
||||
#include "P700Printer.hpp"
|
||||
#include "interface/IPrinterInfo.hpp"
|
||||
#include "libusbwrap/UsbDeviceFactory.hpp"
|
||||
#include <libusb-1.0/libusb.h>
|
||||
|
||||
void setupLogger() {
|
||||
spdlog::set_level(spdlog::level::debug);
|
||||
@@ -13,9 +16,31 @@ void setupLogger() {
|
||||
int main(int argc, char** argv) {
|
||||
setupLogger();
|
||||
|
||||
std::vector<std::shared_ptr<ptprnt::IPrinterInfo>> compatiblePrinters = {
|
||||
std::make_shared<ptprnt::printer::P700Printer>()};
|
||||
|
||||
std::vector<std::shared_ptr<ptprnt::IPrinterInfo>> detectedPrinters{};
|
||||
auto usbFactory = libusbwrap::UsbDeviceFactory();
|
||||
usbFactory.init();
|
||||
usbFactory.findAllDevices();
|
||||
auto usbDevs = usbFactory.findAllDevices();
|
||||
|
||||
for (auto usbDev : usbDevs) {
|
||||
auto vid = usbDev->getVid();
|
||||
auto pid = usbDev->getPid();
|
||||
spdlog::info("UsbDev {}:{}", vid, pid);
|
||||
auto foundPrinterIt =
|
||||
std::find_if(compatiblePrinters.begin(), compatiblePrinters.end(),
|
||||
[usbDev](const std::shared_ptr<ptprnt::IPrinterInfo>& printer) {
|
||||
return printer->getPid() == usbDev->getPid() &&
|
||||
printer->getVid() == usbDev->getVid();
|
||||
});
|
||||
if (foundPrinterIt == compatiblePrinters.end()) {
|
||||
continue;
|
||||
}
|
||||
auto foundPrinter = *foundPrinterIt;
|
||||
spdlog::info("Found Printer {}", foundPrinter->getName());
|
||||
compatiblePrinters.push_back(foundPrinter);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user