summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/ppp/ppprun.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings2/ppp/ppprun.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/ppp/ppprun.cpp19
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,20 +1,33 @@
1#include <resources.h> 1#include <resources.h>
2#include "ppprun.h" 2#include "ppprun.h"
3 3
4PPPRun::PPPRun( ANetNodeInstance * NNI, PPPData & Data ) :
5 AsConnection( NNI ), AsDevice( NNI ), Pat( "eth[0-9]" ) {
6 D = &Data;
7}
8
4void PPPRun::detectState( NodeCollection * NC ) { 9void PPPRun::detectState( NodeCollection * NC ) {
5 if( isMyPPPDRunning( ) ) { 10 if( isMyPPPDRunning( ) ) {
6 if( isMyPPPUp() ) { 11 if( isMyPPPUp() ) {
7 NC->setCurrentState( IsUp ); 12 NC->setCurrentState( IsUp );
8 } else { 13 } else {
9 NC->setCurrentState( Available ); 14 NC->setCurrentState( Available );
10 } 15 }
11 } else { 16 } else {
12 NC->setCurrentState( Off ); // at least this 17 NC->setCurrentState( Off ); // at least this
13 // but could also be unavailable 18 // but could also be unavailable
14 netNode()->nextNode()->runtime()->detectState( NC ); 19 ANetNodeInstance * NNI;
20 RuntimeInfo * RI;
21 NNI = AsDevice::netNode();
22 printf( "%p\n", NNI );
23 NNI = NNI->nextNode();
24 printf( "%p\n", NNI );
25 RI = NNI->runtime();
26 printf( "%p\n", RI );
27 RI->detectState( NC );
15 } 28 }
16} 29}
17 30
18bool PPPRun::setState( NodeCollection * NC, Action_t A ) { 31bool PPPRun::setState( NodeCollection * NC, Action_t A ) {
19 switch( A ) { 32 switch( A ) {
20 case Activate : 33 case Activate :
@@ -49,24 +62,24 @@ bool PPPRun::setState( NodeCollection * NC, Action_t A ) {
49bool PPPRun::isMyPPPDRunning( void ) { 62bool PPPRun::isMyPPPDRunning( void ) {
50 return 0; 63 return 0;
51} 64}
52 65
53bool PPPRun::isMyPPPUp( void ) { 66bool PPPRun::isMyPPPUp( void ) {
54 System & S = NSResources->system(); 67 System & S = NSResources->system();
55 InterfaceInfo * best = 0, * Run; 68 InterfaceInfo * Run;
56 QRegExp R( "ppp[0-9]" ); 69 QRegExp R( "ppp[0-9]" );
57 70
58 for( QDictIterator<InterfaceInfo> It(S.interfaces()); 71 for( QDictIterator<InterfaceInfo> It(S.interfaces());
59 It.current(); 72 It.current();
60 ++It ) { 73 ++It ) {
61 Run = It.current(); 74 Run = It.current();
62 if( R.match( Run->Name ) >= 0 && 75 if( R.match( Run->Name ) >= 0 &&
63 Run->IsPointToPoint 76 Run->IsPointToPoint
64 ) { 77 ) {
65 // this is a LAN card 78 // this is a LAN card
66 if( Run->assignedNode() == netNode() ) { 79 if( Run->assignedNode() == AsDevice::netNode() ) {
67 // assigned to us 80 // assigned to us
68 return 1; 81 return 1;
69 } 82 }
70 } 83 }
71 } 84 }
72 return 0; 85 return 0;