summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/ppp/pppdata.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings/ppp/pppdata.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/ppp/pppdata.cpp54
1 files changed, 29 insertions, 25 deletions
diff --git a/noncore/settings/networksettings/ppp/pppdata.cpp b/noncore/settings/networksettings/ppp/pppdata.cpp
index 109e3b7..3f1675c 100644
--- a/noncore/settings/networksettings/ppp/pppdata.cpp
+++ b/noncore/settings/networksettings/ppp/pppdata.cpp
@@ -34,55 +34,54 @@
#include <qapplication.h>
// #include <klocale.h>
// #include <kconfig.h>
// #include <kmessagebox.h>
// #include <kapplication.h>
#include <assert.h>
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;
}
PPPData::PPPData()
- : //config(0L),
+ : modemDeviceGroup(-1),
highcount(-1), // start out with no entries
caccount(-1), // set the current account index also
suidprocessid(-1), // process ID of setuid child
pppdisrunning(false),
- pppderror(0),
- modemDeviceGroup(-1)
+ pppderror(0)
{
}
//
// 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;
if (highcount > MAX_ACCOUNTS)
highcount = MAX_ACCOUNTS;
if(highcount >= 0 && defaultAccount().isEmpty()) {
setAccountbyIndex(0);
setDefaultAccount(accname());
} else if(!setAccount(defaultAccount()))
setDefaultAccount(accname());
// start out with internal debugging disabled
@@ -308,49 +307,48 @@ QString PPPData::pppdVersion() {
bool PPPData::pppdVersionMin(int ver, int mod, int patch) {
// check if pppd version fulfills minimum requirement
return (pppdVer > ver
|| (pppdVer == ver && pppdMod > mod)
|| (pppdVer == ver && pppdMod == mod && pppdPatch >= patch));
}
int PPPData::pppdTimeout() {
return readNumConfig(GENERAL_GRP, PPPDTIMEOUT_KEY, PPPD_TIMEOUT);
}
void PPPData::setpppdTimeout(int n) {
writeConfig(GENERAL_GRP, PPPDTIMEOUT_KEY, n);
}
const QString PPPData::modemDevice() {
return readConfig (modemGroup(), MODEMDEV_KEY, devices[DEV_DEFAULT]);
}
bool PPPData::setModemDevice(const QString &n) {
- //FIXME: change modem group
bool ret = false;
for (int i = 0; devices[i]; i++)
if (devices[i] == n){
modemDeviceGroup = i;
writeConfig(modemGroup(), MODEMDEV_KEY, n);
ret = true;
}
return ret;
}
const QString PPPData::flowcontrol() {
return readConfig(modemGroup(), FLOWCONTROL_KEY, "CRTSCTS");
}
void PPPData::setFlowcontrol(const QString &n) {
writeConfig(modemGroup(), FLOWCONTROL_KEY, n);
}
const QString PPPData::speed() {
QString s = readConfig(modemGroup(), SPEED_KEY, "57600");
// undo the damage of a bug in former versions. It left an empty Speed=
@@ -783,49 +781,49 @@ bool PPPData::deleteAccount(const QString &aname) {
if(!setAccount(aname))
return false;
deleteAccount();
return true;
}
int PPPData::newaccount() {
qDebug("PPPData::newaccount highcount %i/%i",highcount,MAX_ACCOUNTS);
if(!config) open();
if (highcount >= MAX_ACCOUNTS) return -1;
highcount++;
setAccountbyIndex(highcount);
setpppdArgumentDefaults();
qDebug("PPPData::newaccount -> %i",caccount);
return caccount;
}
int PPPData::copyaccount(int i) {
-
+// FIXME
// if(highcount >= MAX_ACCOUNTS)
return -1;
// setAccountbyIndex(i);
// QMap <QString, QString> map = config->entryMap(cgroup);
// QMap <QString, QString>::ConstIterator it = map.begin();
// QString newname = i18n("%1_copy").arg(accname());
// newaccount();
// while (it != map.end()) {
// config->writeEntry(it.key(), *it);
// it++;
// }
// setAccname(newname);
// return caccount;
}
const QString PPPData::accname() {
@@ -1200,49 +1198,55 @@ void PPPData::setpppdArgumentDefaults() {
//
//functions to change/set the child pppd process info
//
bool PPPData::pppdRunning() const {
return pppdisrunning;
}
void PPPData::setpppdRunning(bool set) {
pppdisrunning = set;
}
int PPPData::pppdError() const {
return pppderror;
}
void PPPData::setpppdError(int err) {
pppderror = err;
}
QString PPPData::modemGroup()
{
if (modemDeviceGroup<0)qFatal("wrong modem %i",modemDeviceGroup);
- return QString("MODEM_GRP_%1").arg(modemDeviceGroup);
+ return QString("%1_%1").arg(MODEM_GRP).arg(modemDeviceGroup);
}
-// //
-// // window position
-// //
-// void PPPData::winPosConWin(int& p_x, int& p_y) {
-// p_x = readNumConfig(WINPOS_GRP, WINPOS_CONWIN_X, QApplication::desktop()->width()/2-160);
-// p_y = readNumConfig(WINPOS_GRP, WINPOS_CONWIN_Y, QApplication::desktop()->height()/2-55);
-// }
-// void PPPData::setWinPosConWin(int p_x, int p_y) {
-// writeConfig(WINPOS_GRP, WINPOS_CONWIN_X, p_x);
-// writeConfig(WINPOS_GRP, WINPOS_CONWIN_Y, p_y);
-// }
+QMap<QString,QString> PPPData::getConfiguredInterfaces()
+{
+ QMap<QString,QString> ifaces;
+ int count = readNumConfig( ACCLIST_GRP, ACCOUNTS_COUNT, -1 );
+ QString accGrp;
+ 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" ) );
+ }
-// void PPPData::winPosStatWin(int& p_x, int& p_y) {
-// p_x = readNumConfig(WINPOS_GRP, WINPOS_STATWIN_X, QApplication::desktop()->width()/2-160);
-// p_y = readNumConfig(WINPOS_GRP, WINPOS_STATWIN_Y, QApplication::desktop()->height()/2-55);
-// }
+ return ifaces;
+}
-// void PPPData::setWinPosStatWin(int p_x, int p_y) {
-// writeConfig(WINPOS_GRP, WINPOS_STATWIN_X, p_x);
-// writeConfig(WINPOS_GRP, WINPOS_STATWIN_Y, p_y);
-// }
+void PPPData::setConfiguredInterfaces( QMap<QString,QString> ifaces )
+{
+ QMap<QString,QString>::Iterator it;
+ QString accGrp;
+ int i = 0;
+ 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() );
+ }
+ writeConfig( ACCLIST_GRP, ACCOUNTS_COUNT, i );
+
+}