Diffstat (limited to 'noncore/settings/networksettings2/ppp/ppprun.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/ppp/ppprun.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
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,77 +1,90 @@ #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 ); } // cannot really disable NC->setCurrentState( Available ); break; case Up : if( NC->currentState() != IsUp ) { // start my PPPD NC->setCurrentState( IsUp ); } break; case Down : if( NC->currentState() == IsUp ) { // stop my PPPD NC->setCurrentState( Available ); } break; 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; } |