diff -r 16aa830c86c8 -r f8503e232b0c bluetoothmgmt/bluetoothclientlib/btlib/btbaseband.cpp --- a/bluetoothmgmt/bluetoothclientlib/btlib/btbaseband.cpp Wed Apr 14 17:08:52 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/btlib/btbaseband.cpp Tue Apr 27 17:48:21 2010 +0300 @@ -529,14 +529,7 @@ } } -void RBTBaseband::TerminateAllPhysicalLinks(TInt aReason) - { - TRequestStatus stat; - TerminateAllPhysicalLinks(aReason, stat); - User::WaitForRequest(stat); - } - -void RBTBaseband::TerminateAllPhysicalLinks(TInt /*aReason*/, TRequestStatus& aStatus) +void RBTBaseband::TerminateAllPhysicalLinks(TRequestStatus& aStatus) { if (!SubSessionHandle()) { @@ -549,6 +542,20 @@ } } +void RBTBaseband::TerminateAllPhysicalLinksForPowerOff(TRequestStatus& aStatus) + { + if (!SubSessionHandle()) + { + LocalComplete(aStatus, KErrNotReady); + } + else + { + TBuf8<1> dummy; + iSocket.Shutdown(RSocket::ENormal, KDisconnectAllPhysicalLinksForPowerOff, dummy, aStatus); // this *means* detach now + } + } + + TInt RBTBaseband::Enumerate(RBTDevAddrArray& aBTDevAddrArray, TUint aMaxNumber) { if (!SubSessionHandle())