Diffstat (limited to 'noncore/settings/networksettings2/network/networkrun.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/network/networkrun.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/noncore/settings/networksettings2/network/networkrun.cpp b/noncore/settings/networksettings2/network/networkrun.cpp index 41e1c53..3e24c5f 100644 --- a/noncore/settings/networksettings2/network/networkrun.cpp +++ b/noncore/settings/networksettings2/network/networkrun.cpp | |||
@@ -13,6 +13,7 @@ void NetworkRun::detectState( NodeCollection * NC ) { | |||
13 | return; | 13 | return; |
14 | } | 14 | } |
15 | 15 | ||
16 | Log(( "%s not ! UP or ava\n", NC->name().latin1() )); | ||
16 | // has no interface -> delegate | 17 | // has no interface -> delegate |
17 | RI->detectState( NC ); | 18 | RI->detectState( NC ); |
18 | } | 19 | } |
@@ -34,17 +35,28 @@ bool NetworkRun::setState( NodeCollection * NC, Action_t A, bool Force ) { | |||
34 | } | 35 | } |
35 | return 1; | 36 | return 1; |
36 | } else if( A == Down ) { | 37 | } else if( A == Down ) { |
37 | if( NC->currentState() == IsUp || Force ) { | ||
38 | QString S; | 38 | QString S; |
39 | if( Force ) { | ||
40 | Log(("Force mode %d\n", Force )); | ||
41 | for( int i = 0; | ||
42 | i < RI->netNode()->nodeClass()->instanceCount(); | ||
43 | i ++ ) { | ||
44 | S.sprintf( "ifdown %s", | ||
45 | RI->netNode()->nodeClass()->genNic( i ).latin1() ); | ||
46 | NSResources->system().runAsRoot( S ); | ||
47 | } | ||
48 | } else { | ||
49 | if( NC->currentState() == IsUp ) { | ||
39 | S.sprintf( "ifdown %s=%s-c%d-allowed", | 50 | S.sprintf( "ifdown %s=%s-c%d-allowed", |
40 | II->Name.latin1(), II->Name.latin1(), | 51 | II->Name.latin1(), II->Name.latin1(), |
41 | connection()->number() ); | 52 | connection()->number() ); |
42 | NSResources->system().runAsRoot( S ); | 53 | NSResources->system().runAsRoot( S ); |
43 | } | 54 | } |
55 | } | ||
44 | return 1; | 56 | return 1; |
45 | } | 57 | } |
46 | // delegate | 58 | // delegate |
47 | return RI->setState( NC, A ); | 59 | return RI->setState( NC, A, Force ); |
48 | } | 60 | } |
49 | 61 | ||
50 | bool NetworkRun::canSetState( State_t Curr, Action_t A ) { | 62 | bool NetworkRun::canSetState( State_t Curr, Action_t A ) { |