author | wimpie <wimpie> | 2004-04-10 13:06:13 (UTC) |
---|---|---|
committer | wimpie <wimpie> | 2004-04-10 13:06:13 (UTC) |
commit | db9f0e2a7fd93157d95f421534fcc3015abe53e0 (patch) (side-by-side diff) | |
tree | 001918ca18d0d74f3e49597f766c070bea71e25c /noncore/settings/networksettings2/network | |
parent | 6bcdc8cd41199dce849b800b4296011faf6281df (diff) | |
download | opie-db9f0e2a7fd93157d95f421534fcc3015abe53e0.zip opie-db9f0e2a7fd93157d95f421534fcc3015abe53e0.tar.gz opie-db9f0e2a7fd93157d95f421534fcc3015abe53e0.tar.bz2 |
*** empty log message ***
Diffstat (limited to 'noncore/settings/networksettings2/network') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings2/network/networkrun.cpp | 6 | ||||
-rw-r--r-- | noncore/settings/networksettings2/network/networkrun.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/noncore/settings/networksettings2/network/networkrun.cpp b/noncore/settings/networksettings2/network/networkrun.cpp index c19235a..41e1c53 100644 --- a/noncore/settings/networksettings2/network/networkrun.cpp +++ b/noncore/settings/networksettings2/network/networkrun.cpp @@ -1,61 +1,61 @@ #include <system.h> #include <asdevice.h> #include "networkrun.h" void NetworkRun::detectState( NodeCollection * NC ) { RuntimeInfo * RI = netNode()->nextNode()->runtime(); AsDevice * Next = RI->asDevice(); InterfaceInfo * II = Next->assignedInterface(); if( II ) { // device has assigned interface NC->setCurrentState( (( II->IsUp ) ? IsUp : Available) ); return; } // has no interface -> delegate RI->detectState( NC ); } -bool NetworkRun::setState( NodeCollection * NC, Action_t A ) { +bool NetworkRun::setState( NodeCollection * NC, Action_t A, bool Force ) { // we handle UP and DOWN RuntimeInfo * RI = netNode()->nextNode()->runtime(); AsDevice * Next = RI->asDevice(); InterfaceInfo * II = Next->assignedInterface(); if( A == Up ) { // we can bring UP if lower level is available - if( NC->currentState() == Available ) { + if( NC->currentState() == Available || Force ) { QString S; S.sprintf( "ifup %s=%s-c%d-allowed", II->Name.latin1(), II->Name.latin1(), connection()->number() ); NSResources->system().runAsRoot( S ); } return 1; } else if( A == Down ) { - if( NC->currentState() == IsUp ) { + if( NC->currentState() == IsUp || Force ) { QString S; S.sprintf( "ifdown %s=%s-c%d-allowed", II->Name.latin1(), II->Name.latin1(), connection()->number() ); NSResources->system().runAsRoot( S ); } return 1; } // delegate return RI->setState( NC, A ); } bool NetworkRun::canSetState( State_t Curr, Action_t A ) { // we handle UP and DOWN RuntimeInfo * RI = netNode()->nextNode()->runtime(); if( A == Up ) { return ( Curr == Available ); } else if( A == Down ) { return ( Curr == IsUp ); } // delegate return RI->canSetState( Curr, A ); } diff --git a/noncore/settings/networksettings2/network/networkrun.h b/noncore/settings/networksettings2/network/networkrun.h index fa16365..522a912 100644 --- a/noncore/settings/networksettings2/network/networkrun.h +++ b/noncore/settings/networksettings2/network/networkrun.h @@ -1,23 +1,23 @@ #include <asconnection.h> #include "networkdata.h" class NetworkRun : public AsConnection { public : NetworkRun( ANetNodeInstance * NNI, NetworkData & Data ) : AsConnection( NNI ) { } virtual AsConnection * asConnection( void ) { return (AsConnection *)this; } protected : void detectState( NodeCollection * ); - bool setState( NodeCollection * ,Action_t A ); + bool setState( NodeCollection * ,Action_t A, bool ); bool canSetState( State_t , Action_t A ); bool handlesInterface( const QString & I ); }; |