You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.3 KiB

#include "ConfigManager.h"
#include "LogManager.h"
#include <QFile>
#include <QSettings>
const QString &ConfigManager::logFilename() const
{
return _logFilename;
}
ConfigManager::ConfigManager() {}
void ConfigManager::load(const QString &filepath)
{
QFile file(filepath);
if (!file.exists()) {
LOG_INFO << QString("Cannot find config file %1").arg(filepath);
}
QSettings *settings = new QSettings(filepath, QSettings::IniFormat);
settings->beginGroup("server");
_serverPort = settings->value("port").toInt();
settings->endGroup();
settings->beginGroup("database");
_databaseConf.insert("driver", settings->value("driver").toString());
_databaseConf.insert("host", settings->value("host").toString());
_databaseConf.insert("port", settings->value("port").toInt());
_databaseConf.insert("database", settings->value("database").toString());
_databaseConf.insert("username", settings->value("username").toString());
_databaseConf.insert("password", settings->value("password").toString());
settings->endGroup();
settings->beginGroup("log");
_logFilename = settings->value("filename").toString();
settings->endGroup();
}
qint32 ConfigManager::serverPort() const
{
return _serverPort;
}
const QMap<QString, QVariant> &ConfigManager::databaseConf() const
{
return _databaseConf;
}