DevMgr: Add methods to print the parsed devSpecs
This commit is contained in:
@@ -5,31 +5,42 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <opts.h>
|
#include <opts.h>
|
||||||
#include <deviceManager/deviceSpecParser.h>
|
|
||||||
#include <deviceManager/deviceManager.h>
|
#include <deviceManager/deviceManager.h>
|
||||||
|
|
||||||
void DeviceManager::handleDeviceSpecifiers(const OptionParser& options)
|
|
||||||
|
std::vector<DeviceManager::InteroceptorDeviceSpec>
|
||||||
|
DeviceManager::interoceptorDeviceSpecs;
|
||||||
|
std::vector<DeviceManager::ExtrospectorDeviceSpec>
|
||||||
|
DeviceManager::extrospectorDeviceSpecs;
|
||||||
|
|
||||||
|
std::ostream& operator<<(
|
||||||
|
std::ostream& os, const DeviceManager::SensorDeviceSpec& spec)
|
||||||
{
|
{
|
||||||
std::vector<std::string> deviceStrings;
|
os << "Device: " << spec.sensorType << ", Implexor: "
|
||||||
deviceStrings.insert(deviceStrings.end(), options.extro.begin(),
|
<< spec.implexor << ", API: " << spec.api
|
||||||
options.extro.end());
|
<< ", API Params: (";
|
||||||
deviceStrings.insert(deviceStrings.end(), options.intero.begin(),
|
for (auto it = spec.apiParams.begin(); it != spec.apiParams.end(); ++it) {
|
||||||
options.intero.end());
|
os << *it << (it + 1 == spec.apiParams.end() ? "" : " ");
|
||||||
deviceStrings.insert(deviceStrings.end(), options.actuator.begin(),
|
}
|
||||||
options.actuator.end());
|
os << "), Server: " << spec.server << ", Server Params: (";
|
||||||
|
for (auto it = spec.serverParams.begin(); it != spec.serverParams.end(); ++it) {
|
||||||
for (const auto& file : options.deviceSpecFiles) {
|
os << *it << (it + 1 == spec.serverParams.end() ? "" : " ");
|
||||||
std::vector<std::string> fileDeviceStrings = readDeviceFile(file);
|
}
|
||||||
deviceStrings.insert(deviceStrings.end(), fileDeviceStrings.begin(),
|
os << "), Device Selector: " << spec.deviceSelector << std::endl;
|
||||||
fileDeviceStrings.end());
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<std::string, std::string>> deviceSpecifiers =
|
const std::string DeviceManager::printDeviceSpecs(void)
|
||||||
parseDeviceSpecifiers(deviceStrings);
|
{
|
||||||
|
std::ostringstream oss;
|
||||||
|
|
||||||
// Use deviceSpecifiers with the device manager
|
for (const auto& spec : DeviceManager::interoceptorDeviceSpecs) {
|
||||||
for (const auto& specifier : deviceSpecifiers) {
|
oss << "Interoceptor " << spec;
|
||||||
std::cout << "Device: " << specifier.first << ", Specifier: "
|
|
||||||
<< specifier.second << std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (const auto& spec : DeviceManager::extrospectorDeviceSpecs) {
|
||||||
|
oss << "Extrospector " << spec;
|
||||||
|
}
|
||||||
|
|
||||||
|
return oss.str();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user