summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/ppp/pppmodule.cpp
blob: 40d24558a7eacf1709755df63a885ba7a1a86545 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include "pppmodule.h"
#include "pppimp.h"
#include "interfaceinformationimp.h"
//#include "devices.h"

/**
 * Constructor, find all of the possible interfaces
 */
PPPModule::PPPModule() : Module() {
}

/**
 * Delete any interfaces that we own.
 */
PPPModule::~PPPModule(){
  Interface *i;
  for ( i=list.first(); i != 0; i=list.next() )
    delete i;
}

/**
 * Change the current profile
 */
void PPPModule::setProfile(const QString &newProfile){
  profile = 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){
  if(!i->getInterfaceName().upper().contains("PPP"))
    return false;

  i->setHardwareName("PPP");
  list.append(i);
  return true;
}

/**
 * Create, and return the WLANConfigure Module
 * @return QWidget* pointer to this modules configure.
 */
QWidget *PPPModule::configure(Interface *i){
    PPPConfigureImp *pppconfig = new PPPConfigureImp(0, "PPPConfig", /* i,*/ false,  Qt::WDestructiveClose);
//    pppconfig->setProfile(profile);
    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 ^
  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
  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){
  // If the
  qDebug("try to add iface %s",newInterface.latin1());
  PPPConfigureImp imp(0, "PPPConfigImp");
  imp.showMaximized();
  if(imp.exec() == QDialog::Accepted ){
              qDebug("ACCEPTED");
              return new Interface( 0, newInterface );
  }
  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)
{
    qDebug("here");
        newIfaces.insert(QObject::tr("PPP") ,QObject::tr("generic ppp device"));
}