本文整理汇总了C++中Adapter::addDevice方法的典型用法代码示例。如果您正苦于以下问题:C++ Adapter::addDevice方法的具体用法?C++ Adapter::addDevice怎么用?C++ Adapter::addDevice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Adapter
的用法示例。
在下文中一共展示了Adapter::addDevice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadAdapters
void AgentConfiguration::loadAdapters(dlib::config_reader::kernel_1a &aReader,
bool aDefaultPreserve, int aLegacyTimeout,
int aReconnectInterval, bool aIgnoreTimestamps)
{
Device *device;
if (aReader.is_block_defined("Adapters")) {
const config_reader::kernel_1a &adapters = aReader.block("Adapters");
vector<string> blocks;
adapters.get_blocks(blocks);
vector<string>::iterator block;
for (block = blocks.begin(); block != blocks.end(); ++block)
{
const config_reader::kernel_1a &adapter = adapters.block(*block);
string deviceName;
if (adapter.is_key_defined("Device")) {
deviceName = adapter["Device"].c_str();
if (deviceName == "*")
device = defaultDevice();
else
device = mAgent->getDeviceByName(deviceName);
} else {
deviceName = *block;
device = mAgent->getDeviceByName(deviceName);
if (device == NULL && mAgent->getDevices().size() == 1)
device = defaultDevice();
}
if (device == NULL) {
throw runtime_error(static_cast<string>("Can't locate device '") + deviceName + "' in XML configuration file.");
}
const string host = get_with_default(adapter, "Host", (string)"localhost");
int port = get_with_default(adapter, "Port", 7878);
int legacyTimeout = get_with_default(adapter, "LegacyTimeout", aLegacyTimeout);
int reconnectInterval = get_with_default(adapter, "ReconnectInterval", aReconnectInterval);
sLogger << LINFO << "Adding adapter for " << device->getName() << " on "
<< host << ":" << port;
Adapter *adp = mAgent->addAdapter(device->getName(), host, port, false, legacyTimeout);
device->mPreserveUuid = get_bool_with_default(adapter, "PreserveUUID", aDefaultPreserve);
// Add additional device information
if (adapter.is_key_defined("UUID"))
device->setUuid(adapter["UUID"]);
if (adapter.is_key_defined("Manufacturer"))
device->setManufacturer(adapter["Manufacturer"]);
if (adapter.is_key_defined("Station"))
device->setStation(adapter["Station"]);
if (adapter.is_key_defined("SerialNumber"))
device->setSerialNumber(adapter["SerialNumber"]);
adp->setDupCheck(get_bool_with_default(adapter, "FilterDuplicates", adp->isDupChecking()));
adp->setAutoAvailable(get_bool_with_default(adapter, "AutoAvailable", adp->isAutoAvailable()));
adp->setIgnoreTimestamps(get_bool_with_default(adapter, "IgnoreTimestamps", aIgnoreTimestamps ||
adp->isIgnoringTimestamps()));
adp->setRealTime(get_bool_with_default(adapter, "RealTime", false));
adp->setRelativeTime(get_bool_with_default(adapter, "RelativeTime", false));
adp->setReconnectInterval(reconnectInterval);
if (adapter.is_key_defined("AdditionalDevices")) {
istringstream devices(adapter["AdditionalDevices"]);
string name;
while (getline(devices, name, ','))
{
size_t index = name.find_first_not_of(" \r\t");
if (index != string::npos && index > 0)
name.erase(0, index);
index = name.find_last_not_of(" \r\t");
if (index != string::npos)
name.erase(index + 1);
adp->addDevice(name);
}
}
}
}
else if ((device = defaultDevice()) != NULL)
{
sLogger << LINFO << "Adding default adapter for " << device->getName() << " on localhost:7878";
Adapter *adp = mAgent->addAdapter(device->getName(), "localhost", 7878, false, aLegacyTimeout);
adp->setIgnoreTimestamps(aIgnoreTimestamps || adp->isIgnoringTimestamps());
adp->setReconnectInterval(aReconnectInterval);
device->mPreserveUuid = aDefaultPreserve;
}
else
{
throw runtime_error("Adapters must be defined if more than one device is present");
}
}