summaryrefslogtreecommitdiff
path: root/examples/networksettings/examplemodule.cpp
blob: 1f6461375794f7326e06f1bcb345477fcde263d8 (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
#include "exampleiface.h"
#include "examplemodule.h"

/* OPIE */
#include <opie2/odebug.h>
using namespace Opie::Core;

#include <interfaces/interfaceinformationimp.h>

#include <qwidget.h>

VirtualModule::VirtualModule() {
    Interface* iface = new VirtualInterface( 0 );
    iface->setHardwareName( "vpn" );
    iface->setInterfaceName( "Test VPN" );
    m_interfaces.append( iface );

//  If we set up VPN via pptp
//  and networksettins was closed and now opened
//  we need to hide the ppp device behind us
//  One can do  this by calling setHandledInterfaceNames
//    setHandledInterfaceNames();
}

VirtualModule::~VirtualModule() {
    m_interfaces.setAutoDelete( true );
    m_interfaces.clear();
}


/*
 * We're a VPN module
 */
bool VirtualModule::isOwner(  Interface* iface ) {
 /* check if it is our device */
    return  m_interfaces.find(  iface ) != -1;
}

QWidget*  VirtualModule::configure( Interface* ) {
/* We don't have any Config for now */
    return 0l;
}

QWidget* VirtualModule::information(  Interface* iface ) {
    return  new InterfaceInformationImp(0, "Interface info", iface );
}

QList<Interface> VirtualModule::getInterfaces() {
    return m_interfaces;
}

void VirtualModule::possibleNewInterfaces( QMap<QString, QString>& map) {
    map.insert( ::QObject::tr("VPN PPTP"),
                ::QObject::tr("Add new Point to Point Tunnel Protocol connection" ) );
}


Interface* VirtualModule::addNewInterface( const QString& ) {
 /* check the str if we support more interfaces */
/*
    Interface* iface = new VirtualInterface( 0 );
    iface->setModuleOwner( this );
    return iface;*/

// if we would support saving interfaces we could add
// them here

    return 0;
}


bool VirtualModule::remove( Interface* ) {
/* we do not support removing our interface */
    return false;
}