summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/ppp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings2/ppp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/ppp/ppp_NN.h2
-rw-r--r--noncore/settings/networksettings2/ppp/ppp_NNI.h2
-rw-r--r--noncore/settings/networksettings2/ppp/ppprun.cpp19
-rw-r--r--noncore/settings/networksettings2/ppp/ppprun.h18
4 files changed, 30 insertions, 11 deletions
diff --git a/noncore/settings/networksettings2/ppp/ppp_NN.h b/noncore/settings/networksettings2/ppp/ppp_NN.h
index a933523..3f9a338 100644
--- a/noncore/settings/networksettings2/ppp/ppp_NN.h
+++ b/noncore/settings/networksettings2/ppp/ppp_NN.h
@@ -6,25 +6,25 @@
class APPP;
class PPPNetNode : public ANetNode{
Q_OBJECT
public:
PPPNetNode();
virtual ~PPPNetNode();
virtual const QString pixmapName()
- { return "ppp"; }
+ { return "Devices/ppp"; }
virtual const QString nodeName()
{ return tr("PPP Connection"); }
virtual const QString nodeDescription() ;
virtual ANetNodeInstance * createInstance( void );
virtual const char ** needs( void );
virtual const char * provides( void );
virtual bool generateProperFilesFor( ANetNodeInstance * NNI );
diff --git a/noncore/settings/networksettings2/ppp/ppp_NNI.h b/noncore/settings/networksettings2/ppp/ppp_NNI.h
index 08dca1d..a17721a 100644
--- a/noncore/settings/networksettings2/ppp/ppp_NNI.h
+++ b/noncore/settings/networksettings2/ppp/ppp_NNI.h
@@ -12,25 +12,25 @@ class APPP : public ANetNodeInstance {
public :
APPP( PPPNetNode * PNN );
QWidget * edit( QWidget * parent );
QString acceptable( void );
void commit( void );
RuntimeInfo * runtime( void )
{ if( RT == 0 )
RT = new PPPRun( this, Data );
- return RT;
+ return RT->runtimeInfo();
}
virtual void * data( void )
{ return (void *)&Data; }
protected :
virtual void setSpecificAttribute( QString & Attr, QString & Value );
virtual void saveSpecificAttribute( QTextStream & TS );
private :
diff --git a/noncore/settings/networksettings2/ppp/ppprun.cpp b/noncore/settings/networksettings2/ppp/ppprun.cpp
index 8933f85..4ac0c5a 100644
--- a/noncore/settings/networksettings2/ppp/ppprun.cpp
+++ b/noncore/settings/networksettings2/ppp/ppprun.cpp
@@ -1,26 +1,39 @@
#include <resources.h>
#include "ppprun.h"
+PPPRun::PPPRun( ANetNodeInstance * NNI, PPPData & Data ) :
+ AsConnection( NNI ), AsDevice( NNI ), Pat( "eth[0-9]" ) {
+ D = &Data;
+}
+
void PPPRun::detectState( NodeCollection * NC ) {
if( isMyPPPDRunning( ) ) {
if( isMyPPPUp() ) {
NC->setCurrentState( IsUp );
} else {
NC->setCurrentState( Available );
}
} else {
NC->setCurrentState( Off ); // at least this
// but could also be unavailable
- netNode()->nextNode()->runtime()->detectState( NC );
+ ANetNodeInstance * NNI;
+ RuntimeInfo * RI;
+ NNI = AsDevice::netNode();
+ printf( "%p\n", NNI );
+ NNI = NNI->nextNode();
+ printf( "%p\n", NNI );
+ RI = NNI->runtime();
+ printf( "%p\n", RI );
+ RI->detectState( NC );
}
}
bool PPPRun::setState( NodeCollection * NC, Action_t A ) {
switch( A ) {
case Activate :
NC->setCurrentState( Available );
// no
break;
case Deactivate :
if( NC->currentState() == IsUp ) {
NC->state( Down );
@@ -43,35 +56,35 @@ bool PPPRun::setState( NodeCollection * NC, Action_t A ) {
default : // FT
break;
}
return 1;
}
bool PPPRun::isMyPPPDRunning( void ) {
return 0;
}
bool PPPRun::isMyPPPUp( void ) {
System & S = NSResources->system();
- InterfaceInfo * best = 0, * Run;
+ InterfaceInfo * Run;
QRegExp R( "ppp[0-9]" );
for( QDictIterator<InterfaceInfo> It(S.interfaces());
It.current();
++It ) {
Run = It.current();
if( R.match( Run->Name ) >= 0 &&
Run->IsPointToPoint
) {
// this is a LAN card
- if( Run->assignedNode() == netNode() ) {
+ if( Run->assignedNode() == AsDevice::netNode() ) {
// assigned to us
return 1;
}
}
}
return 0;
}
bool PPPRun::handlesInterface( const QString & S ) {
return Pat.match( S ) >= 0;
}
diff --git a/noncore/settings/networksettings2/ppp/ppprun.h b/noncore/settings/networksettings2/ppp/ppprun.h
index 76a05be..abb9176 100644
--- a/noncore/settings/networksettings2/ppp/ppprun.h
+++ b/noncore/settings/networksettings2/ppp/ppprun.h
@@ -1,35 +1,41 @@
#ifndef PPPRUN_H
#define PPPRUN_H
#include <qregexp.h>
#include <asconnection.h>
+#include <asdevice.h>
#include "pppdata.h"
-class PPPRun : public AsConnection {
+class PPPRun : public AsConnection, public AsDevice {
public :
PPPRun( ANetNodeInstance * NNI,
- PPPData & Data ) :
- AsConnection( NNI ),
- Pat( "eth[0-9]" )
- { D = &Data; }
+ PPPData & Data );
+ virtual QString genNic( long NicNr )
+ { QString S; return S.sprintf( "ppp%ld", NicNr ); }
+
+ virtual AsDevice * device( void )
+ { return AsDevice::asDevice(); }
+ virtual RuntimeInfo * runtimeInfo( void )
+ { return ( AsConnection *)this; }
protected :
void detectState( NodeCollection * NC );
bool setState( NodeCollection * NC, Action_t A );
bool canSetState( State_t S, Action_t A )
- { return connection()->findNext( netNode() )->runtime()->canSetState( S,A ); }
+ { return AsDevice::connection()->findNext(
+ AsDevice::netNode() )->runtime()->canSetState( S,A ); }
bool handlesInterface( const QString & I );
private :
bool isMyPPPDRunning( void );
bool isMyPPPUp( void );
PPPData_t * D;
QRegExp Pat;
};