From e54346d28b19d3ac671802a25e8c03f346693291 Mon Sep 17 00:00:00 2001 From: wimpie Date: Sun, 09 Jan 2005 00:32:10 +0000 Subject: Updated dependencies NS2->app requires OT2Lib and NS2Lib OT2Lib requires NS2Lib Most plugins only require NS2Lib Except BTPlugin which requires als OT2Lib Also renamed owarn -> odebug --- (limited to 'noncore/settings/networksettings2/usb') diff --git a/noncore/settings/networksettings2/usb/usbrun.cpp b/noncore/settings/networksettings2/usb/usbrun.cpp index eb439c1..de8c8a2 100644 --- a/noncore/settings/networksettings2/usb/usbrun.cpp +++ b/noncore/settings/networksettings2/usb/usbrun.cpp @@ -38,6 +38,7 @@ State_t USBRun::detectState( void ) { } Log(("Assigned %p\n", NC->assignedInterface() )); + if( ( Run = NC->assignedInterface() ) ) { // we already have an interface assigned -> still present ? if( ! Run->IsUp ) { @@ -50,26 +51,11 @@ State_t USBRun::detectState( void ) { NC->assignInterface( 0 ); // find possible interface - for( QDictIterator It(Sys.interfaces()); - It.current(); - ++It ) { - Run = It.current(); - - Log(("%s %d %d=%d %d\n", - Run->Name.latin1(), - handlesInterface( Run->Name ), - Run->CardType, ARPHRD_ETHER, - ! Run->IsUp )); - - if( handlesInterface( Run->Name ) && - Run->CardType == ARPHRD_ETHER && - ! Run->IsUp - ) { - // proper type, and Not UP -> free - // usb cables are currently always available when requested - // until we can detect if we are plugged in - return Available; - } + if( getInterface() ) { + // proper type, and Not UP -> free + // usb cables are currently always available when requested + // until we can detect if we are plugged in + return Available; } return Unavailable; @@ -77,8 +63,16 @@ State_t USBRun::detectState( void ) { QString USBRun::setMyState( NodeCollection * NC, Action_t A, bool ) { - // nothing needs to be done to 'activate' or 'deactivate' - // a cable + InterfaceInfo * I = getInterface(); + + if( ! I ) { + return QString("No usb device available"); + } + + Log(( "Grabbed USB interface %s\n", I->Name.latin1() )); + // grab this interface + NC->assignInterface( I ); + return QString(); } @@ -87,12 +81,18 @@ InterfaceInfo * USBRun::getInterface( void ) { System & S = NSResources->system(); InterfaceInfo * best = 0, * Run; - QRegExp R( "usb[0-9abcdef]" ); for( QDictIterator It(S.interfaces()); It.current(); ++It ) { Run = It.current(); + + Log(("%s %d %d=%d %d\n", + Run->Name.latin1(), + handlesInterface( Run->Name ), + Run->CardType, ARPHRD_ETHER, + ! Run->IsUp )); + if( handlesInterface( Run->Name ) && Run->CardType == ARPHRD_ETHER ) { @@ -100,10 +100,11 @@ InterfaceInfo * USBRun::getInterface( void ) { if( Run->assignedConnection() == netNode()->connection() ) { // assigned to us return Run; - } else if( Run->assignedConnection() == 0 ) { + } else if( ! Run->IsUp && + Run->assignedConnection() == 0 ) { // free best = Run; - } + } // UP or not assigned to us } } return best; // can be 0 -- cgit v0.9.0.2