- if (m_database != NULL)
- XrmDestroyDatabase(m_database);
- m_modified = false;
- if (NULL == (m_database = XrmGetFileDatabase(m_file.c_str())))
- return false;
- return true;
+ if (_database != NULL)
+ XrmDestroyDatabase(_database);
+ _modified = False;
+ if (NULL == (_database = XrmGetFileDatabase(_file.c_str())))
+ return False;
+ return True;
+}
+
+bool Configuration::merge(const string &file, bool overwrite) {
+ if (XrmCombineFileDatabase(file.c_str(), &_database, overwrite) == 0)
+ return False;
+ _modified = True;
+ if (_autosave)
+ save();
+ return True;