Diffstat (limited to 'noncore/settings/networksettings/ppp/pppdata.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/ppp/pppdata.cpp | 250 |
1 files changed, 137 insertions, 113 deletions
diff --git a/noncore/settings/networksettings/ppp/pppdata.cpp b/noncore/settings/networksettings/ppp/pppdata.cpp index 3f1675c..59d68c9 100644 --- a/noncore/settings/networksettings/ppp/pppdata.cpp +++ b/noncore/settings/networksettings/ppp/pppdata.cpp @@ -40,17 +40,4 @@ -PPPData *PPPData::_data = 0; -Config *PPPData::config = 0; - -PPPData* PPPData::data() -{ - if (!_data){ - qDebug("PPPData::data() creates new Instance"); - _data = new PPPData(); - } - if (!_data->config){ - qDebug("PPPData::data() opens conffile"); - _data->open(); - } - return _data; -} +#define SEPARATOR -sseepp- +#define SEP QString("%1SEPARATOR%1") @@ -64,13 +51,2 @@ PPPData::PPPData() { -} - - -// -// open configuration file -// -bool PPPData::open() { - qDebug("opening configfile NetworkSetupPPP"); - if (config) return true; - config = new Config("NetworkSetupPPP"); - highcount = readNumConfig(GENERAL_GRP, NUMACCOUNTS_KEY, 0) - 1; @@ -92,5 +68,8 @@ bool PPPData::open() { - return true; } +Config PPPData::config() +{ + return Config("NetworkSetupPPP"); +} @@ -99,15 +78,40 @@ bool PPPData::open() { // -void PPPData::save() { - - if (config) { +void PPPData::save() +{ + qDebug("PPPData saving data"); writeConfig(GENERAL_GRP, NUMACCOUNTS_KEY, count()); - delete config; - config = 0; - qDebug("worte confi NetworkSetupPPP"); - } - if (_data){ - delete _data; - _data = 0; - } - + QString key; + QStringList keys; + Config cfg = config(); + for( QMap<QString,QString>::Iterator it = stringEntries.begin(); + it != stringEntries.end(); ++it ){ + QString val = it.data(); + key = it.key(); +// qDebug("saving %s -> %s", key.latin1(), val.latin1() ); + keys = QStringList::split( "SEPARATOR", key ); + qDebug("group >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); + cfg.setGroup(keys[0]); + cfg.writeEntry(keys[1], val); + } + for( QMap<QString,int>::Iterator it = intEntries.begin(); + it != intEntries.end(); ++it ){ + int val = it.data(); + key = it.key(); +// qDebug("saving %s -> %i", key.latin1(), val ); + keys = QStringList::split( "SEPARATOR", key ); + qDebug("group >%s< key >%s< val %i", keys[0].latin1(), keys[1].latin1(), val ); + cfg.setGroup(keys[0]); + cfg.writeEntry(keys[1], val); + } + for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); + it != listEntries.end(); ++it ){ + QStringList val = it.data(); + key = it.key(); + QChar sep = sepEntries[key]; +// qDebug("saving %s -> %s", key.latin1(), val.join(sep).latin1() ); + keys = QStringList::split( "SEPARATOR", key ); + qDebug("group >%s< key >%s<values >%s<", keys[0].latin1(), keys[1].latin1(), val.join(sep).latin1() ); + cfg.setGroup(keys[0]); + cfg.writeEntry(keys[1], val, sep); + } } @@ -119,18 +123,7 @@ void PPPData::save() { void PPPData::cancel() { - -// if (config) { -// config->rollback(); -// config->reparseConfiguration(); -// } - + stringEntries.clear(); + intEntries.clear(); + listEntries.clear(); } - -// // currently differentiates between READWRITE and NONE only -// int PPPData::access() const { - -// return 1;//config->getConfigState(); -// } - - // functions to read/write date to configuration file @@ -140,7 +133,8 @@ QString PPPData::readConfig(const QString &group, const QString &key, // qDebug("PPPData::readConfig key >%s< group >%s<",key.latin1(), group.latin1()); - if (config) { - config->setGroup(group); - return config->readEntry(key, defvalue); - } else - return defvalue; + QString idx = SEP.arg(group).arg(key); + if (stringEntries.find(idx) != stringEntries.end()) + return stringEntries[idx]; + Config cfg = config(); + cfg.setGroup(group); + return cfg.readEntry(key, defvalue); } @@ -149,8 +143,16 @@ QString PPPData::readConfig(const QString &group, const QString &key, int PPPData::readNumConfig(const QString &group, const QString &key, - int defvalue) { - if (config) { - config->setGroup(group); - return config->readNumEntry(key, defvalue); - } else - return defvalue; + int defvalue) +{ + QString idx = SEP.arg(group).arg(key); + if (intEntries.find(idx) != intEntries.end()) + return intEntries[idx]; + Config cfg = config(); + cfg.setGroup(group); + return cfg.readNumEntry(key, defvalue); + +// if (config) { +// config->setGroup(group); +// return config->readNumEntry(key, defvalue); +// } else +// return defvalue; @@ -162,8 +164,19 @@ bool PPPData::readListConfig(const QString &group, const QString &key, list.clear(); - if (config) { - config->setGroup(group); - list = config->readListEntry(key, sep); - return true; - } else - return false; + QString idx = SEP.arg(group).arg(key); + if (listEntries.find(idx) != listEntries.end()){ + list = listEntries[idx]; + return true; + } + Config cfg = config(); + cfg.setGroup(group); + list = cfg.readListEntry(key, sep); + if (list.count() > 0) return true; + return false; + +// if (config) { +// config->setGroup(group); +// list = config->readListEntry(key, sep); +// return true; +// } else +// return false; } @@ -173,6 +186,7 @@ void PPPData::writeConfig(const QString &group, const QString &key, const QString &value) { - if (config) { - config->setGroup(group); - config->writeEntry(key, value); - } + stringEntries.insert( SEP.arg(group).arg(key), value ); +// if (config) { +// config->setGroup(group); +// config->writeEntry(key, value); +// } } @@ -180,7 +194,9 @@ void PPPData::writeConfig(const QString &group, const QString &key, -void PPPData::writeConfig(const QString &group, const QString &key, int value) { - if (config) { - config->setGroup(group); - config->writeEntry(key, value); - } +void PPPData::writeConfig(const QString &group, const QString &key, int value) +{ + intEntries.insert( SEP.arg(group).arg(key), value ); +// if (config) { +// config->setGroup(group); +// config->writeEntry(key, value); +// } } @@ -189,7 +205,10 @@ void PPPData::writeConfig(const QString &group, const QString &key, int value) { void PPPData::writeListConfig(const QString &group, const QString &key, - QStringList &list, char sep) { - if (config) { - config->setGroup(group); - config->writeEntry(key, list, sep); - } + QStringList &list, char sep) +{ + listEntries.insert( SEP.arg(group).arg(key), list ); + sepEntries.insert( SEP.arg(group).arg(key), sep ); +// if (config) { +// config->setGroup(group); +// config->writeEntry(key, list, sep); +// } } @@ -283,20 +302,20 @@ void PPPData::set_automatic_redial(bool set) { -bool PPPData::get_iconify_on_connect() { - return (bool) readNumConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, TRUE); -} +// bool PPPData::get_iconify_on_connect() { +// return (bool) readNumConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, TRUE); +// } -void PPPData::set_iconify_on_connect(bool set) { - writeConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, (int) set); -} +// void PPPData::set_iconify_on_connect(bool set) { +// writeConfig(GENERAL_GRP, ICONIFY_ON_CONNECT_KEY, (int) set); +// } -bool PPPData::get_dock_into_panel() { - return (bool) readNumConfig(GENERAL_GRP, DOCKING_KEY, false); -} +// bool PPPData::get_dock_into_panel() { +// return (bool) readNumConfig(GENERAL_GRP, DOCKING_KEY, false); +// } -void PPPData::set_dock_into_panel(bool set) { - writeConfig(GENERAL_GRP, DOCKING_KEY, (int) set); -} +// void PPPData::set_dock_into_panel(bool set) { +// writeConfig(GENERAL_GRP, DOCKING_KEY, (int) set); +// } @@ -792,3 +811,3 @@ int PPPData::newaccount() { qDebug("PPPData::newaccount highcount %i/%i",highcount,MAX_ACCOUNTS); - if(!config) open(); +// if(!config) open(); if (highcount >= MAX_ACCOUNTS) return -1; @@ -992,10 +1011,10 @@ void PPPData::setAcctEnabled(bool set) { -int PPPData::VolAcctEnabled() { - return readNumConfig(cgroup, VOLACCTENABLED_KEY, 0); -} +// int PPPData::VolAcctEnabled() { +// return readNumConfig(cgroup, VOLACCTENABLED_KEY, 0); +// } -void PPPData::setVolAcctEnabled(int set) { - writeConfig(cgroup, VOLACCTENABLED_KEY, set); -} +// void PPPData::setVolAcctEnabled(int set) { +// writeConfig(cgroup, VOLACCTENABLED_KEY, set); +// } @@ -1025,3 +1044,3 @@ bool PPPData::autoDNS() { bool set = (bool) readNumConfig(cgroup, AUTODNS_KEY, true); - return (set && PPPData::data()->pppdVersionMin(2, 3, 7)); + return (set && pppdVersionMin(2, 3, 7)); } @@ -1228,8 +1247,12 @@ QMap<QString,QString> PPPData::getConfiguredInterfaces() QMap<QString,QString> ifaces; - int count = readNumConfig( ACCLIST_GRP, ACCOUNTS_COUNT, -1 ); - QString accGrp; + Config config = PPPData::config(); + config.setGroup(ACCLIST_GRP); + int count = config.readNumEntry( ACCOUNTS_COUNT, -1 ); + QString accGrp, dev, acc; for (int i = 0; i < count; i++){ accGrp = QString("%1_%1").arg(ACCLIST_GRP).arg(i); - ifaces.insert( readConfig( accGrp, ACOUNTS_DEV, "error" ), - readConfig( accGrp, ACOUNTS_ACC, "error" ) ); + config.setGroup(accGrp); + dev = config.readEntry( ACOUNTS_DEV, "error" ); + acc = config.readEntry( ACOUNTS_ACC, "error" ); + ifaces.insert( dev, acc ); } @@ -1242,10 +1265,11 @@ void PPPData::setConfiguredInterfaces( QMap<QString,QString> ifaces ) QMap<QString,QString>::Iterator it; - QString accGrp; int i = 0; + Config cfg = config(); for( it = ifaces.begin(); it != ifaces.end(); ++it, ++i ){ - accGrp = QString("%1_%1").arg(ACCLIST_GRP).arg(i); - writeConfig( accGrp, ACOUNTS_DEV, it.key() ); - writeConfig( accGrp, ACOUNTS_ACC, it.data() ); + cfg.setGroup(QString("%1_%1").arg(ACCLIST_GRP).arg(i)); + cfg.writeEntry( ACOUNTS_DEV, it.key() ); + cfg.writeEntry( ACOUNTS_ACC, it.data() ); } - writeConfig( ACCLIST_GRP, ACCOUNTS_COUNT, i ); + cfg.setGroup( ACCLIST_GRP ); + cfg.writeEntry( ACCOUNTS_COUNT, i ); |