summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/lancard/lancardrun.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings2/lancard/lancardrun.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/networksettings2/lancard/lancardrun.cpp92
1 files changed, 24 insertions, 68 deletions
diff --git a/noncore/settings/networksettings2/lancard/lancardrun.cpp b/noncore/settings/networksettings2/lancard/lancardrun.cpp
index 1544ddc..470b797 100644
--- a/noncore/settings/networksettings2/lancard/lancardrun.cpp
+++ b/noncore/settings/networksettings2/lancard/lancardrun.cpp
@@ -6,3 +6,3 @@
6 6
7void LanCardRun::detectState( NodeCollection * NC ) { 7State_t LanCardRun::detectState( void ) {
8 8
@@ -12,3 +12,5 @@ void LanCardRun::detectState( NodeCollection * NC ) {
12 12
13 QString S = QString( "/tmp/profile-%1.up" ).arg(NC->number()); 13 NodeCollection * NC = nodeCollection();
14 QString S = QString( "/tmp/profile-%1.up" ).
15 arg( NC->number());
14 System & Sys = NSResources->system(); 16 System & Sys = NSResources->system();
@@ -30,6 +32,4 @@ void LanCardRun::detectState( NodeCollection * NC ) {
30 if( X == Run->Name ) { 32 if( X == Run->Name ) {
31 Run->assignNode( netNode() ); 33 NC->assignInterface( Run );
32 assignInterface( Run ); 34 return IsUp;
33 NC->setCurrentState( IsUp );
34 return;
35 } 35 }
@@ -39,3 +39,3 @@ void LanCardRun::detectState( NodeCollection * NC ) {
39 39
40 if( ( Run = assignedInterface() ) ) { 40 if( ( Run = NC->assignedInterface() ) ) {
41 // we already have an interface assigned -> still present ? 41 // we already have an interface assigned -> still present ?
@@ -43,4 +43,3 @@ void LanCardRun::detectState( NodeCollection * NC ) {
43 // usb is still free -> keep assignment 43 // usb is still free -> keep assignment
44 NC->setCurrentState( Available ); 44 return Available;
45 return;
46 } // else interface is up but NOT us -> some other profile 45 } // else interface is up but NOT us -> some other profile
@@ -49,3 +48,3 @@ void LanCardRun::detectState( NodeCollection * NC ) {
49 // nothing (valid) assigned to us 48 // nothing (valid) assigned to us
50 assignInterface( 0 ); 49 NC->assignInterface( 0 );
51 50
@@ -65,4 +64,3 @@ void LanCardRun::detectState( NodeCollection * NC ) {
65 // proper type, and Not UP -> free 64 // proper type, and Not UP -> free
66 NC->setCurrentState( Off ); 65 return Off;
67 return;
68 } 66 }
@@ -71,16 +69,10 @@ void LanCardRun::detectState( NodeCollection * NC ) {
71 69
72 NC->setCurrentState( Unavailable ); 70 return Unavailable;
73
74} 71}
75 72
76bool LanCardRun::setState( NodeCollection * NC, Action_t A, bool ) { 73QString LanCardRun::setMyState( NodeCollection * NC, Action_t A, bool ) {
77 74
78 // we only handle activate and deactivate 75 if( A == Activate ) {
79 switch( A ) {
80 case Activate :
81 {
82 if( NC->currentState() != Off ) {
83 return 0;
84 }
85 InterfaceInfo * N = getInterface(); 76 InterfaceInfo * N = getInterface();
77
86 if( ! N ) { 78 if( ! N ) {
@@ -88,54 +80,18 @@ bool LanCardRun::setState( NodeCollection * NC, Action_t A, bool ) {
88 NC->setCurrentState( Unavailable ); 80 NC->setCurrentState( Unavailable );
89 return 0; 81 return tr("No interface found");
90 } 82 }
83
91 // because we were OFF the interface 84 // because we were OFF the interface
92 // we get back is NOT assigned 85 // we get back is NOT assigned
93 N->assignNode( netNode() ); 86 NC->assignInterface( N );
94 assignInterface( N );
95 NC->setCurrentState( Available ); 87 NC->setCurrentState( Available );
96 return 1; 88 return QString();
97 }
98 case Deactivate :
99 if( NC->currentState() == IsUp ) {
100 // bring down first
101 if( ! connection()->setState( Down ) )
102 // could not ...
103 return 0;
104 } else if( NC->currentState() != Available ) {
105 return 1;
106 } 89 }
107 assignedInterface()->assignNode( 0 ); // release 90
108 assignInterface( 0 ); 91 if( A == Deactivate ) {
92 NC->assignInterface( 0 );
109 NC->setCurrentState( Off ); 93 NC->setCurrentState( Off );
110 return 1;
111 default :
112 // FT
113 break;
114 }
115 return 0;
116} 94}
117 95
118bool LanCardRun::canSetState( State_t Curr, Action_t A ) { 96 return QString();
119 // we only handle up down activate and deactivate
120 switch( A ) {
121 case Activate :
122 { // at least available
123 if( Curr == Available ) {
124 return 1;
125 }
126 // or we can make one available
127 InterfaceInfo * N = getInterface();
128 if( ! N || N->assignedNode() != 0 ) {
129 // non available or assigned
130 return 0;
131 }
132 return 1;
133 }
134 case Deactivate :
135 return ( Curr >= Available );
136 default :
137 // FT
138 break;
139 }
140 return 0;
141} 97}
@@ -160,6 +116,6 @@ InterfaceInfo * LanCardRun::getInterface( void ) {
160 // this is a LAN card 116 // this is a LAN card
161 if( Run->assignedNode() == netNode() ) { 117 if( Run->assignedConnection() == netNode()->connection() ) {
162 // assigned to us 118 // assigned to us
163 return Run; 119 return Run;
164 } else if( Run->assignedNode() == 0 ) { 120 } else if( Run->assignedConnection() == 0 ) {
165 // free 121 // free