From 527e77d8244fb25d0bab39857eebbdfbcbfb807a Mon Sep 17 00:00:00 2001 From: benmeyer Date: Wed, 02 Oct 2002 17:22:50 +0000 Subject: Add Connection function more filled in --- diff --git a/noncore/net/networksetup/TODO b/noncore/net/networksetup/TODO index 9a1657a..e69de29 100644 --- a/noncore/net/networksetup/TODO +++ b/noncore/net/networksetup/TODO @@ -1 +0,0 @@ -Fix DHCP obtained and expoired info diff --git a/noncore/net/networksetup/addservice.ui b/noncore/net/networksetup/addconnection.ui index 929f4fb..a349804 100644 --- a/noncore/net/networksetup/addservice.ui +++ b/noncore/net/networksetup/addconnection.ui @@ -1,23 +1,23 @@ -AddService +AddConnection QDialog name - AddService + AddConnection geometry 0 0 - 245 + 233 268 caption - Add Network Service + Add Network Connection @@ -36,7 +36,7 @@ text - Cancel + &Cancel @@ -47,7 +47,7 @@ text - Add + &Add @@ -121,8 +121,7 @@ text - LAN - TCP/IP -For Local-area network connections through PC_CARD network interfdace cards. + alignment @@ -141,13 +140,13 @@ For Local-area network connections through PC_CARD network interfdace cards. cancelButton clicked() - AddService + AddConnection reject() addButton clicked() - AddService + AddConnection accept() diff --git a/noncore/net/networksetup/addconnectionimp.cpp b/noncore/net/networksetup/addconnectionimp.cpp new file mode 100644 index 0000000..ee7bd97 --- a/dev/null +++ b/noncore/net/networksetup/addconnectionimp.cpp @@ -0,0 +1,38 @@ +#include "addconnectionimp.h" +#include +#include +#include +#include + +/** + * Constructor + */ +AddConnectionImp::AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddConnection(parent, name, f){ + connect(registeredServicesList, SIGNAL(selectionChanged()), this, SLOT(changed())); + registeredServicesList->header()->hide(); +}; + +/** + * The current item changed, update the discription. + */ +void AddConnectionImp::changed(){ + QListViewItem *item = registeredServicesList->currentItem(); + if(item){ + help->setText(list[item->text(0)]); + } +} + +/** + * Save a copy of newList for the discriptions and append them all to the view + * @param newList the new list of possible interfaces + */ +void AddConnectionImp::addConnections(QMap newList){ + list = newList; + QMap::Iterator it; + for( it = list.begin(); it != list.end(); ++it ) + QListViewItem *item = new QListViewItem(registeredServicesList, it.key()); + registeredServicesList->setCurrentItem(registeredServicesList->firstChild()); +} + +// addserviceimp.cpp + diff --git a/noncore/net/networksetup/addconnectionimp.h b/noncore/net/networksetup/addconnectionimp.h new file mode 100644 index 0000000..643cd9a --- a/dev/null +++ b/noncore/net/networksetup/addconnectionimp.h @@ -0,0 +1,29 @@ +#ifndef ADDCONNECTIONIMP_H +#define ADDCONNECTIONIMP_H + +#include "addconnection.h" +#include +#include + +class QListViewItem; + +class AddConnectionImp : public AddConnection { + +Q_OBJECT + +public: + AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0); + void addConnections(QMap newList); + +private slots: + void changed(); + +private: + QMap list; + +}; + +#endif + +// addconectionimp.h + diff --git a/noncore/net/networksetup/addserviceimp.cpp b/noncore/net/networksetup/addserviceimp.cpp deleted file mode 100644 index ac79d06..0000000 --- a/noncore/net/networksetup/addserviceimp.cpp +++ b/dev/null @@ -1,26 +0,0 @@ -#include "addserviceimp.h" -#include -#include -#include - -void AddServiceImp::addServices(QList list){ - list.setAutoDelete(true); - - for(uint i = 0; i < list.count(); i++){ - QString pluginFileName = ""; - QLibrary *lib = new QLibrary(pluginFileName); - void *functionPointer = lib->resolve("info"); - if( !functionPointer ){ - qDebug(QString("AddServiceImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1()); - delete lib; - break; - } - - // Try to get an info. - QString info = ((QString (*)()) functionPointer)(); - QListViewItem *newItem = new QListViewItem(registeredServicesList, info); - } -} - - -// addserviceimp.cpp diff --git a/noncore/net/networksetup/addserviceimp.h b/noncore/net/networksetup/addserviceimp.h deleted file mode 100644 index 7cacb97..0000000 --- a/noncore/net/networksetup/addserviceimp.h +++ b/dev/null @@ -1,26 +0,0 @@ -#ifndef ADDSERVICEIMP_H -#define ADDSERVICEIMP_H - -#include "addservice.h" -#include -#include - -class QListViewItem; - -class AddServiceImp : public AddService { - -Q_OBJECT - -public: - AddServiceImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddService(parent, name, f){}; - void addServices(QList list); - -private: - QMap pluginInfo; - -}; - -#endif - -// addserviceimp.h - diff --git a/noncore/net/networksetup/interface.h b/noncore/net/networksetup/interface.h index 5dc95a4..1406e99 100644 --- a/noncore/net/networksetup/interface.h +++ b/noncore/net/networksetup/interface.h @@ -4,6 +4,7 @@ #include class Module; + class Interface { public: diff --git a/noncore/net/networksetup/interfacesetupimp.cpp b/noncore/net/networksetup/interfacesetupimp.cpp index 6a8449d..951aeee 100644 --- a/noncore/net/networksetup/interfacesetupimp.cpp +++ b/noncore/net/networksetup/interfacesetupimp.cpp @@ -13,7 +13,6 @@ #include -#define INTERFACE_FILE "/home/ben/interfaces" #define DNSSCRIPT "interfacednsscript" /** @@ -22,7 +21,7 @@ InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : InterfaceSetup(parent, name, modal, fl){ assert(i); interface = i; - interfaces = new Interfaces(INTERFACE_FILE); + interfaces = new Interfaces(); changeProfile(profileCombo->currentText()); bool error = false; if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ diff --git a/noncore/net/networksetup/mainwindow.ui b/noncore/net/networksetup/mainwindow.ui index a3f7bb1..f5b104a 100644 --- a/noncore/net/networksetup/mainwindow.ui +++ b/noncore/net/networksetup/mainwindow.ui @@ -102,7 +102,7 @@ name - serviceList + connectionList allColumnsShowFocus @@ -131,7 +131,7 @@ QPushButton name - addServiceButton + addConnectionButton text @@ -142,7 +142,7 @@ QPushButton name - informationServiceButton + informationConnectionButton text @@ -153,7 +153,7 @@ QPushButton name - configureServiceButton + configureConnectionButton text @@ -164,7 +164,7 @@ QPushButton name - removeServiceButton + removeConnectionButton text diff --git a/noncore/net/networksetup/mainwindowimp.cpp b/noncore/net/networksetup/mainwindowimp.cpp index 89dac6f..66ec8b5 100644 --- a/noncore/net/networksetup/mainwindowimp.cpp +++ b/noncore/net/networksetup/mainwindowimp.cpp @@ -1,10 +1,10 @@ #include "mainwindowimp.h" -#include "addserviceimp.h" +#include "addconnectionimp.h" #include "interfaceinformationimp.h" #include "interfacesetupimp.h" -#include "kprocess.h" #include "module.h" +#include "kprocess.h" #include #include @@ -25,72 +25,68 @@ #include #include -// For library loading. -#include - #define TEMP_ALL "/tmp/ifconfig-a" #define TEMP_UP "/tmp/ifconfig" -MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true) { - connect(addServiceButton, SIGNAL(clicked()), this, SLOT(addClicked())); - connect(removeServiceButton, SIGNAL(clicked()), this, SLOT(removeClicked())); - connect(informationServiceButton, SIGNAL(clicked()), this, SLOT(informationClicked())); - connect(configureServiceButton, SIGNAL(clicked()), this, SLOT(configureClicked())); +MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){ + connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); + connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked())); + connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked())); + connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked())); connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile())); connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile())); connect(profilesList, SIGNAL(highlighted(const QString&)), this, SLOT(changeProfile(const QString&))); - // Make sure we have a plugin directory to scan. - QString DirStr = QDir::homeDirPath() + "/.networksetup/" ; - QDir pluginDir( DirStr ); - pluginDir.mkdir( DirStr ); - pluginDir.mkdir( ( DirStr + "plugins/" ) ); - QString path = DirStr + "plugins"; - pluginDir.setPath(path); - if(!pluginDir.exists()){ - qDebug(QString("MainWindowImp: ERROR: %1 %2").arg(__FILE__).arg(__LINE__).latin1()); - return; - } - - // Load any saved services. - loadModules(path); + // Load connections. + loadModules(QDir::homeDirPath() + "/.networksetup/plugins"); getInterfaceList(); - serviceList->header()->hide(); + connectionList->header()->hide(); Config cfg("NetworkSetup"); profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All")); for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it) profilesList->insertItem((*it)); + advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false); } /** - * Deconstructor. Unload libraries and save profile list. + * Deconstructor. Save profiles. Delete loaded libraries. */ MainWindowImp::~MainWindowImp(){ + // Save profiles. if(profiles.count() > 1){ Config cfg("NetworkSetup"); cfg.writeEntry("Profiles", profiles.join(" ")); } + // Delete Modules and Libraries + QMap::Iterator it; + for( it = libraries.begin(); it != libraries.end(); ++it ){ + delete it.key(); + delete it.data(); + } } +/** + * Load all modules that are found in the path + * @param path a directory that is scaned for any plugins that can be loaded + * and attempts to load them + */ void MainWindowImp::loadModules(QString path){ qDebug(path.latin1()); - QDir d; - d.setPath(path); - if(!d.exists()){ - qDebug("MainWindowImp:: Path doesn't exists"); + QDir d(path); + if(!d.exists()) return; - } + + // Don't want sym links d.setFilter( QDir::Files | QDir::NoSymLinks ); const QFileInfoList *list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; while ( (fi=it.current()) ) { if(fi->fileName().contains(".so")){ - qDebug("Found"); - Module *foo = loadPlugin(path + "/" + fi->fileName()); + loadPlugin(path + "/" + fi->fileName()); } ++it; } @@ -103,7 +99,7 @@ void MainWindowImp::loadModules(QString path){ * @return pointer to the function with name resolveString or NULL */ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString){ - qDebug(pluginFileName.latin1()); + qDebug(QString("MainWindowImp::loadPlugin: %1").arg(pluginFileName).latin1()); QLibrary *lib = new QLibrary(pluginFileName); void *functionPointer = lib->resolve(resolveString); if( !functionPointer ){ @@ -120,7 +116,7 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString) return NULL; } - // Store for reference + // Store for deletion later libraries.insert(object, lib); return object; } @@ -130,14 +126,25 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString) * load the plugin and append it to the list */ void MainWindowImp::addClicked(){ - // Now that we have a list of all of the protocals, list them. - { - QMessageBox::information(this, "No Modules", "Nothing to add.", "Ok"); + QMap::Iterator it; + QMap list; + list.insert("USB (PPP) / (ADD_TEST)", "A dialup connection over the USB port"); + list.insert("IrDa (PPP) / (ADD_TEST)", "A dialup connection over the IdDa port"); + for( it = libraries.begin(); it != libraries.end(); ++it ){ + if(it.key()) + (it.key())->possibleNewInterfaces(list); + } + // See if the list has anything that we can add. + if(list.count() == 0){ + QMessageBox::information(this, "Sorry", "Nothing to add.", "Ok"); return; } - AddServiceImp service(this, "AddService", true); - service.showMaximized(); - service.exec(); + AddConnectionImp addNewConnection(this, "AddConnectionImp", true); + addNewConnection.addConnections(list); + addNewConnection.showMaximized(); + if(QDialog::Accepted == addNewConnection.exec()){ + + } } /** @@ -145,7 +152,7 @@ void MainWindowImp::addClicked(){ * If they do then remove from the list and unload. */ void MainWindowImp::removeClicked(){ - QListViewItem *item = serviceList->currentItem(); + QListViewItem *item = connectionList->currentItem(); if(item == NULL) { QMessageBox::information(this, "Error","Please select an interface.", "Ok"); return; @@ -161,76 +168,69 @@ void MainWindowImp::removeClicked(){ } /** - * See if there is a configuration for the selected protocal. - * Prompt with errors. + * Pull up the configure about the currently selected interface. + * Report an error if no interface is selected. + * If the interface has a module owner then request its configure with a empty + * tab. If tab is !NULL then append the interfaces setup widget to it. */ void MainWindowImp::configureClicked(){ - QListViewItem *item = serviceList->currentItem(); - if(item == NULL){ - QMessageBox::information(this, "Error","Please select an interface.", "Ok"); - return; + QListViewItem *item = connectionList->currentItem(); + if(!item){ + QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok); + return; } - - if((interfaceItems[item])->getModuleOwner() == NULL){ - InterfaceSetupImp *conf = new InterfaceSetupImp(0, "InterfaceConfiguration", interfaceItems[item]); - conf->showMaximized(); - conf->show(); - } - else{ - QTabWidget *t = NULL; - QWidget *conf = (interfaceItems[item])->getModuleOwner()->configure(&t); - if(conf != NULL){ - qDebug("Conf found"); - if(t != NULL){ - qDebug("Adding Interface"); - InterfaceSetupImp *i = new InterfaceSetupImp(t, "TCPIPInformation", interfaceItems[item], true); - t->insertTab(i, "TCP/IP"); + + Interface *i = interfaceItems[item]; + if(i->getModuleOwner()){ + QTabWidget *tabWidget = NULL; + QWidget *moduleConfigure = i->getModuleOwner()->configure(&tabWidget); + if(moduleConfigure != NULL){ + if(tabWidget != NULL){ + InterfaceSetupImp *configure = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, true); + tabWidget->insertTab(configure, "TCP/IP"); } - conf->showMaximized(); - conf->show(); - } - else{ - InterfaceSetupImp *i = new InterfaceSetupImp(0, "TCPIPInformation", interfaceItems[item], true); - i->showMaximized(); - i->show(); + moduleConfigure->showMaximized(); + moduleConfigure->show(); + return; } } + + InterfaceSetupImp *configure = new InterfaceSetupImp(0, "InterfaceSetupImp", i, true); + configure->showMaximized(); + configure->show(); } /** - * Pull up the information about the selected interface - * Report an error + * Pull up the information about the currently selected interface. + * Report an error if no interface is selected. + * If the interface has a module owner then request its configure with a empty + * tab. If tab is !NULL then append the interfaces setup widget to it. */ void MainWindowImp::informationClicked(){ - QListViewItem *item = serviceList->currentItem(); - if(item == NULL){ - QMessageBox::information(this, "Error","Please select an interface.", "Ok"); + QListViewItem *item = connectionList->currentItem(); + if(!item){ + QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok); return; - } - - if( (interfaceItems[item])->getModuleOwner() == NULL){ - InterfaceInformationImp *i = new InterfaceInformationImp(0, "InterfaceInformationImp", interfaceItems[item]); - i->showMaximized(); - i->show(); - } - else{ - QTabWidget *t = NULL; - QWidget *conf = (interfaceItems[item])->getModuleOwner()->information(&t); - if(conf != NULL){ - if(t){ - qDebug("Adding Interface"); - InterfaceInformationImp *i = new InterfaceInformationImp(t, "TCPIPInformation", interfaceItems[item], true); - t->insertTab(i, "TCP/IP"); + } + + Interface *i = interfaceItems[item]; + if(i->getModuleOwner()){ + QTabWidget *tabWidget = NULL; + QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget); + if(moduleInformation != NULL){ + if(tabWidget != NULL){ + InterfaceInformationImp *information = new InterfaceInformationImp(tabWidget, "InterfaceSetupImp", i, true); + tabWidget->insertTab(information, "TCP/IP"); } - conf->showMaximized(); - conf->show(); + moduleInformation->showMaximized(); + moduleInformation->show(); + return; } - else{ - InterfaceInformationImp *i = new InterfaceInformationImp(0, "TCPIPInformation", interfaceItems[item], true); - i->showMaximized(); - i->show(); - } - } + } + + InterfaceInformationImp *information = new InterfaceInformationImp(0, "InterfaceSetupImp", i, true); + information->showMaximized(); + information->show(); } /** @@ -272,6 +272,10 @@ void MainWindowImp::jobDone(KProcess *process){ if(space > 1){ // We have found an interface QString interfaceName = line.mid(0, space); + if(!advancedUserMode){ + if(interfaceName == "lo") + break; + } Interface *i; // See if we already have it if(interfaceNames.find(interfaceName) == interfaceNames.end()){ @@ -306,12 +310,15 @@ void MainWindowImp::jobDone(KProcess *process){ QFile::remove(fileName); } +/** + * + */ void MainWindowImp::updateInterface(Interface *i){ QListViewItem *item = NULL; // See if we already have it if(items.find(i) == items.end()){ - item = new QListViewItem(serviceList, "", "", ""); + item = new QListViewItem(connectionList, "", "", ""); // See if you can't find a module owner for this interface QMap::Iterator it; for( it = libraries.begin(); it != libraries.end(); ++it ){ diff --git a/noncore/net/networksetup/mainwindowimp.h b/noncore/net/networksetup/mainwindowimp.h index 19ebaf2..629b758 100644 --- a/noncore/net/networksetup/mainwindowimp.h +++ b/noncore/net/networksetup/mainwindowimp.h @@ -48,6 +48,7 @@ private: QMap threads; QStringList profiles; + bool advancedUserMode; }; #endif diff --git a/noncore/net/networksetup/module.h b/noncore/net/networksetup/module.h index c1e9488..0c81928 100644 --- a/noncore/net/networksetup/module.h +++ b/noncore/net/networksetup/module.h @@ -16,15 +16,60 @@ signals: public: Module(){}; - + + /** + * get the icon name for this device. + * @param Interface* can be used in determining the icon. + * @return QString the icon name (minus .png, .gif etc) + */ + virtual QString getPixmapName(Interface* i) = 0; + + /** + * Check to see if the interface i is owned by this module. + * @param Interface* interface to check against + * @return bool true if i is owned by this module, false otherwise. + */ virtual bool isOwner(Interface *){ return false; }; - virtual QWidget *configure(QTabWidget **tabWidget){ return NULL; } ; - virtual QWidget *information(QTabWidget **tabWidget){ return NULL; }; + + /** + * Create, set tabWiget and return the WLANConfigure Module + * @param tabWidget a pointer to the tab widget that this configure has. + * @return QWidget* pointer to the tab widget in this modules configure. + */ + virtual QWidget *configure(QTabWidget **){ return NULL; } ; + + /** + * Create, set tabWiget and return the Information Module + * @param tabWidget a pointer to the tab widget that this information has. + * @return QWidget* pointer to the tab widget in this modules info. + */ + virtual QWidget *information(QTabWidget **){ return NULL; }; + + /** + * Get all active (up or down) interfaces + * @return QList A list of interfaces that exsist that havn't + * been called by isOwner() + */ virtual QList getInterfaces() = 0; - virtual QMap possibleNewInterfaces() = 0; + + /** + * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp), + * modem ppp) + */ + virtual void possibleNewInterfaces(QMap &list) = 0; + + /** + * Attempts to create a new interface from name + * @return Interface* NULL if it was unable to be created. + * @param name the type of interface to create + */ virtual Interface *addNewInterface(QString name) = 0; + + /** + * Attempts to remove the interface, doesn't delete i + * @return bool true if successfull, false otherwise. + */ virtual bool remove(Interface* i) = 0; - virtual QString getPixmapName(Interface* i) = 0; }; diff --git a/noncore/net/networksetup/networksetup.pro b/noncore/net/networksetup/networksetup.pro index 0d48790..ba70180 100644 --- a/noncore/net/networksetup/networksetup.pro +++ b/noncore/net/networksetup/networksetup.pro @@ -1,10 +1,10 @@ TEMPLATE = app #CONFIG = qt warn_on debug CONFIG = qt warn_on release -HEADERS = mainwindowimp.h addserviceimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h -SOURCES = main.cpp mainwindowimp.cpp addserviceimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp +HEADERS = mainwindowimp.h addconnectionimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h +SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp #INCLUDEPATH += $(QPEDIR)/include #DEPENDPATH += $(QPEDIR)/include LIBS += -lqpe -INTERFACES = mainwindow.ui addservice.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui +INTERFACES = mainwindow.ui addconnection.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui TARGET = networksetup diff --git a/noncore/net/networksetup/wlan/wlan.ui b/noncore/net/networksetup/wlan/wlan.ui index dcacbe8..9f33559 100644 --- a/noncore/net/networksetup/wlan/wlan.ui +++ b/noncore/net/networksetup/wlan/wlan.ui @@ -11,7 +11,7 @@ 0 0 - 254 + 250 286 @@ -53,7 +53,7 @@ title - Config + WLAN General diff --git a/noncore/net/networksetup/wlan/wlanmodule.cpp b/noncore/net/networksetup/wlan/wlanmodule.cpp index 632f7e4..70b1f7a 100644 --- a/noncore/net/networksetup/wlan/wlanmodule.cpp +++ b/noncore/net/networksetup/wlan/wlanmodule.cpp @@ -20,6 +20,7 @@ QString WLANModule::getPixmapName(Interface* ){ /** * Check to see if the interface i is owned by this module. + * @param Interface* interface to check against * @return bool true if i is owned by this module, false otherwise. */ bool WLANModule::isOwner(Interface *i){ @@ -50,17 +51,12 @@ QWidget *WLANModule::information(QTabWidget **tabWidget){ } /** - * - */ + * Get all active (up or down) interfaces + * @return QList A list of interfaces that exsist that havn't + * been called by isOwner() + */ QList WLANModule::getInterfaces(){ - return list -} - -/** - * Return a list of possible new interfaces - */ -QMap WLANModule::possibleNewInterfaces(){ - //return list; + return list; } /** @@ -69,7 +65,9 @@ QMap WLANModule::possibleNewInterfaces(){ * by possibleNewInterfaces(); * @return Interface* NULL if it was unable to be created. */ -Interface *WLANModule::addNewInterface(QString name){ +Interface *WLANModule::addNewInterface(QString ){ + // We can't add a 802.11 interface, either the hardware will be there + // or it wont. return NULL; } @@ -77,7 +75,8 @@ Interface *WLANModule::addNewInterface(QString name){ * Attempts to remove the interface, doesn't delete i * @return bool true if successfull, false otherwise. */ -bool WLANModule::remove(Interface* i){ +bool WLANModule::remove(Interface*){ + // Can't remove a hardware device, you can stop it though. return false; } diff --git a/noncore/net/networksetup/wlan/wlanmodule.h b/noncore/net/networksetup/wlan/wlanmodule.h index 1fbf6a9..7ebe129 100644 --- a/noncore/net/networksetup/wlan/wlanmodule.h +++ b/noncore/net/networksetup/wlan/wlanmodule.h @@ -15,7 +15,7 @@ public: virtual QWidget *configure(QTabWidget **tabWidget); virtual QWidget *information(QTabWidget **tabWidget); virtual QList getInterfaces(); - virtual QMap possibleNewInterfaces(); + virtual void possibleNewInterfaces(QMap &list){}; virtual Interface *addNewInterface(QString name); virtual bool remove(Interface* i); virtual QString getPixmapName(Interface* i); diff --git a/noncore/settings/networksettings/TODO b/noncore/settings/networksettings/TODO index 9a1657a..e69de29 100644 --- a/noncore/settings/networksettings/TODO +++ b/noncore/settings/networksettings/TODO @@ -1 +0,0 @@ -Fix DHCP obtained and expoired info diff --git a/noncore/settings/networksettings/addservice.ui b/noncore/settings/networksettings/addconnection.ui index 929f4fb..a349804 100644 --- a/noncore/settings/networksettings/addservice.ui +++ b/noncore/settings/networksettings/addconnection.ui @@ -1,23 +1,23 @@ -AddService +AddConnection QDialog name - AddService + AddConnection geometry 0 0 - 245 + 233 268 caption - Add Network Service + Add Network Connection @@ -36,7 +36,7 @@ text - Cancel + &Cancel @@ -47,7 +47,7 @@ text - Add + &Add @@ -121,8 +121,7 @@ text - LAN - TCP/IP -For Local-area network connections through PC_CARD network interfdace cards. + alignment @@ -141,13 +140,13 @@ For Local-area network connections through PC_CARD network interfdace cards. cancelButton clicked() - AddService + AddConnection reject() addButton clicked() - AddService + AddConnection accept() diff --git a/noncore/settings/networksettings/addconnectionimp.cpp b/noncore/settings/networksettings/addconnectionimp.cpp new file mode 100644 index 0000000..ee7bd97 --- a/dev/null +++ b/noncore/settings/networksettings/addconnectionimp.cpp @@ -0,0 +1,38 @@ +#include "addconnectionimp.h" +#include +#include +#include +#include + +/** + * Constructor + */ +AddConnectionImp::AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddConnection(parent, name, f){ + connect(registeredServicesList, SIGNAL(selectionChanged()), this, SLOT(changed())); + registeredServicesList->header()->hide(); +}; + +/** + * The current item changed, update the discription. + */ +void AddConnectionImp::changed(){ + QListViewItem *item = registeredServicesList->currentItem(); + if(item){ + help->setText(list[item->text(0)]); + } +} + +/** + * Save a copy of newList for the discriptions and append them all to the view + * @param newList the new list of possible interfaces + */ +void AddConnectionImp::addConnections(QMap newList){ + list = newList; + QMap::Iterator it; + for( it = list.begin(); it != list.end(); ++it ) + QListViewItem *item = new QListViewItem(registeredServicesList, it.key()); + registeredServicesList->setCurrentItem(registeredServicesList->firstChild()); +} + +// addserviceimp.cpp + diff --git a/noncore/settings/networksettings/addconnectionimp.h b/noncore/settings/networksettings/addconnectionimp.h new file mode 100644 index 0000000..643cd9a --- a/dev/null +++ b/noncore/settings/networksettings/addconnectionimp.h @@ -0,0 +1,29 @@ +#ifndef ADDCONNECTIONIMP_H +#define ADDCONNECTIONIMP_H + +#include "addconnection.h" +#include +#include + +class QListViewItem; + +class AddConnectionImp : public AddConnection { + +Q_OBJECT + +public: + AddConnectionImp(QWidget *parent=0, const char *name=0, WFlags f=0); + void addConnections(QMap newList); + +private slots: + void changed(); + +private: + QMap list; + +}; + +#endif + +// addconectionimp.h + diff --git a/noncore/settings/networksettings/addserviceimp.cpp b/noncore/settings/networksettings/addserviceimp.cpp deleted file mode 100644 index ac79d06..0000000 --- a/noncore/settings/networksettings/addserviceimp.cpp +++ b/dev/null @@ -1,26 +0,0 @@ -#include "addserviceimp.h" -#include -#include -#include - -void AddServiceImp::addServices(QList list){ - list.setAutoDelete(true); - - for(uint i = 0; i < list.count(); i++){ - QString pluginFileName = ""; - QLibrary *lib = new QLibrary(pluginFileName); - void *functionPointer = lib->resolve("info"); - if( !functionPointer ){ - qDebug(QString("AddServiceImp: File: %1 is not a plugin, but though was.").arg(pluginFileName).latin1()); - delete lib; - break; - } - - // Try to get an info. - QString info = ((QString (*)()) functionPointer)(); - QListViewItem *newItem = new QListViewItem(registeredServicesList, info); - } -} - - -// addserviceimp.cpp diff --git a/noncore/settings/networksettings/addserviceimp.h b/noncore/settings/networksettings/addserviceimp.h deleted file mode 100644 index 7cacb97..0000000 --- a/noncore/settings/networksettings/addserviceimp.h +++ b/dev/null @@ -1,26 +0,0 @@ -#ifndef ADDSERVICEIMP_H -#define ADDSERVICEIMP_H - -#include "addservice.h" -#include -#include - -class QListViewItem; - -class AddServiceImp : public AddService { - -Q_OBJECT - -public: - AddServiceImp(QWidget *parent=0, const char *name=0, WFlags f=0):AddService(parent, name, f){}; - void addServices(QList list); - -private: - QMap pluginInfo; - -}; - -#endif - -// addserviceimp.h - diff --git a/noncore/settings/networksettings/interface.h b/noncore/settings/networksettings/interface.h index 5dc95a4..1406e99 100644 --- a/noncore/settings/networksettings/interface.h +++ b/noncore/settings/networksettings/interface.h @@ -4,6 +4,7 @@ #include class Module; + class Interface { public: diff --git a/noncore/settings/networksettings/interfacesetupimp.cpp b/noncore/settings/networksettings/interfacesetupimp.cpp index 6a8449d..951aeee 100644 --- a/noncore/settings/networksettings/interfacesetupimp.cpp +++ b/noncore/settings/networksettings/interfacesetupimp.cpp @@ -13,7 +13,6 @@ #include -#define INTERFACE_FILE "/home/ben/interfaces" #define DNSSCRIPT "interfacednsscript" /** @@ -22,7 +21,7 @@ InterfaceSetupImp::InterfaceSetupImp(QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : InterfaceSetup(parent, name, modal, fl){ assert(i); interface = i; - interfaces = new Interfaces(INTERFACE_FILE); + interfaces = new Interfaces(); changeProfile(profileCombo->currentText()); bool error = false; if(interfaces->getInterfaceMethod(error) == INTERFACES_LOOPBACK){ diff --git a/noncore/settings/networksettings/mainwindow.ui b/noncore/settings/networksettings/mainwindow.ui index a3f7bb1..f5b104a 100644 --- a/noncore/settings/networksettings/mainwindow.ui +++ b/noncore/settings/networksettings/mainwindow.ui @@ -102,7 +102,7 @@ name - serviceList + connectionList allColumnsShowFocus @@ -131,7 +131,7 @@ QPushButton name - addServiceButton + addConnectionButton text @@ -142,7 +142,7 @@ QPushButton name - informationServiceButton + informationConnectionButton text @@ -153,7 +153,7 @@ QPushButton name - configureServiceButton + configureConnectionButton text @@ -164,7 +164,7 @@ QPushButton name - removeServiceButton + removeConnectionButton text diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp index 89dac6f..66ec8b5 100644 --- a/noncore/settings/networksettings/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindowimp.cpp @@ -1,10 +1,10 @@ #include "mainwindowimp.h" -#include "addserviceimp.h" +#include "addconnectionimp.h" #include "interfaceinformationimp.h" #include "interfacesetupimp.h" -#include "kprocess.h" #include "module.h" +#include "kprocess.h" #include #include @@ -25,72 +25,68 @@ #include #include -// For library loading. -#include - #define TEMP_ALL "/tmp/ifconfig-a" #define TEMP_UP "/tmp/ifconfig" -MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true) { - connect(addServiceButton, SIGNAL(clicked()), this, SLOT(addClicked())); - connect(removeServiceButton, SIGNAL(clicked()), this, SLOT(removeClicked())); - connect(informationServiceButton, SIGNAL(clicked()), this, SLOT(informationClicked())); - connect(configureServiceButton, SIGNAL(clicked()), this, SLOT(configureClicked())); +MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, true), advancedUserMode(false){ + connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); + connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked())); + connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked())); + connect(configureConnectionButton, SIGNAL(clicked()), this, SLOT(configureClicked())); connect(newProfileButton, SIGNAL(clicked()), this, SLOT(addProfile())); connect(removeProfileButton, SIGNAL(clicked()), this, SLOT(removeProfile())); connect(profilesList, SIGNAL(highlighted(const QString&)), this, SLOT(changeProfile(const QString&))); - // Make sure we have a plugin directory to scan. - QString DirStr = QDir::homeDirPath() + "/.networksetup/" ; - QDir pluginDir( DirStr ); - pluginDir.mkdir( DirStr ); - pluginDir.mkdir( ( DirStr + "plugins/" ) ); - QString path = DirStr + "plugins"; - pluginDir.setPath(path); - if(!pluginDir.exists()){ - qDebug(QString("MainWindowImp: ERROR: %1 %2").arg(__FILE__).arg(__LINE__).latin1()); - return; - } - - // Load any saved services. - loadModules(path); + // Load connections. + loadModules(QDir::homeDirPath() + "/.networksetup/plugins"); getInterfaceList(); - serviceList->header()->hide(); + connectionList->header()->hide(); Config cfg("NetworkSetup"); profiles = QStringList::split(" ", cfg.readEntry("Profiles", "All")); for ( QStringList::Iterator it = profiles.begin(); it != profiles.end(); ++it) profilesList->insertItem((*it)); + advancedUserMode = cfg.readBoolEntry("AdvancedUserMode", false); } /** - * Deconstructor. Unload libraries and save profile list. + * Deconstructor. Save profiles. Delete loaded libraries. */ MainWindowImp::~MainWindowImp(){ + // Save profiles. if(profiles.count() > 1){ Config cfg("NetworkSetup"); cfg.writeEntry("Profiles", profiles.join(" ")); } + // Delete Modules and Libraries + QMap::Iterator it; + for( it = libraries.begin(); it != libraries.end(); ++it ){ + delete it.key(); + delete it.data(); + } } +/** + * Load all modules that are found in the path + * @param path a directory that is scaned for any plugins that can be loaded + * and attempts to load them + */ void MainWindowImp::loadModules(QString path){ qDebug(path.latin1()); - QDir d; - d.setPath(path); - if(!d.exists()){ - qDebug("MainWindowImp:: Path doesn't exists"); + QDir d(path); + if(!d.exists()) return; - } + + // Don't want sym links d.setFilter( QDir::Files | QDir::NoSymLinks ); const QFileInfoList *list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; while ( (fi=it.current()) ) { if(fi->fileName().contains(".so")){ - qDebug("Found"); - Module *foo = loadPlugin(path + "/" + fi->fileName()); + loadPlugin(path + "/" + fi->fileName()); } ++it; } @@ -103,7 +99,7 @@ void MainWindowImp::loadModules(QString path){ * @return pointer to the function with name resolveString or NULL */ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString){ - qDebug(pluginFileName.latin1()); + qDebug(QString("MainWindowImp::loadPlugin: %1").arg(pluginFileName).latin1()); QLibrary *lib = new QLibrary(pluginFileName); void *functionPointer = lib->resolve(resolveString); if( !functionPointer ){ @@ -120,7 +116,7 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString) return NULL; } - // Store for reference + // Store for deletion later libraries.insert(object, lib); return object; } @@ -130,14 +126,25 @@ Module* MainWindowImp::loadPlugin(QString pluginFileName, QString resolveString) * load the plugin and append it to the list */ void MainWindowImp::addClicked(){ - // Now that we have a list of all of the protocals, list them. - { - QMessageBox::information(this, "No Modules", "Nothing to add.", "Ok"); + QMap::Iterator it; + QMap list; + list.insert("USB (PPP) / (ADD_TEST)", "A dialup connection over the USB port"); + list.insert("IrDa (PPP) / (ADD_TEST)", "A dialup connection over the IdDa port"); + for( it = libraries.begin(); it != libraries.end(); ++it ){ + if(it.key()) + (it.key())->possibleNewInterfaces(list); + } + // See if the list has anything that we can add. + if(list.count() == 0){ + QMessageBox::information(this, "Sorry", "Nothing to add.", "Ok"); return; } - AddServiceImp service(this, "AddService", true); - service.showMaximized(); - service.exec(); + AddConnectionImp addNewConnection(this, "AddConnectionImp", true); + addNewConnection.addConnections(list); + addNewConnection.showMaximized(); + if(QDialog::Accepted == addNewConnection.exec()){ + + } } /** @@ -145,7 +152,7 @@ void MainWindowImp::addClicked(){ * If they do then remove from the list and unload. */ void MainWindowImp::removeClicked(){ - QListViewItem *item = serviceList->currentItem(); + QListViewItem *item = connectionList->currentItem(); if(item == NULL) { QMessageBox::information(this, "Error","Please select an interface.", "Ok"); return; @@ -161,76 +168,69 @@ void MainWindowImp::removeClicked(){ } /** - * See if there is a configuration for the selected protocal. - * Prompt with errors. + * Pull up the configure about the currently selected interface. + * Report an error if no interface is selected. + * If the interface has a module owner then request its configure with a empty + * tab. If tab is !NULL then append the interfaces setup widget to it. */ void MainWindowImp::configureClicked(){ - QListViewItem *item = serviceList->currentItem(); - if(item == NULL){ - QMessageBox::information(this, "Error","Please select an interface.", "Ok"); - return; + QListViewItem *item = connectionList->currentItem(); + if(!item){ + QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok); + return; } - - if((interfaceItems[item])->getModuleOwner() == NULL){ - InterfaceSetupImp *conf = new InterfaceSetupImp(0, "InterfaceConfiguration", interfaceItems[item]); - conf->showMaximized(); - conf->show(); - } - else{ - QTabWidget *t = NULL; - QWidget *conf = (interfaceItems[item])->getModuleOwner()->configure(&t); - if(conf != NULL){ - qDebug("Conf found"); - if(t != NULL){ - qDebug("Adding Interface"); - InterfaceSetupImp *i = new InterfaceSetupImp(t, "TCPIPInformation", interfaceItems[item], true); - t->insertTab(i, "TCP/IP"); + + Interface *i = interfaceItems[item]; + if(i->getModuleOwner()){ + QTabWidget *tabWidget = NULL; + QWidget *moduleConfigure = i->getModuleOwner()->configure(&tabWidget); + if(moduleConfigure != NULL){ + if(tabWidget != NULL){ + InterfaceSetupImp *configure = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, true); + tabWidget->insertTab(configure, "TCP/IP"); } - conf->showMaximized(); - conf->show(); - } - else{ - InterfaceSetupImp *i = new InterfaceSetupImp(0, "TCPIPInformation", interfaceItems[item], true); - i->showMaximized(); - i->show(); + moduleConfigure->showMaximized(); + moduleConfigure->show(); + return; } } + + InterfaceSetupImp *configure = new InterfaceSetupImp(0, "InterfaceSetupImp", i, true); + configure->showMaximized(); + configure->show(); } /** - * Pull up the information about the selected interface - * Report an error + * Pull up the information about the currently selected interface. + * Report an error if no interface is selected. + * If the interface has a module owner then request its configure with a empty + * tab. If tab is !NULL then append the interfaces setup widget to it. */ void MainWindowImp::informationClicked(){ - QListViewItem *item = serviceList->currentItem(); - if(item == NULL){ - QMessageBox::information(this, "Error","Please select an interface.", "Ok"); + QListViewItem *item = connectionList->currentItem(); + if(!item){ + QMessageBox::information(this, "Error","Please select an interface.", QMessageBox::Ok); return; - } - - if( (interfaceItems[item])->getModuleOwner() == NULL){ - InterfaceInformationImp *i = new InterfaceInformationImp(0, "InterfaceInformationImp", interfaceItems[item]); - i->showMaximized(); - i->show(); - } - else{ - QTabWidget *t = NULL; - QWidget *conf = (interfaceItems[item])->getModuleOwner()->information(&t); - if(conf != NULL){ - if(t){ - qDebug("Adding Interface"); - InterfaceInformationImp *i = new InterfaceInformationImp(t, "TCPIPInformation", interfaceItems[item], true); - t->insertTab(i, "TCP/IP"); + } + + Interface *i = interfaceItems[item]; + if(i->getModuleOwner()){ + QTabWidget *tabWidget = NULL; + QWidget *moduleInformation = i->getModuleOwner()->information(&tabWidget); + if(moduleInformation != NULL){ + if(tabWidget != NULL){ + InterfaceInformationImp *information = new InterfaceInformationImp(tabWidget, "InterfaceSetupImp", i, true); + tabWidget->insertTab(information, "TCP/IP"); } - conf->showMaximized(); - conf->show(); + moduleInformation->showMaximized(); + moduleInformation->show(); + return; } - else{ - InterfaceInformationImp *i = new InterfaceInformationImp(0, "TCPIPInformation", interfaceItems[item], true); - i->showMaximized(); - i->show(); - } - } + } + + InterfaceInformationImp *information = new InterfaceInformationImp(0, "InterfaceSetupImp", i, true); + information->showMaximized(); + information->show(); } /** @@ -272,6 +272,10 @@ void MainWindowImp::jobDone(KProcess *process){ if(space > 1){ // We have found an interface QString interfaceName = line.mid(0, space); + if(!advancedUserMode){ + if(interfaceName == "lo") + break; + } Interface *i; // See if we already have it if(interfaceNames.find(interfaceName) == interfaceNames.end()){ @@ -306,12 +310,15 @@ void MainWindowImp::jobDone(KProcess *process){ QFile::remove(fileName); } +/** + * + */ void MainWindowImp::updateInterface(Interface *i){ QListViewItem *item = NULL; // See if we already have it if(items.find(i) == items.end()){ - item = new QListViewItem(serviceList, "", "", ""); + item = new QListViewItem(connectionList, "", "", ""); // See if you can't find a module owner for this interface QMap::Iterator it; for( it = libraries.begin(); it != libraries.end(); ++it ){ diff --git a/noncore/settings/networksettings/mainwindowimp.h b/noncore/settings/networksettings/mainwindowimp.h index 19ebaf2..629b758 100644 --- a/noncore/settings/networksettings/mainwindowimp.h +++ b/noncore/settings/networksettings/mainwindowimp.h @@ -48,6 +48,7 @@ private: QMap threads; QStringList profiles; + bool advancedUserMode; }; #endif diff --git a/noncore/settings/networksettings/module.h b/noncore/settings/networksettings/module.h index c1e9488..0c81928 100644 --- a/noncore/settings/networksettings/module.h +++ b/noncore/settings/networksettings/module.h @@ -16,15 +16,60 @@ signals: public: Module(){}; - + + /** + * get the icon name for this device. + * @param Interface* can be used in determining the icon. + * @return QString the icon name (minus .png, .gif etc) + */ + virtual QString getPixmapName(Interface* i) = 0; + + /** + * Check to see if the interface i is owned by this module. + * @param Interface* interface to check against + * @return bool true if i is owned by this module, false otherwise. + */ virtual bool isOwner(Interface *){ return false; }; - virtual QWidget *configure(QTabWidget **tabWidget){ return NULL; } ; - virtual QWidget *information(QTabWidget **tabWidget){ return NULL; }; + + /** + * Create, set tabWiget and return the WLANConfigure Module + * @param tabWidget a pointer to the tab widget that this configure has. + * @return QWidget* pointer to the tab widget in this modules configure. + */ + virtual QWidget *configure(QTabWidget **){ return NULL; } ; + + /** + * Create, set tabWiget and return the Information Module + * @param tabWidget a pointer to the tab widget that this information has. + * @return QWidget* pointer to the tab widget in this modules info. + */ + virtual QWidget *information(QTabWidget **){ return NULL; }; + + /** + * Get all active (up or down) interfaces + * @return QList A list of interfaces that exsist that havn't + * been called by isOwner() + */ virtual QList getInterfaces() = 0; - virtual QMap possibleNewInterfaces() = 0; + + /** + * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp), + * modem ppp) + */ + virtual void possibleNewInterfaces(QMap &list) = 0; + + /** + * Attempts to create a new interface from name + * @return Interface* NULL if it was unable to be created. + * @param name the type of interface to create + */ virtual Interface *addNewInterface(QString name) = 0; + + /** + * Attempts to remove the interface, doesn't delete i + * @return bool true if successfull, false otherwise. + */ virtual bool remove(Interface* i) = 0; - virtual QString getPixmapName(Interface* i) = 0; }; diff --git a/noncore/settings/networksettings/networksetup.pro b/noncore/settings/networksettings/networksetup.pro index 0d48790..ba70180 100644 --- a/noncore/settings/networksettings/networksetup.pro +++ b/noncore/settings/networksettings/networksetup.pro @@ -1,10 +1,10 @@ TEMPLATE = app #CONFIG = qt warn_on debug CONFIG = qt warn_on release -HEADERS = mainwindowimp.h addserviceimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h -SOURCES = main.cpp mainwindowimp.cpp addserviceimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp +HEADERS = mainwindowimp.h addconnectionimp.h interface.h interfaceinformationimp.h interfacesetupimp.h interfaces.h defaultmodule.h kprocctrl.h module.h kprocess.h +SOURCES = main.cpp mainwindowimp.cpp addconnectionimp.cpp interface.cpp interfaceinformationimp.cpp interfacesetupimp.cpp kprocctrl.cpp kprocess.cpp interfaces.cpp #INCLUDEPATH += $(QPEDIR)/include #DEPENDPATH += $(QPEDIR)/include LIBS += -lqpe -INTERFACES = mainwindow.ui addservice.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui +INTERFACES = mainwindow.ui addconnection.ui interfaceinformation.ui interfaceadvanced.ui interfacesetup.ui TARGET = networksetup diff --git a/noncore/settings/networksettings/wlan/wlan.ui b/noncore/settings/networksettings/wlan/wlan.ui index dcacbe8..9f33559 100644 --- a/noncore/settings/networksettings/wlan/wlan.ui +++ b/noncore/settings/networksettings/wlan/wlan.ui @@ -11,7 +11,7 @@ 0 0 - 254 + 250 286 @@ -53,7 +53,7 @@ title - Config + WLAN General diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp index 632f7e4..70b1f7a 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.cpp +++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp @@ -20,6 +20,7 @@ QString WLANModule::getPixmapName(Interface* ){ /** * Check to see if the interface i is owned by this module. + * @param Interface* interface to check against * @return bool true if i is owned by this module, false otherwise. */ bool WLANModule::isOwner(Interface *i){ @@ -50,17 +51,12 @@ QWidget *WLANModule::information(QTabWidget **tabWidget){ } /** - * - */ + * Get all active (up or down) interfaces + * @return QList A list of interfaces that exsist that havn't + * been called by isOwner() + */ QList WLANModule::getInterfaces(){ - return list -} - -/** - * Return a list of possible new interfaces - */ -QMap WLANModule::possibleNewInterfaces(){ - //return list; + return list; } /** @@ -69,7 +65,9 @@ QMap WLANModule::possibleNewInterfaces(){ * by possibleNewInterfaces(); * @return Interface* NULL if it was unable to be created. */ -Interface *WLANModule::addNewInterface(QString name){ +Interface *WLANModule::addNewInterface(QString ){ + // We can't add a 802.11 interface, either the hardware will be there + // or it wont. return NULL; } @@ -77,7 +75,8 @@ Interface *WLANModule::addNewInterface(QString name){ * Attempts to remove the interface, doesn't delete i * @return bool true if successfull, false otherwise. */ -bool WLANModule::remove(Interface* i){ +bool WLANModule::remove(Interface*){ + // Can't remove a hardware device, you can stop it though. return false; } diff --git a/noncore/settings/networksettings/wlan/wlanmodule.h b/noncore/settings/networksettings/wlan/wlanmodule.h index 1fbf6a9..7ebe129 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.h +++ b/noncore/settings/networksettings/wlan/wlanmodule.h @@ -15,7 +15,7 @@ public: virtual QWidget *configure(QTabWidget **tabWidget); virtual QWidget *information(QTabWidget **tabWidget); virtual QList getInterfaces(); - virtual QMap possibleNewInterfaces(); + virtual void possibleNewInterfaces(QMap &list){}; virtual Interface *addNewInterface(QString name); virtual bool remove(Interface* i); virtual QString getPixmapName(Interface* i); -- cgit v0.9.0.2