Source Code (Use browser search to find items of interest.)
Class Index
kppp'ModemDatabase (./kdenetwork/kppp/modemdb.h:47)
class ModemDatabase {
public:
ModemDatabase();
~ModemDatabase();
const QStrList *vendors();
QStrList *models(QString vendor);
void save(KConfig *);
private:
void load();
void loadModem(const char *key, CharDict &dict);
QList<CharDict> modems;
QStrList *lvendors;
KConfig *modemDB;
};
kppp'ModemDatabase::ModemDatabase() (./kdenetwork/kppp/modemdb.cpp:133)
ModemDatabase::ModemDatabase() {
load();
}
kppp'ModemDatabase::~ModemDatabase() (./kdenetwork/kppp/modemdb.cpp:138)
ModemDatabase::~ModemDatabase() {
delete lvendors;
delete modemDB;
}
kppp'ModemDatabase::vendors() (./kdenetwork/kppp/modemdb.cpp:144)
const QStrList *ModemDatabase::vendors() {
return lvendors;
}
kppp'ModemDatabase::models() (./kdenetwork/kppp/modemdb.cpp:149)
QStrList *ModemDatabase::models(QString vendor) {
QStrList *sl = new QStrList;
QString s = i18n("<Generic>");
if(vendor == s)
vendor = i18n("<Generic>");
for(uint i = 0; i < modems.count(); i++) {
CharDict *dict = modems.at(i);
if(dict->find("Vendor") != 0) {
if(vendor == (*dict)["Vendor"] && (*dict)["Name"][0] != '!')
sl->inSort((*dict)["Name"]);
}
}
return sl;
}
kppp'ModemDatabase::loadModem() (./kdenetwork/kppp/modemdb.cpp:167)
void ModemDatabase::loadModem(const char *key, CharDict &dict) {
// KEntryIterator *it = modemDB->entryIterator(key);
// KEntryDictEntry *e;
QMap <QString, QString> map;
QMap <QString, QString>::Iterator it;
// KEntryMapConstIterator e;
KEntry e;
map = modemDB->entryMap(key);
it = map.begin();
// remove parent attribute
dict.setAutoDelete(true);
dict.remove("Parent");
// e = it->current();
while(it.key() != QString::null) {
if(dict.find(it.key()) == 0) {
char *value = new char[it.data().length()+1];
strcpy(value, it.data());
dict.insert(it.key(), value);
}
it++;
}
// check name attribute
if(dict["Name"] == 0 || key[0]=='!') {
char *name = new char[strlen(key)+1];
strcpy(name, key);
dict.replace("Name", name);
}
// check parent attribute
if(dict["Parent"] != 0)
loadModem(dict["Parent"], dict);
else
// inherit common at last
if(strcmp(key, "Common") != 0)
loadModem("Common", dict);
}
kppp'ModemDatabase::load() (./kdenetwork/kppp/modemdb.cpp:209)
void ModemDatabase::load() {
modemDB = new KConfig("DB/modemDB.rc", QString::null);
lvendors = new QStrList;
lvendors->setAutoDelete(true);
modems.setAutoDelete(true);
QStringList list = modemDB->groupList();
QStringList::Iterator it = list.begin();
while(it != list.end()) {
modemDB->setGroup(*it);
CharDict *c = new CharDict;
c->setAutoDelete(true);
loadModem((*it).latin1(), *c);
// if(strcmp(it->latin1(), "Common") == 0) {
if(*it == "Common") {
QString s = i18n("Hayes(tm) compatible modem");
char *name = new char[s.length()+1];
strcpy(name, s);
c->replace("Name", name);
s = i18n("<Generic>");
char *vend = new char[s.length()+1];
strcpy(vend, s);
c->replace("Vendor", vend);
}
modems.append(c);
if(modemDB->hasKey("Vendor")) {
QString vendor = modemDB->readEntry("Vendor");
if(lvendors->find(vendor) == -1)
lvendors->inSort(vendor);
}
++it;
}
lvendors->insert(0, i18n("<Generic>"));
}
kppp'ModemDatabase::save() (./kdenetwork/kppp/modemdb.cpp:249)
void ModemDatabase::save(KConfig *) {
}