--- a/bluetooth/btexample/test/cit/ROMConfig/src/cteststepbtromconfigremcon002.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btexample/test/cit/ROMConfig/src/cteststepbtromconfigremcon002.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -66,7 +66,7 @@
if ( err!=expectedError )
{
INFO_PRINTF4(\
- _L("Failed: Expected KErrNotFound (%d) and got %d when calling CRemConInterfaceSelector::OpenTargetL"),\
+ _L("Failed: Expected %S(%d) and got %d when calling CRemConInterfaceSelector::OpenTargetL"),\
expectedErrorDesPtr, expectedError, err);
SetTestStepResult(EFail);
}
--- a/bluetooth/btlogger/btsnoophcilogger/public/hciframelogger.h Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btlogger/btsnoophcilogger/public/hciframelogger.h Sun Mar 14 13:13:56 2010 +0000
@@ -35,6 +35,9 @@
static const TUint KHCILoggerACLDataFrame = 0; // For future use if required
static const TUint KHCILoggerSynchronousDataFrame = 0; // For future use if required
+//KHCILoggerGenericDataFrame can be used instead of the above two flags as BTSnoop logger does not
+//differencaite between the different types of data frames
+static const TUint KHCILoggerGenericDataFrame = 0;
static const TUint KHCILoggerCommandOrEvent = 0x00000002;
static const TUint KHCILoggerFrameFragmented = 0x80000000;
--- a/bluetooth/btstack/avdtp/avdtpStreamStates.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/avdtp/avdtpStreamStates.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -909,12 +909,16 @@
// now we kick TCs into life
if (aResult)
{
- // can return to Idle, user could try this operation again
- // the way Open works means we have transport sessions interested in result of this
- // they need to tell their sockets that their connects failed
-
- ChangeState(aStream, CAVStreamStateFactory::EStreamStateIdle);
-
+ // late reply or connection problem, abort
+
+ CSignallingChannel* sigch = aStream.iProtocol.FindSignallingChannel(aStream.iRemoteAddress.BTAddr());
+ // should always have sigch here
+ __ASSERT_DEBUG(sigch, PanicInState(EAvdtpSignallingChannelShouldExist));
+ if (sigch)
+ {
+ sigch->SendAbort(aStream, aStream.RemoteSEID());
+ }
+
// no need to tell signalling session as Opening is not available to RGavdp
// Opening is performed when the necessary sockets are created and connected in a stream
aStream.NotifyUserPlaneTransportSessionsError(NULL, aResult);
--- a/bluetooth/btstack/l2cap/l2sap.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/l2cap/l2sap.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -141,6 +141,8 @@
clone->SetState(iState->iFactory.GetState(CL2CAPSAPStateFactory::EPassiveLinkPending));
clone->SetListeningSAP(*this);
+ clone->SetCodServiceBits(iCodServiceBits);
+
// Copy the details required for security.
clone->iSecurity = iSecurity;
clone->iRemoteDev = aAddr;
--- a/bluetooth/btstack/l2cap/l2sapstates.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/l2cap/l2sapstates.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -880,9 +880,11 @@
}
// State Transition Actions.
-void TL2CAPSAPStateAccepting::Exit(CL2CAPConnectionSAP& /*aSAP*/) const
+void TL2CAPSAPStateAccepting::Exit(CL2CAPConnectionSAP& aSAP) const
{
LOG_FUNC
+
+ aSAP.RegisterCodService();
}
/*************************************************************************/
--- a/bluetooth/btstack/linkmgr/ACLSAP.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/linkmgr/ACLSAP.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -60,6 +60,7 @@
iStates[EOpen] =new (ELeave) TACLLinkStateOpen(*this);
iStates[EOpenParked] =new (ELeave) TACLLinkStateOpenParked(*this);
iStates[EClosing] =new (ELeave) TACLLinkStateClosing(*this);
+ iStates[EAcceptingClosing] =new (ELeave) TACLLinkStateAcceptingClosing(*this);
}
CACLLinkStateFactory::~CACLLinkStateFactory()
@@ -432,7 +433,7 @@
{
LOG_FUNC
// we're not wanted - close
- ChangeState(aContext, CACLLinkStateFactory::EClosing);
+ ChangeState(aContext, CACLLinkStateFactory::EAcceptingClosing);
}
//----------------------------------------------------------------------------------
@@ -497,7 +498,7 @@
{
LOG_FUNC
// just go
- ChangeState(aContext, CACLLinkStateFactory::EClosing);
+ ChangeState(aContext, CACLLinkStateFactory::EAcceptingClosing);
}
//----------------------------------------------------------------------------------
@@ -869,6 +870,38 @@
//----------------------------------------------------------------------------------
+TACLLinkStateAcceptingClosing::TACLLinkStateAcceptingClosing(CACLLinkStateFactory& aFactory)
+: TACLLinkState(aFactory)
+ {
+ LOG_FUNC
+ STATENAME("AcceptingClosing");
+ }
+
+void TACLLinkStateAcceptingClosing::Shutdown(CACLLink& /*aContext*/, CServProviderBase::TCloseType /*aCloseType*/) const
+ {
+ LOG_FUNC
+ // we are! just ignore and continue
+ }
+
+void TACLLinkStateAcceptingClosing::Deletion(CACLLink& aContext) const
+ {
+ LOG_FUNC
+ aContext.ListeningSAP()->RemoveChild(&aContext);
+ }
+
+void TACLLinkStateAcceptingClosing::Error(CACLLink& aContext, TInt /*aError*/) const
+ {
+ LOG_FUNC
+ // This method is reached by receiving a Disconnection Complete Event with Status field != EOk,
+ // in this case we don't want to error the socket - so instead it is just closed
+ aContext.ListeningSAP()->RemoveChild(&aContext);
+ ChangeState(aContext, CACLLinkStateFactory::EClosed);
+ aContext.Socket()->CanClose();
+ }
+
+
+//----------------------------------------------------------------------------------
+
TACLLinkStateClosed::TACLLinkStateClosed(CACLLinkStateFactory& aFactory)
: TACLLinkState(aFactory)
{
--- a/bluetooth/btstack/linkmgr/ACLSAP.h Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/linkmgr/ACLSAP.h Sun Mar 14 13:13:56 2010 +0000
@@ -57,6 +57,7 @@
EOpen,
EOpenParked,
EClosing,
+ EAcceptingClosing,
// *** keep next one last ***
EACLLinkMaxState,
};
@@ -229,6 +230,18 @@
void Error(CACLLink& aContext, TInt aError) const;
};
+NONSHARABLE_CLASS(TACLLinkStateAcceptingClosing) : public TACLLinkState
+ {
+public:
+ TACLLinkStateAcceptingClosing(CACLLinkStateFactory& aFactory);
+
+ void Shutdown(CACLLink& aContext, CServProviderBase::TCloseType aCloseType) const;
+ void Deletion(CACLLink& aContext) const;
+
+ void Error(CACLLink& aContext, TInt aError) const;
+ };
+
+
NONSHARABLE_CLASS(TACLLinkStateClosed) : public TACLLinkState
{
public:
--- a/bluetooth/btstack/linkmgr/physicallinks.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/linkmgr/physicallinks.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -1038,6 +1038,28 @@
NotifyStateChange(event);
}
+ if (iACLLogicalLinks.Count() == 0)
+ {
+ // We don't already have an ACL logical link associated with this phy,
+ // so, in order to not miss ACL data from the remote, associate this
+ // phy with an ACL listener if there is one.
+ TLogicalLinkListener* listener = iLinksMan.FindListener(EACLLink);
+
+ if (listener)
+ {
+ TBTConnect conn;
+
+ conn.iBdaddr = iDevice.Address();
+ conn.iCoD = iDevice.DeviceClass().DeviceClass();
+ conn.iLinkType = EACLLink;
+
+ // Ignore the return from ConnectRequest, if not accepted then we are in no
+ // worse situation than if we didn't try.
+ ASSERT_DEBUG(listener->iObserver);
+ (void)listener->iObserver->ConnectRequest(conn, *this);
+ }
+ }
+
// tell the logical links
NotifyLogicalLinkUp(aConn);
iLinksMan.ArbitrateAllPhysicalLinks();
@@ -1533,15 +1555,15 @@
if(pairingState == CBTPairingsCache::EDeferred)
{
// We're still waiting for the Pairing Caches paired device list to be filled.
- // We'll respond when this is complete, so store details away for then.
+ // We'll respond when this is complete, so store details away for then.
LOG(_L("CPhysicalLink: Waiting for physical link manager's paired device list from Registry!"))
iPendingConnection = ETrue;
- iLastPendingConnection.iConnH = aConn.iConnH;
- iLastPendingConnection.iBdaddr = aConn.iBdaddr;
- iLastPendingConnection.iCoD = aConn.iCoD;
- iLastPendingConnection.iLinkType = aConn.iLinkType;
- iLastPendingConnection.iEncryptMode = aConn.iEncryptMode;
- // Return now as we are waiting and don't want to 'RejectConnection'
+ iLastPendingConnection.iConnH = aConn.iConnH;
+ iLastPendingConnection.iBdaddr = aConn.iBdaddr;
+ iLastPendingConnection.iCoD = aConn.iCoD;
+ iLastPendingConnection.iLinkType = aConn.iLinkType;
+ iLastPendingConnection.iEncryptMode = aConn.iEncryptMode;
+ // Return now as we are waiting and don't want to 'RejectConnection'
return;
}
@@ -1699,7 +1721,7 @@
return KErrArgument;
}
aOption = TPtrC8(reinterpret_cast<const TUint8*>(&iSniffInterval), sizeof(TBasebandTime));
- return KErrNone;
+ return KErrNone;
default:
return KErrNotSupported;
@@ -1720,26 +1742,26 @@
if ( aImmediately )
{
iArbitrationDelay->Cancel();
- return DoArbitrate(aLocalPriority);
+ return DoArbitrate(aLocalPriority);
}
else if (iArbitrationDelay->IsActive())
{
return KErrNone;
}
- else
- {
- iArbitrationDelay->Start(aLocalPriority);
- return KErrNone;
- }
- }
+ else
+ {
+ iArbitrationDelay->Start(aLocalPriority);
+ return KErrNone;
+ }
+ }
TInt CPhysicalLink::DoArbitrate(TBool aLocalPriority)
- {
- if (!IsConnected())
- {
- return KErrDisconnected;
- }
-
+ {
+ if (!IsConnected())
+ {
+ return KErrDisconnected;
+ }
+
//start arbitrate process with what our local controller supports
TUint8 allowedModesMask = EHoldMode | EParkMode | ESniffMode; // local features sorted out later
TBool roleSwitchAllowed = EFalse;
@@ -2813,6 +2835,18 @@
SetAuthenticationPending(EPinRequestPending); // if not already set (because the remote initiated authentication).
+ __ASSERT_DEBUG(iSimplePairingMode != EPhySimplePairingEnabled, Panic(EBTSSPModeChangedDuringConnection));
+ if (iSimplePairingMode == EPhySimplePairingUndefined)
+ {
+ iSimplePairingMode = EPhySimplePairingDisabled;
+ }
+
+ if (!IsConnected())
+ {
+ iPeerInSecurityMode3 = ETrue;
+ }
+
+
if (iPinRequester)
{
return;
@@ -3432,12 +3466,12 @@
}
void CArbitrationDelayTimer::Start(TBool aLocalPriority)
- {
- LOG_FUNC
- // Work out what the local priority will be now
- TBool localPriority = iLocalPriority || aLocalPriority;
- Cancel(); // cancel current timer (will also reset priority so ...
- iLocalPriority = localPriority; // set the new priority)
+ {
+ LOG_FUNC
+ // Work out what the local priority will be now
+ TBool localPriority = iLocalPriority || aLocalPriority;
+ Cancel(); // cancel current timer (will also reset priority so ...
+ iLocalPriority = localPriority; // set the new priority)
After(KBTArbitrationDelay);
}
@@ -3450,16 +3484,16 @@
LOG_FUNC
if (iParent)
{
- iParent->DoArbitrate(iLocalPriority);
+ iParent->DoArbitrate(iLocalPriority);
}
}
void CArbitrationDelayTimer::DoCancel()
- {
- LOG_FUNC
- CTimer::DoCancel();
- iLocalPriority = EFalse;
- }
+ {
+ LOG_FUNC
+ CTimer::DoCancel();
+ iLocalPriority = EFalse;
+ }
TInt CPhysicalLink::GetNumPendingHandles(TInt& aConnectionHandles, TLinkType aLinkType) const
{
--- a/bluetooth/btstack/rfcomm/rfcommsap.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/rfcomm/rfcommsap.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -597,6 +597,8 @@
// Ensure the parent doesn't forget its clone
iClonedChildren.Append(clone);
+ clone->SetCodServiceBits(iCodServiceBits);
+
return clone;
}
--- a/bluetooth/btstack/rfcomm/rfcommstates.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/rfcomm/rfcommstates.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -1653,6 +1653,13 @@
ChangeState(aSAP,CRfcommStateFactory::ECloseOnStart);
}
+
+void TRfcommStateWaitForStart::Exit(CRfcommSAP& aSAP)
+ {
+ aSAP.RegisterCodService();
+ }
+
+
/******************************************************************/
/*
The Close On Start state.
--- a/bluetooth/btstack/rfcomm/rfcommstates.h Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/rfcomm/rfcommstates.h Sun Mar 14 13:13:56 2010 +0000
@@ -520,6 +520,7 @@
void DISC(CRfcommSAP& aSAP);
void Error(CRfcommSAP& aSAP, TInt aErr,
CRfcommSAP::TErrorTypes aType);
+ void Exit(CRfcommSAP& aSAP);
};
/**
--- a/bluetooth/btstack/secman/btaccessrequester.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/secman/btaccessrequester.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -539,7 +539,7 @@
// If MITM protection is required by a service, or the device is in paired only connections mode
// the require MITM protection.
- if (iRequirements.MitmProtection() != EMitmNotRequired || iSecMan.ConnectionsManager().IsAcceptPairedOnlyMode())
+ if (iRequirements.MitmProtection() != EMitmNotRequired)
{
if (iAccessType == EDedicatedBonding)
{
--- a/bluetooth/btstack/secman/pairingserver.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/secman/pairingserver.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -780,6 +780,7 @@
iProxySap->SetNotify(this);
iProxySap->SetRemName(addr);
iProxySap->ActiveOpen();
+ DoAccessRequestL();
}
void CDedicatedBondingSession::CleanupStartMessage(TAny* aPtr)
@@ -815,6 +816,7 @@
addr.SetBTAddr(iProxySap->RemoteAddress());
iProxySap->SetRemName(addr); // triggers finding a link again.
iProxySap->ActiveOpen();
+ DoAccessRequestL();
break;
}
// else not deferred so complete now....
@@ -830,6 +832,12 @@
err = KErrAccessDenied;
}
break;
+ case EInitialConnectionPending:
+ case EFinalConnectionPending:
+ // Access request shouldn't successfully complete if the connection is still pending
+ __ASSERT_DEBUG(aResult != EBTSecManAccessGranted, PANIC(KPairingServerFaultCat, EPairingServerUnexpectedAccessCallback));
+ // We should get the MSocketNotify::Error callback, so don't do anything else
+ break;
default:
LOG1(_L("Unexpected Access Request Complete in state %d"), iState);
__ASSERT_DEBUG(EFalse, PANIC(KPairingServerFaultCat, EPairingServerUnexpectedAccessCallback));
@@ -863,11 +871,9 @@
{
case EInitialConnectionPending:
iState = EInitialConnection;
- DoAccessRequestL();
break;
case EFinalConnectionPending:
iState = EFinalConnection;
- DoAccessRequestL();
break;
case EInitialConnection:
case EFinalConnection:
--- a/bluetooth/btstack/secman/secman.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetooth/btstack/secman/secman.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -453,34 +453,22 @@
oobPresence = EOOBDataPresent;
}
THCIAuthenticationRequirement authReq = link->AuthenticationRequirement();
- if(ConnectionsManager().IsAcceptPairedOnlyMode())
+ switch(authReq)
{
- // in paired only mode, only MITM pairings are acceptable.
- switch(authReq)
- {
case EMitmNotReqNoBonding:
- case EMitmReqNoBonding:
- authReq = EMitmReqNoBonding;
- break;
case EMitmNotReqDedicatedBonding:
- case EMitmReqDedicatedBonding:
- authReq = EMitmReqDedicatedBonding;
- break;
case EMitmNotReqGeneralBonding:
- case EMitmReqGeneralBonding:
- authReq = EMitmReqGeneralBonding;
+ link->SetLocalMITM(EFalse);
break;
- default:
- PANIC(KBTSecPanic, EBTSecUnexpectedIoCapability);
- break;
- }
- link->SetLocalMITM(ETrue);
+ case EMitmReqNoBonding:
+ case EMitmReqDedicatedBonding:
+ case EMitmReqGeneralBonding:
+ link->SetLocalMITM(ETrue);
+ break;
+ default:
+ PANIC(KBTSecPanic, EBTSecUnexpectedIoCapability);
+ break;
}
- else
- {
- link->SetLocalMITM(EFalse);
- }
-
TRAP_IGNORE(iCommandController->IOCapabilityRequestReplyL(aAddr, EIOCapsDisplayYesNo, oobPresence, authReq));
}
else
--- a/bluetoothmgmt/btcommon/bluetooth.txt Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetoothmgmt/btcommon/bluetooth.txt Sun Mar 14 13:13:56 2010 +0000
@@ -1,7 +1,7 @@
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
+# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
--- a/bluetoothmgmt/btmgr/BTManServer/BTRegistryDB.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bluetoothmgmt/btmgr/BTManServer/BTRegistryDB.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -1354,7 +1354,12 @@
defaultDevice.SetDeviceName(KDefaultLocalName);
defaultDevice.SetScanEnable(EPageScanOnly);
defaultDevice.SetLimitedDiscoverable(EFalse);
- defaultDevice.SetDeviceClass(0);
+
+ // set the default device class to be phone|smartphone
+ // MajorServiceClass set to zero as there are no default service class bits
+ TBTDeviceClass defaultCod (0, EMajorDevicePhone, EMinorDevicePhoneSmartPhone);
+ defaultDevice.SetDeviceClass(defaultCod.DeviceClass());
+
// The registry is being kicked off with a default channel assessment
// mode setting of 'enabled'. This is the default if h/w supports
// channel assessment. If h/w does not support channel assessment,
--- a/bthci/bthci2/CommandsEvents/BWINS/commandseventsU.def Mon Mar 08 21:44:29 2010 +0000
+++ b/bthci/bthci2/CommandsEvents/BWINS/commandseventsU.def Sun Mar 14 13:13:56 2010 +0000
@@ -1105,10 +1105,10 @@
??0CVendorDebugCommand@@IAE@G@Z @ 1104 NONAME ; CVendorDebugCommand::CVendorDebugCommand(unsigned short)
?ConstructL@CVendorDebugCommand@@IAEXXZ @ 1105 NONAME ; void CVendorDebugCommand::ConstructL(void)
?Extension_@CVendorDebugCommand@@UAEHIAAPAXPAX@Z @ 1106 NONAME ; int CVendorDebugCommand::Extension_(unsigned int, void * &, void *)
- ?SetCreditsConsumed@CVendorDebugCommand@@IAEXI@Z @ 1107 NONAME ; void CVendorDebugCommand::SetCreditsConsumed(unsigned int)
- ?SetExpectsCommandCompleteEvent@CVendorDebugCommand@@IAEXH@Z @ 1108 NONAME ; void CVendorDebugCommand::SetExpectsCommandCompleteEvent(int)
- ?SetExpectsCommandStatusEvent@CVendorDebugCommand@@IAEXH@Z @ 1109 NONAME ; void CVendorDebugCommand::SetExpectsCommandStatusEvent(int)
- ?SetExpectsCompletingEvent@CVendorDebugCommand@@IAEHH@Z @ 1110 NONAME ; int CVendorDebugCommand::SetExpectsCompletingEvent(int)
+ ?SetCreditsConsumed@CVendorDebugCommand@@QAEXI@Z @ 1107 NONAME ; void CVendorDebugCommand::SetCreditsConsumed(unsigned int)
+ ?SetExpectsCommandCompleteEvent@CVendorDebugCommand@@QAEXH@Z @ 1108 NONAME ; void CVendorDebugCommand::SetExpectsCommandCompleteEvent(int)
+ ?SetExpectsCommandStatusEvent@CVendorDebugCommand@@QAEXH@Z @ 1109 NONAME ; void CVendorDebugCommand::SetExpectsCommandStatusEvent(int)
+ ?SetExpectsCompletingEvent@CVendorDebugCommand@@QAEHH@Z @ 1110 NONAME ; int CVendorDebugCommand::SetExpectsCompletingEvent(int)
?VendorDebugEvent@TVendorDebugCompleteEvent@@QBE?AVTPtrC8@@XZ @ 1111 NONAME ; class TPtrC8 TVendorDebugCompleteEvent::VendorDebugEvent(void) const
?AsNullTerminatedString@THCIEventBase@@IBE?AVTPtrC8@@H@Z @ 1112 NONAME ; class TPtrC8 THCIEventBase::AsNullTerminatedString(int) const
??0TNopCompleteEvent@@QAE@ABVTDesC8@@@Z @ 1113 NONAME ; TNopCompleteEvent::TNopCompleteEvent(class TDesC8 const &)
--- a/bthci/bthci2/CommandsEvents/generator/Commands.txt Mon Mar 08 21:44:29 2010 +0000
+++ b/bthci/bthci2/CommandsEvents/generator/Commands.txt Sun Mar 14 13:13:56 2010 +0000
@@ -1,7 +1,7 @@
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
+# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
--- a/bthci/bthci2/CommandsEvents/generator/CompleteEvents.txt Mon Mar 08 21:44:29 2010 +0000
+++ b/bthci/bthci2/CommandsEvents/generator/CompleteEvents.txt Sun Mar 14 13:13:56 2010 +0000
@@ -1,7 +1,7 @@
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
+# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
--- a/bthci/bthci2/CommandsEvents/generator/Events.txt Mon Mar 08 21:44:29 2010 +0000
+++ b/bthci/bthci2/CommandsEvents/generator/Events.txt Sun Mar 14 13:13:56 2010 +0000
@@ -1,7 +1,7 @@
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
+# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
--- a/bthci/bthci2/CommandsEvents/interface/VendorDebugCommand.h Mon Mar 08 21:44:29 2010 +0000
+++ b/bthci/bthci2/CommandsEvents/interface/VendorDebugCommand.h Sun Mar 14 13:13:56 2010 +0000
@@ -77,14 +77,14 @@
IMPORT_C virtual TInt Extension_(TUint aExtensionId, TAny*& aInterface, TAny* aData);
void Match(const THCIEventBase& aEvent, TBool& aMatchesCmd, TBool& aConcludesCmd, TBool& aContinueMatching) const;
IMPORT_C void SetMatcher(MVendorDebugCommandMatcher* aMatcher);
+ IMPORT_C void SetCreditsConsumed(TUint aConsumedCredits);
+ IMPORT_C void SetExpectsCommandStatusEvent(TBool aExpectsCmdStatus);
+ IMPORT_C void SetExpectsCommandCompleteEvent(TBool aExpectsCmdComplete);
+ IMPORT_C TInt SetExpectsCompletingEvent(TBool aExpectsCompletingEvent);
protected:
IMPORT_C CVendorDebugCommand(const TUint16 opcode);
IMPORT_C void ConstructL();
- IMPORT_C void SetCreditsConsumed(TUint aConsumedCredits);
- IMPORT_C void SetExpectsCommandStatusEvent(TBool aExpectsCmdStatus);
- IMPORT_C void SetExpectsCommandCompleteEvent(TBool aExpectsCmdComplete);
- IMPORT_C TInt SetExpectsCompletingEvent(TBool aExpectsCompletingEvent);
private:
void Format(CHctlCommandFrame& aCommandFrame) const;
--- a/bthci/hci2implementations/hctls/bcsp/src/hctlbcspcontrollermanager.cpp Mon Mar 08 21:44:29 2010 +0000
+++ b/bthci/hci2implementations/hctls/bcsp/src/hctlbcspcontrollermanager.cpp Sun Mar 14 13:13:56 2010 +0000
@@ -190,11 +190,10 @@
switch(aState)
{
case EBTOff:
- {
- iHCTLBcsp.WriteBcCmd(iColdHaltCommand); //this should not produce a response
+ {
iPowerDownCallback->CallBack(); //allows asynch callback to BTClient.
iCurrentTask = EPowerDown;
- iControllerManagerState = EWaiting;
+ iControllerManagerState = EResetHardware;
iHCTLBcsp.Choke();
}
break;