diff -r 0ba996a9b75d -r 613943a21004 bluetoothengine/bteng/btengconnman/src/btengconnhandler.cpp --- a/bluetoothengine/bteng/btengconnman/src/btengconnhandler.cpp Thu Aug 19 10:05:41 2010 +0300 +++ b/bluetoothengine/bteng/btengconnman/src/btengconnhandler.cpp Tue Aug 31 15:25:10 2010 +0300 @@ -83,7 +83,6 @@ { TRACE_FUNC_ENTRY CancelNotifyConnectionEvents(); - CancelPairing(); iBTEng.Close(); } @@ -146,128 +145,52 @@ // ?implementation_description // --------------------------------------------------------------------------- // -TInt CBTEngConnHandler::CancelNotifyConnectionEvents() - { - TRACE_FUNC_ENTRY - TInt err = KErrNone; - if( iConnEventActive && iConnEventActive->IsActive() ) - { - err = iBTEng.CancelNotifyConnectionEvents(); - iConnEventActive->CancelRequest(); - } - delete iConnEventActive; - iConnEventActive = NULL; - return err; - } - -// ----------------------------------------------------------------------------- -// Request server side to activate/deactivate a pair observer -// ----------------------------------------------------------------------------- -// -TInt CBTEngConnHandler::SetPairingObserver( const TBTDevAddr& aAddr, - TBool aActivate ) - { - RBTEng bteng; - TInt err = bteng.Connect(); - if ( !err ) - { - err = bteng.SetPairingObserver( aAddr, aActivate ); - } - bteng.Close(); - return err; - } - -// --------------------------------------------------------------------------- -// Request BTEng to pair the device -// --------------------------------------------------------------------------- -// -TInt CBTEngConnHandler::StartPairing( const TBTDevAddr& aAddr, - const TBTDeviceClass& aDeviceClass ) +void CBTEngConnHandler::CancelNotifyConnectionEvents() { TRACE_FUNC_ENTRY - TInt err( KErrNone ); - if( iPairActive && iPairActive->IsActive() ) - { - err = KErrServerBusy; - } - - if( !iPairActive ) - { - // Use a higher prioritty than normal, because we want - // to be notified fast (e.g. to update the UI). - TRAP( err, iPairActive = CBTEngActive::NewL( *this, EPairDeviceId, - CActive::EPriorityUserInput ) ); - } - if ( !err ) - { - iPairAddr() = aAddr; - iPairDevCod = aDeviceClass.DeviceClass(); - iBTEng.PairDevice( iPairAddr, iPairDevCod, iPairActive->RequestStatus() ); - iPairActive->GoActive(); - } - TRACE_FUNC_EXIT - return err; + delete iConnEventActive; + iConnEventActive = NULL; } // --------------------------------------------------------------------------- -// Cancel any outstanding operation, free resources. -// --------------------------------------------------------------------------- -// -void CBTEngConnHandler::CancelPairing() - { - TRACE_FUNC_ENTRY - if( iPairActive && iPairActive->IsActive() ) - { - iBTEng.CancelPairDevice(); - } - delete iPairActive; - iPairActive = NULL; - TRACE_FUNC_EXIT - } - - -// --------------------------------------------------------------------------- // From class MBTEngActiveObserver. // Called by the active object when a change in connection status has occured. // --------------------------------------------------------------------------- // -void CBTEngConnHandler::RequestCompletedL( CBTEngActive* aActive, TInt aId, +void CBTEngConnHandler::RequestCompletedL( CBTEngActive* aActive, TInt aStatus ) { - TRACE_FUNC_ARG( ( _L( "ID: %d status: %d" ), aId, aStatus ) ) - + TRACE_FUNC_ARG( ( _L( "ID: %d status: %d" ), aActive->RequestId(), aStatus ) ) (void) aActive; - switch ( aId ) - { - case EConnectionEventId: - { - HandleConnectionEvent( aStatus ); - break; - } - case EPairDeviceId: - { - if ( iObserver ) - { - iObserver->PairingComplete( iPairAddr(), aStatus ); - } - } - } - + ASSERT( aActive->RequestId() == EConnectionEventId ); + HandleConnectionEvent( aStatus ); TRACE_FUNC_EXIT } +// --------------------------------------------------------------------------- +// From class MBTEngActiveObserver. +// Handles cancelation of an outstanding request +// --------------------------------------------------------------------------- +// +void CBTEngConnHandler::CancelRequest( TInt aRequestId ) + { + TRACE_FUNC_ARG( ( _L( "reqID %d" ), aRequestId ) ) + ASSERT( aRequestId == EConnectionEventId ); + ( void ) aRequestId; + iBTEng.CancelNotifyConnectionEvents(); + TRACE_FUNC_EXIT + } // --------------------------------------------------------------------------- // From class MBTEngActiveObserver. // Called when RequestCompletedL/RunL leaves. // --------------------------------------------------------------------------- // -void CBTEngConnHandler::HandleError( CBTEngActive* aActive, TInt aId, TInt aError ) +void CBTEngConnHandler::HandleError( CBTEngActive* aActive, TInt aError ) { TRACE_FUNC_ARG( ( _L( "error: %d" ), aError ) ) // Should any info be passed to the client?? (void) aActive; - (void) aId; (void) aError; }