void DBusAddressTranslator::init() {
std::string fqnOfConfigFile = getCurrentBinaryFileFQN();
- fqnOfConfigFile += DBUS_CONFIG_SUFFIX;
-
std::ifstream addressConfigFile;
- addressConfigFile.open(fqnOfConfigFile.c_str());
- if(addressConfigFile.is_open()) {
- readConfigFile(addressConfigFile);
- addressConfigFile.close();
- }
+ if (fqnOfConfigFile != "") {
+ fqnOfConfigFile += DBUS_CONFIG_SUFFIX;
- addressConfigFile.clear();
- std::vector<std::string> splittedConfigFQN = split(fqnOfConfigFile, '/');
- std::string globalConfigFQN = DBUS_GLOBAL_CONFIG_ROOT + splittedConfigFQN.at(splittedConfigFQN.size() - 1);
- addressConfigFile.open(globalConfigFQN);
- if(addressConfigFile.is_open()) {
- readConfigFile(addressConfigFile);
- addressConfigFile.close();
+ addressConfigFile.open(fqnOfConfigFile.c_str());
+
+ if (addressConfigFile.is_open()) {
+ readConfigFile(addressConfigFile);
+ addressConfigFile.close();
+ }
+
+ addressConfigFile.clear();
+ std::vector<std::string> splittedConfigFQN = split(fqnOfConfigFile, '/');
+ std::string globalConfigFQN = DBUS_GLOBAL_CONFIG_ROOT + splittedConfigFQN.at(splittedConfigFQN.size() - 1);
+ addressConfigFile.open(globalConfigFQN);
+ if (addressConfigFile.is_open()) {
+ readConfigFile(addressConfigFile);
+ addressConfigFile.close();
+ }
+ addressConfigFile.clear();
}
- addressConfigFile.clear();
addressConfigFile.open(DBUS_GLOBAL_CONFIG_FQN);
if(addressConfigFile.is_open()) {
readConfigFile(addressConfigFile);
dbusToCommonApiAddress.insert( {std::get<0>(serviceDetails), currentlyParsedCommonApiAddress});
}
reset(serviceDetails);
- currentlyParsedCommonApiAddress = readLine.substr(1, readLineLength - 2);
- newAddressFound = commonApiAddressDetails.find(currentlyParsedCommonApiAddress) == commonApiAddressDetails.end();
+ std::string newAddress = readLine.substr(1, readLineLength - 2);
+ if (isValidCommonApiAddress(newAddress)) {
+ currentlyParsedCommonApiAddress = std::move(newAddress);
+ newAddressFound = commonApiAddressDetails.find(currentlyParsedCommonApiAddress) == commonApiAddressDetails.end();
+ }
} else if (newAddressFound) {
readValue(readLine, serviceDetails);