summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/ppp/debug.cpp141
-rw-r--r--noncore/settings/networksettings/ppp/debug.h70
-rw-r--r--noncore/settings/networksettings/ppp/kpppwidget.cpp26
-rw-r--r--noncore/settings/networksettings/ppp/kpppwidget.h43
-rw-r--r--noncore/settings/networksettings/ppp/ppp.pro4
-rw-r--r--noncore/settings/networksettings/ppp/pppmodule.cpp1
6 files changed, 3 insertions, 282 deletions
diff --git a/noncore/settings/networksettings/ppp/debug.cpp b/noncore/settings/networksettings/ppp/debug.cpp
deleted file mode 100644
index 447ccf2..0000000
--- a/noncore/settings/networksettings/ppp/debug.cpp
+++ b/dev/null
@@ -1,141 +0,0 @@
-/*
- * kPPP: A pppd front end for the KDE project
- *
- * $Id$
- * Copyright (C) 1997 Bernd Wuebben
- * wuebben@math.cornel.edu
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this program; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include "debug.h"
-//#include "main.h"
-#include "pppdata.h"
-//#include <klocale.h>
-#define i18n QObject::tr
-#include "kpppwidget.h"
-#include <assert.h>
-
-extern KPPPWidget *p_kppp;
-
-myMultiEdit::myMultiEdit(QWidget *parent, const char *name)
- : QMultiLineEdit(parent, name)
-{
- setReadOnly(true);
-}
-
-void myMultiEdit::insertChar(unsigned char c) {
- QMultiLineEdit::insert(QChar(c));
-}
-
-
-void myMultiEdit::newLine() {
- QMultiLineEdit::newLine();
-}
-
-
-DebugWidget::DebugWidget(QWidget *parent, const char *name)
- : QDialog(parent, name, FALSE)
-{
- setCaption(i18n("Login Script Debug Window"));
-
- text_window = new myMultiEdit(this,"debugwindow");
- text_window->setGeometry(2,5,400, 300);
- // text_window->setReadOnly(FALSE);
-
- statuslabel = new QLabel("", this, "statuslabel");
-
- statuslabel->setFrameStyle( QFrame::Panel | QFrame::Sunken );
- statuslabel->setAlignment( AlignLeft|AlignVCenter );
- statuslabel->setGeometry(2, 307, 400, 20);
- //statusPageLabel->setFont( QFont("helvetica",12,QFont::Normal) );
-
- dismiss = new QPushButton(this);
- dismiss->setGeometry(330,340,70,30);
- dismiss->setText(i18n("Close"));
- dismiss->setFocus();
- connect(dismiss, SIGNAL(clicked()), SLOT(hide()));
-
-
- /* fline = new QFrame(this,"line");
- fline->setFrameStyle(QFrame::HLine |QFrame::Sunken);
- fline->setGeometry(2,332,398,5);*/
- adjustSize();
- setMinimumSize(width(),height());
-
-}
-
-void DebugWidget::hideEvent(QHideEvent *)
-{
- assert(p_kppp);
-// p_kppp->con->debug->setOn(false);
-}
-
-void DebugWidget::clear() {
- text_window->clear();
-}
-
-
-void DebugWidget::addChar(unsigned char c) {
- QString stuff;
-
- if(c == '\r' || c == '\n') {
- if(c == '\n')
- text_window->newLine();
- } else
- text_window->insertChar(c);
-}
-
-
-void DebugWidget::statusLabel(const QString &s) {
- statuslabel->setText(s);
-}
-
-
-/*
-void DebugWidget::keyPressEvent(QKeyEvent *k) {
-}
-
-*/
-void DebugWidget::resizeEvent(QResizeEvent *e){
- int w = width() ;
- int h = height();
- e = e;
-
- text_window->setGeometry(2,5,w - 2 ,h - 63);
- statuslabel->setGeometry(2, h - 56 , w -2 , 20);
- dismiss->setGeometry(w - 72 , h - 32, 70, 30);
- // fline->setGeometry(2,h -70 ,w - 4,5);
-}
-
-
-void DebugWidget::enter() {
- text_window->append("\r\n");
-}
-
-
-void DebugWidget::toggleVisibility() {
- if(isVisible())
- hide();
- else
- show();
-
- bool showlog = isVisible();
- PPPData::data()->set_show_log_window(showlog);
-}
-
-
-
-
diff --git a/noncore/settings/networksettings/ppp/debug.h b/noncore/settings/networksettings/ppp/debug.h
deleted file mode 100644
index 3565cec..0000000
--- a/noncore/settings/networksettings/ppp/debug.h
+++ b/dev/null
@@ -1,70 +0,0 @@
-/*
- * kPPP: A pppd front end for the KDE project
- *
- * $Id$
- * Copyright (C) 1997 Bernd Wuebben
- * wuebben@math.cornel.edu
- *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this program; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _DEBUGWIDGET_
-#define _DEBUGWIDGET_
-
-#include <qdialog.h>
-#include <qstring.h>
-#include <qlabel.h>
-#include <qmultilineedit.h>
-#include <qpushbutton.h>
-
-
-class myMultiEdit : public QMultiLineEdit {
-public:
-
- myMultiEdit(QWidget *parent=0, const char *name=0);
-
- void newLine();
- void insertChar(unsigned char c);
-};
-
-
-class DebugWidget : public QDialog {
- Q_OBJECT
-public:
- DebugWidget(QWidget *parent=0, const char *name=0);
-
- void clear();
-
-public slots:
- void statusLabel(const QString &);
- void toggleVisibility();
- void addChar(unsigned char);
-
-protected:
- virtual void hideEvent(QHideEvent *);
- virtual void resizeEvent(QResizeEvent *e);
-
-private:
- void enter();
- QFrame *fline;
- QPushButton *dismiss;
- myMultiEdit *text_window;
-
- QLabel *statuslabel;
-};
-
-#endif
-
diff --git a/noncore/settings/networksettings/ppp/kpppwidget.cpp b/noncore/settings/networksettings/ppp/kpppwidget.cpp
index 8d70cd4..f8a8dc3 100644
--- a/noncore/settings/networksettings/ppp/kpppwidget.cpp
+++ b/noncore/settings/networksettings/ppp/kpppwidget.cpp
@@ -196,134 +196,117 @@ KPPPWidget::KPPPWidget( QWidget *parent, const char *name, bool modal, WFlags fl
// help_b = new QPushButton(i18n("&Help"), this);
// connect( help_b, SIGNAL(clicked()), SLOT(helpbutton()));
// KHelpMenu *helpMenu = new KHelpMenu(this, KGlobal::instance()->aboutData(), true);
// help_b->setPopup((QPopupMenu*)helpMenu->menu());
// help_b->setGuiItem (KGuiItem(i18n("&Help"), "help" ) );
// if(help_b->sizeHint().width() > minw)
// minw = help_b->sizeHint().width();
// connect_b = new QPushButton(i18n("&Connect"), this);
// connect_b->setDefault(true);
// connect_b->setFocus();
// connect(connect_b, SIGNAL(clicked()), SLOT(beginConnect()));
// if(connect_b->sizeHint().width() > minw)
// minw = connect_b->sizeHint().width();
// quit_b->setFixedWidth(minw);
// setup_b->setFixedWidth(minw);
// // help_b->setFixedWidth(help_b->sizeHint().width());
// connect_b->setFixedWidth(minw);
// l2->addWidget(quit_b);
// l2->addWidget(setup_b);
// // l2->addWidget(help_b);
// l2->addSpacing(20);
// l2->addWidget(connect_b);
setFixedSize(sizeHint());
(void)new Modem;
// we also connect cmld_start to the beginConnect so that I can run
// the dialer through a command line argument
connect(this,SIGNAL(cmdl_start()),this,SLOT(beginConnect()));
// stats = new PPPStats;
// KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
// constructor of con_win reads position from config file
// con_win = new ConWindow(0, "conw", this);
// KWin::setIcons(con_win->winId(), kapp->icon(), kapp->miniIcon());
// statdlg = new PPPStatsDlg(0, "stats", this, stats);
// statdlg->hide();
- debugwindow = new DebugWidget(0,"debugwindow");
- // KWin::setIcons(debugwindow->winId(), kapp->icon(), kapp->miniIcon());
- debugwindow->hide();
-
// load up the accounts combo box
// resetaccounts();
// con = new ConnectWidget(0, "con");
//KWin::setIcons(con->winId(), kapp->icon(), kapp->miniIcon() );
// connect(this, SIGNAL(begin_connect()),con, SLOT(preinit()));
// Is this the best we can do here? it's not right.
// QRect desk = QApplication::desktop()->screenGeometry(
// QApplication::desktop()->screenNumber(topLevelWidget()));
// con->setGeometry(desk.center().x()-175, desk.center().y()-55, 350,110);
// connect the ConnectWidgets various signals
-// connect(con, SIGNAL(closeDebugWindow()),
-// debugwindow, SLOT(hide()));
-// connect(con, SIGNAL(debugMessage(const QString &)),
-// debugwindow, SLOT(statusLabel(const QString &)));
-// connect(con, SIGNAL(toggleDebugWindow()),
-// debugwindow, SLOT(toggleVisibility()));
-// connect(con, SIGNAL(debugPutChar(unsigned char)),
-// debugwindow, SLOT(addChar(unsigned char)));
// // connect(con, SIGNAL(startAccounting()),
// // this, SLOT(startAccounting()));
// // connect(con, SIGNAL(stopAccounting()),
// // this, SLOT(stopAccounting()));
// connect(qApp, SIGNAL(saveYourself()),
// this, SLOT(saveMyself()));
// connect(qApp, SIGNAL(shutDown()),
// this, SLOT(shutDown()));
-// debugwindow->setGeometry(desk.center().x()+190, desk.center().y()-55,
-// debugwindow->width(),debugwindow->height());
-
-// move(desk.center().x()-width()/2, desk.center().y()-height()/2);
-
// KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
// m_strCmdlAccount = args->getOption("c");
// m_bQuitOnDisconnect = args->isSet("q");
// if(!m_strCmdlAccount.isEmpty()) {
// m_bCmdlAccount = true;
// kdDebug(5002) << "cmdl_account: " << m_bCmdlAccount << endl;
// }
// if(m_bCmdlAccount){
// bool result = PPPData::data()->setAccount(m_strCmdlAccount);
// if (!result){
// QString string;
// string = i18n("No such Account:\n%1").arg(m_strCmdlAccount);
// KMessageBox::error(this, string);
// m_bCmdlAccount = false;
// this->show();
// } else {
// beginConnect();
// }
// } else
// expandbutton();
// show();
//#define KPPP_SHOW_NEWS
#ifdef KPPP_SHOW_NEWS
// keep user informed about recent changes
if(!m_bCmdlAccount)
showNews();
#endif
}
KPPPWidget::~KPPPWidget()
{
p_kppp = 0;
// delete stats;
}
// bool KPPPWidget::eventFilter(QObject *o, QEvent *e) {
// if(e->type() == QEvent::User) {
// switch(((SignalEvent*)e)->sigType()) {
// case SIGINT:
// qDebug( "Received a SIGINT" );
// interruptConnection();
// break;
@@ -590,105 +573,96 @@ void KPPPWidget::beginConnect() {
QString string;
string = i18n("kppp can not find:\n %1\nPlease make sure you have setup "
"your modem device properly "
"and/or adjust the location of the modem device on "
"the modem tab of "
"the setup dialog.").arg(PPPData::data()->modemDevice());
QMessageBox::warning(this, "error", string);
return;
}
// if this is a PAP or CHAP account, ensure that username is
// supplied
if(PPPData::data()->authMethod() == AUTH_PAP ||
PPPData::data()->authMethod() == AUTH_CHAP ||
PPPData::data()->authMethod() == AUTH_PAPCHAP ) {
if(ID_Edit->text().isEmpty()) {
QMessageBox::warning(this,"error",
i18n(
"You have selected the authentication "
"method PAP or CHAP. This requires that you "
"supply a username and a password!"));
return;
} else {
if(!Modem::modem->setSecret(PPPData::data()->authMethod(),
encodeWord(PPPData::data()->storedUsername()),
encodeWord(PPPData::data()->password()))) {
QString s;
s = i18n("Cannot create PAP/CHAP authentication\n"
"file \"%1\"").arg(PAP_AUTH_FILE);
QMessageBox::warning(this, "error", s);
return;
}
}
}
if (PPPData::data()->phonenumber().isEmpty()) {
QString s = i18n("You must specify a telephone number!");
QMessageBox::warning(this, "error", s);
return;
}
this->hide();
QString tit = i18n("Connecting to: %1").arg(PPPData::data()->accname());
// con->setCaption(tit);
// con->show();
- bool show_debug = PPPData::data()->get_show_log_window();
-// con->debug->setOn(show_debug); // toggle button
- debugwindow->clear();
- if (!show_debug)
- debugwindow->hide();
- else {
- debugwindow->show();
-// con->raise();
- }
emit begin_connect();
}
void KPPPWidget::disconnect() {
if (!PPPData::data()->command_before_disconnect().isEmpty()) {
// con_win->hide();
// con->show();
// con->setCaption(i18n("Disconnecting..."));
// con->setMsg(i18n("Executing command before disconnection."));
qApp->processEvents();
QApplication::flushX();
// pid_t id =
execute_command(PPPData::data()->command_before_disconnect());
// int i, status;
// do {
// kapp->processEvents();
// i = waitpid(id, &status, WNOHANG);
// usleep(500000);
// } while (i == 0 && errno == 0);
// con->hide();
}
qApp->processEvents();
// statdlg->stop_stats();
Modem::modem->killPPPDaemon();
QApplication::flushX();
execute_command(PPPData::data()->command_on_disconnect());
Modem::modem->removeSecret(AUTH_PAP);
Modem::modem->removeSecret(AUTH_CHAP);
removedns();
Modem::modem->unlockdevice();
// con_win->stopClock();
// p_kppp->stopAccounting();
// con_win->hide();
// DockWidget::dock_widget->stop_stats();
// DockWidget::dock_widget->hide();
diff --git a/noncore/settings/networksettings/ppp/kpppwidget.h b/noncore/settings/networksettings/ppp/kpppwidget.h
index 266d829..d7e74af 100644
--- a/noncore/settings/networksettings/ppp/kpppwidget.h
+++ b/noncore/settings/networksettings/ppp/kpppwidget.h
@@ -1,157 +1,114 @@
/*
*
* kPPP: A pppd front end for the KDE project
*
* $Id$
*
* Copyright (C) 1997 Bernd Johannes Wuebben
* wuebben@math.cornell.edu
*
* Copyright (C) 1998-2002 Harri Porten <porten@kde.org>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __KPPPWIDGET_H__
#define __KPPPWIDGET_H__
#include <qstring.h>
-//#include "accounting.h"
#include "conwindow.h"
#include "accounts.h"
#include "connect.h"
-#include "debug.h"
-//#include "pppstatdlg.h"
-//class GraphSetup;
-//class AboutWidget;
-//class PPPStats;
-class QDialog;
class QPushButton;
-/* class SignalEvent : public QEvent { */
-/* public: */
-/* SignalEvent(int s) : QEvent(User), sig(s) { } */
-/* int sigType() const { return sig; } */
-/* private: */
-/* int sig; */
-/* }; */
-
class KPPPWidget : public QDialog {
Q_OBJECT
public:
KPPPWidget( QWidget *parent=0, const char *name=0, bool modal = false, WFlags fl = 0 );
~KPPPWidget();
void setPW_Edit(const QString &);
- // virtual bool eventFilter(QObject *, QEvent *);
- void setQuitOnDisconnect (bool b);
- // bool quitOnDisconnect () {return m_bQuitOnDisconnect;};
private slots:
void newdefaultaccount(int);
-// void expandbutton();
void beginConnect();
void quitbutton();
- // void helpbutton();
- // void setup();
- // void rulesetLoadError();
void usernameChanged(const QString &);
void passwordChanged(const QString &);
void enterPressedInID();
void enterPressedInPW();
void saveMyself();
void shutDown();
-/* protected slots: */
-/* virtual void accept(); */
-/* virtual void reject(); */
public slots:
- // void resetaccounts();
-/* void resetCosts(const QString &); */
-/* void resetVolume(const QString &); */
void disconnect();
void log_window_toggled(bool on);
-/* void startAccounting(); */
-/* void stopAccounting(); */
-/* void showStats(); */
signals:
void begin_connect();
void cmdl_start();
public:
QCheckBox *log;
bool connected;
- DebugWidget *debugwindow;
QString con_speed;
// ConnectWidget *con;
// ConWindow *con_win;
// PPPStatsDlg *statdlg;
// AccountingBase *acct;
QPushButton *quit_b;
//PPPStats *stats;
private:
// void prepareSetupDialog();
void interruptConnection();
void sigChld();
void sigPPPDDied();
QString encodeWord(const QString &s);
void showNews ();
QString ruleset_load_errmsg;
- // QPushButton *help_b;
QPushButton *setup_b;
QFrame *fline;
QFrame *fline1;
QPushButton *connect_b;
QComboBox *connectto_c;
QLabel *ID_Label;
QLabel *PW_Label;
QLineEdit *ID_Edit;
QLineEdit *PW_Edit;
QLabel *label1;
QLabel *label2;
QLabel *label3;
QLabel *label4;
QLabel *label5;
QLabel *label6;
QLabel *radio_label;
-
- // QTabWidget *tabWindow;
- // AccountWidget *accounts;
- // GeneralWidget *general;
- // ModemWidget *modem1;
- // ModemWidget2 *modem2;
- // GraphSetup *graph;
- // AboutWidget *about;
-
-
/* QString m_strCmdlAccount; */
/* bool m_bQuitOnDisconnect; */
/* bool m_bCmdlAccount; */
};
#endif
diff --git a/noncore/settings/networksettings/ppp/ppp.pro b/noncore/settings/networksettings/ppp/ppp.pro
index ebfc713..a2e0118 100644
--- a/noncore/settings/networksettings/ppp/ppp.pro
+++ b/noncore/settings/networksettings/ppp/ppp.pro
@@ -1,18 +1,18 @@
#TEMPLATE = app
#
TEMPLATE = lib
#CONFIG += qt warn_on release
CONFIG += qt warn_on debug
DESTDIR = $(OPIEDIR)/plugins/networksettings
-HEADERS = pppmodule.h devices.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h knuminput.h knumvalidator.h kpppwidget.h conwindow.h debug.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h
-SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp knuminput.cpp knumvalidator.cpp kpppwidget.cpp conwindow.cpp debug.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp
+HEADERS = pppmodule.h devices.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h knuminput.h knumvalidator.h kpppwidget.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h
+SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp knuminput.cpp knumvalidator.cpp kpppwidget.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp
INCLUDEPATH += $(OPIEDIR)/include ../ ../interfaces/
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe -L../interfaces/ -linterfaces
INTERFACES =
TARGET = pppplugin
VERSION = 1.0.0
include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/settings/networksettings/ppp/pppmodule.cpp b/noncore/settings/networksettings/ppp/pppmodule.cpp
index e13f8c8..fb2f3e5 100644
--- a/noncore/settings/networksettings/ppp/pppmodule.cpp
+++ b/noncore/settings/networksettings/ppp/pppmodule.cpp
@@ -35,91 +35,92 @@ void PPPModule::setProfile(const QString &newProfile){
/**
* 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)
*/
QString PPPModule::getPixmapName(Interface* ){
return "ppp";
}
/**
* 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 PPPModule::isOwner(Interface *i){
return list.find( i ) != -1;
}
/**
* Create, and return the WLANConfigure Module
* @return QWidget* pointer to this modules configure.
*/
QWidget *PPPModule::configure(Interface *i){
qDebug("return ModemWidget");
PPPConfigWidget *pppconfig = new PPPConfigWidget( 0, "PPPConfig", false,
Qt::WDestructiveClose );
return pppconfig;
}
/**
* Create, and return the Information Module
* @return QWidget* pointer to this modules info.
*/
QWidget *PPPModule::information(Interface *i){
// We don't have any advanced pppd information widget yet :-D
// TODO ^
qDebug("return PPPModule::information");
InterfaceInformationImp *information = new InterfaceInformationImp(0, "InterfaceSetupImp", i);
return information;
}
/**
* Get all active (up or down) interfaces
* @return QList<Interface> A list of interfaces that exsist that havn't
* been called by isOwner()
*/
QList<Interface> PPPModule::getInterfaces(){
// List all of the files in the peer directory
+ qDebug("PPPModule::getInterfaces");
return list;
}
/**
* Attempt to add a new interface as defined by name
* @param name the name of the type of interface that should be created given
* by possibleNewInterfaces();
* @return Interface* NULL if it was unable to be created.
*/
Interface *PPPModule::addNewInterface(const QString &newInterface){
qDebug("try to add iface %s",newInterface.latin1());
PPPConfigWidget imp(0, "PPPConfigImp", true);
imp.showMaximized();
if(imp.exec() == QDialog::Accepted ){
qDebug("ACCEPTED");
PPPData::data()->save();
Interface *iface;
iface = new Interface( 0, PPPData::data()->modemDevice() );
iface->setHardwareName( PPPData::data()->accname() );
list.append( iface );
return iface;
}
return NULL;
}
/**
* Attempts to remove the interface, doesn't delete i
* @return bool true if successfull, false otherwise.
*/
bool PPPModule::remove(Interface*){
// Can't remove a hardware device, you can stop it though.
return false;
}
void PPPModule::possibleNewInterfaces(QMap<QString, QString> &newIfaces)
{
newIfaces.insert(QObject::tr("PPP") ,
QObject::tr("generic ppp device"));
}