36 lines
1.3 KiB
C++
36 lines
1.3 KiB
C++
|
|
#include <iostream>
|
||
|
|
#include <fstream>
|
||
|
|
#include <stdexcept>
|
||
|
|
#include <string>
|
||
|
|
#include <vector>
|
||
|
|
#include <sstream>
|
||
|
|
#include <opts.h>
|
||
|
|
#include <deviceManager/deviceSpecParser.h>
|
||
|
|
#include <deviceManager/deviceManager.h>
|
||
|
|
|
||
|
|
void DeviceManager::handleDeviceSpecifiers(const OptionParser& options)
|
||
|
|
{
|
||
|
|
std::vector<std::string> deviceStrings;
|
||
|
|
deviceStrings.insert(deviceStrings.end(), options.extro.begin(),
|
||
|
|
options.extro.end());
|
||
|
|
deviceStrings.insert(deviceStrings.end(), options.intero.begin(),
|
||
|
|
options.intero.end());
|
||
|
|
deviceStrings.insert(deviceStrings.end(), options.actuator.begin(),
|
||
|
|
options.actuator.end());
|
||
|
|
|
||
|
|
for (const auto& file : options.deviceSpecFiles) {
|
||
|
|
std::vector<std::string> fileDeviceStrings = readDeviceFile(file);
|
||
|
|
deviceStrings.insert(deviceStrings.end(), fileDeviceStrings.begin(),
|
||
|
|
fileDeviceStrings.end());
|
||
|
|
}
|
||
|
|
|
||
|
|
std::vector<std::pair<std::string, std::string>> deviceSpecifiers =
|
||
|
|
parseDeviceSpecifiers(deviceStrings);
|
||
|
|
|
||
|
|
// Use deviceSpecifiers with the device manager
|
||
|
|
for (const auto& specifier : deviceSpecifiers) {
|
||
|
|
std::cout << "Device: " << specifier.first << ", Specifier: "
|
||
|
|
<< specifier.second << std::endl;
|
||
|
|
}
|
||
|
|
}
|