if(addressConfigFile.is_open()) {
readConfigFile(addressConfigFile);
- } else {
- addressConfigFile.clear();
- addressConfigFile.open(DBUS_GLOBAL_CONFIG_FQN);
- 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.open(DBUS_GLOBAL_CONFIG_FQN);
+ if(addressConfigFile.is_open()) {
+ readConfigFile(addressConfigFile);
+ addressConfigFile.close();
}
}
knownDBusAddresses.insert( {currentlyParsedCommonApiAddress, dbusServiceAddress});
knownCommonAddresses.insert( {dbusServiceAddress, currentlyParsedCommonApiAddress});
}
-
- addressConfigFile.close();
}
static const char* DBUS_CONFIG_SUFFIX = "_dbus.conf";
static const char* DBUS_GLOBAL_CONFIG_FQN = "/etc/CommonApiDBus/dbusAddresses.conf";
+static const char* DBUS_GLOBAL_CONFIG_ROOT = "/etc/CommonApiDBus/";
inline std::vector<std::string>& split(const std::string& s, char delim, std::vector<std::string>& elems) {
std::istringstream ss(s);