Diffstat (limited to 'noncore/settings/networksettings2/profile/profilerun.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/profile/profilerun.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/noncore/settings/networksettings2/profile/profilerun.cpp b/noncore/settings/networksettings2/profile/profilerun.cpp index 90c37ed..feebf86 100644 --- a/noncore/settings/networksettings2/profile/profilerun.cpp +++ b/noncore/settings/networksettings2/profile/profilerun.cpp | |||
@@ -19,25 +19,23 @@ bool ProfileRun::setState( NodeCollection * NC, Action_t A ) { | |||
19 | switch ( A ) { | 19 | switch ( A ) { |
20 | case Enable : | 20 | case Enable : |
21 | if( NC->currentState() == Disabled ) { | 21 | if( NC->currentState() == Disabled ) { |
22 | Data->Disabled = 0; | ||
22 | NC->setCurrentState( Off ); // at least | 23 | NC->setCurrentState( Off ); // at least |
23 | // ... but request deeper | 24 | // ... but request deeper |
24 | NNNI->runtime()->detectState(NC); | 25 | NNNI->runtime()->detectState(NC); |
25 | return 1; | ||
26 | } | 26 | } |
27 | return 1; | 27 | return 1; |
28 | case Disable : | 28 | case Disable : |
29 | if( NC->currentState() == IsUp ) { | 29 | switch( NC->currentState() ) { |
30 | // bring down -> make available | 30 | case IsUp : |
31 | NNNI->runtime()->setState(NC, Down); | 31 | case Available : |
32 | } | 32 | // bring Deactivate (will bring down) |
33 | if( NC->currentState() == Available ) { | 33 | if( ! NNNI->runtime()->setState(NC, Deactivate) ) |
34 | // make unavailable | ||
35 | NNNI->runtime()->setState(NC, Deactivate); | ||
36 | } | ||
37 | if( NC->currentState() > Available ) { | ||
38 | // could not disable | ||
39 | return 0; | 34 | return 0; |
35 | default : | ||
36 | break; | ||
40 | } | 37 | } |
38 | Data->Disabled = 1; | ||
41 | NC->setCurrentState( Disabled ); | 39 | NC->setCurrentState( Disabled ); |
42 | return 1; | 40 | return 1; |
43 | default : | 41 | default : |