summaryrefslogtreecommitdiffstats
path: root/tests/auto/network-settings.h
diff options
context:
space:
mode:
authorAleksandar Sasha Babic <aleksandar.babic@nokia.com>2009-04-28 12:02:40 (GMT)
committerAleksandar Sasha Babic <aleksandar.babic@nokia.com>2009-04-28 12:02:40 (GMT)
commit251e63bfcd5db5947ad3b6699cae6fd3d67d873c (patch)
tree2502cde31f58195ed8e04a840290afe0c5c60ab5 /tests/auto/network-settings.h
parent0e5fd6b280e597edd8b5884f38e7450891224846 (diff)
downloadQt-251e63bfcd5db5947ad3b6699cae6fd3d67d873c.zip
Qt-251e63bfcd5db5947ad3b6699cae6fd3d67d873c.tar.gz
Qt-251e63bfcd5db5947ad3b6699cae6fd3d67d873c.tar.bz2
Simple refactoring how the data are fetched and stored.
Diffstat (limited to 'tests/auto/network-settings.h')
-rw-r--r--tests/auto/network-settings.h54
1 files changed, 29 insertions, 25 deletions
diff --git a/tests/auto/network-settings.h b/tests/auto/network-settings.h
index 9afe815..952ab89 100644
--- a/tests/auto/network-settings.h
+++ b/tests/auto/network-settings.h
@@ -131,11 +131,10 @@ public:
if(QtNetworkSettings::entries.contains("server.ip")) {
QtNetworkSettingsRecord* entry = entries["server.ip"];
- QByteArray valueAsAscii = entry->recordValue().toAscii();
- if(*serverIPAscii == 0) {
- ::strcpy(serverIPAscii, valueAsAscii.data());
+ if(serverIp.isNull()) {
+ serverIp = entry->recordValue().toAscii();
}
- return serverIPAscii;
+ return serverIp.data();
}
#endif
//return "10.10.0.147";
@@ -178,13 +177,22 @@ public:
#ifdef Q_OS_SYMBIAN
static void setDefaultIap()
{
+ loadDefaultIap();
+
struct ifreq ifReq;
- strcpy( ifReq.ifr_name, getDefaultIap().toAscii().constData());
+ if(entries.contains("iap.default")) {
+ QtNetworkSettingsRecord* entry = entries["iap.default"];
+ QByteArray tmp(entry->recordValue().toAscii());
+ strcpy( ifReq.ifr_name, tmp.data());
+ }
+ else // some default value
+ strcpy( ifReq.ifr_name, "Lab");
+
int err = setdefaultif( &ifReq );
if(err)
- printf("Setting default IAP - '%s' failed: %d\n", getDefaultIap().toAscii().constData(), err);
+ printf("Setting default IAP - '%s' failed: %d\n", ifReq.ifr_name, err);
else
- printf("'%s' used as an default IAP\n", getDefaultIap().toAscii().constData());
+ printf("'%s' used as an default IAP\n", ifReq.ifr_name);
}
#endif
@@ -196,20 +204,14 @@ private:
static bool bDefaultIapLoaded;
static bool bTestSettingsLoaded;
static QString iapFileFullPath;
- static QString strDefaultIap;
- static char serverIPAscii[256];
-
- static QString getDefaultIap() {
- if(!bDefaultIapLoaded) {
- if(!loadDefaultIap()) // not found in file - use default
- strDefaultIap = QString("Lab");
- }
-
- return strDefaultIap;
- }
+ static QByteArray serverIp;
static bool loadDefaultIap() {
+ if(bDefaultIapLoaded)
+ return true;
+
QFile iapCfgFile(iapFileFullPath);
+
bool bFoundDefaultIapTag = false;
if (iapCfgFile.open(QFile::ReadOnly)) {
@@ -222,21 +224,24 @@ private:
if(line.contains(QString("[DEFAULT]"))) {
bFoundDefaultIapTag = true;
- } else if(line.startsWith(QString("[")) && bFoundDefaultIapTag) {
- bFoundDefaultIapTag = false;
- break; // stick to default
+ } else if(line.contains(QString("[")) && bFoundDefaultIapTag) {
+ break;
}
if(bFoundDefaultIapTag && line.contains("name")) {
int position = line.indexOf(QString("="));
position += QString("=").length();
- strDefaultIap = line.mid(position).trimmed();
+
+ //create record
+ QtNetworkSettingsRecord *entry =
+ new QtNetworkSettingsRecord( QString("iap.default"), line.mid(position).trimmed() );
+ entries.insert(entry->recordName(), entry);
break;
}
} while (!line.isNull());
}
- return bFoundDefaultIapTag;
+ return bDefaultIapLoaded = bFoundDefaultIapTag;
}
static bool loadTestSettings() {
@@ -290,8 +295,7 @@ QHash<QString, QtNetworkSettingsRecord* > QtNetworkSettings::entries = QHash<QSt
bool QtNetworkSettings::bDefaultIapLoaded = false;
bool QtNetworkSettings::bTestSettingsLoaded = false;
QString QtNetworkSettings::iapFileFullPath = QString("C:\\Data\\iap.txt");
-QString QtNetworkSettings::strDefaultIap = QString("");
-char QtNetworkSettings::serverIPAscii[256];
+QByteArray QtNetworkSettings::serverIp;
#endif
#ifdef Q_OS_SYMBIAN