diff -r e9b924a62a66 -r 99439b07e980 bluetooth/btstack/linkmgr/physicallinks.h --- a/bluetooth/btstack/linkmgr/physicallinks.h Wed Sep 01 12:38:54 2010 +0100 +++ b/bluetooth/btstack/linkmgr/physicallinks.h Tue Sep 14 23:28:24 2010 +0300 @@ -46,6 +46,7 @@ class CRoleSwitcher; class CBTNumericComparator; class CBTPasskeyEntry; +class CEncryptionKeyRefresher; enum TPhysicalLinkSimplePairingMode { @@ -342,7 +343,6 @@ TInt OverridePark(); TInt UndoOverridePark(); - TInt OverrideLPMWithTimeout(TUint aTimeout); TInt OverrideLPM(); TInt UndoOverrideLPM(); inline TBool IsParked() const; @@ -375,7 +375,8 @@ virtual void RoleChange(THCIErrorCode aErr, const TBTDevAddr& aAddr, TBTBasebandRole aRole); virtual void ClockOffset(THCIErrorCode aErr, THCIConnHandle aConnH, TBasebandTime aClockOffset); virtual void RemoteName(THCIErrorCode aErr, const TBTDevAddr& aAddr, const TBTDeviceName8& aName); - + virtual void EncryptionKeyRefreshComplete(THCIErrorCode aErr, THCIConnHandle aConnH); + void ConnectionComplete(TInt aResult, const TBTConnect& aConn); TBool LinkKeyRequestPending(); @@ -412,6 +413,7 @@ TBTLinkMode LinkMode() const; void AsyncDeleteRoleSwitcher(); + void AsyncDeleteKeyRefresher(); inline const TLinkPolicy& LinkPolicy() const; inline const TBTFeatures& RemoteFeatures() const; @@ -485,7 +487,6 @@ void QueueIdleTimer(TInt aTime); void RemoveIdleTimer(); - void QueueLPMOverrideTimer(TInt aTimeout); void NotifyStateChange(TBTBasebandEventNotification & aEvent); TBool IsPhysicalLinkIdle() const; @@ -496,6 +497,9 @@ void DeleteRoleSwitcher(); static TInt RoleSwitchCompleteCallBack(TAny* CPhysicalLink); TInt ManageEncryptionEnforcement(THCIEncryptModeFlag aEnable); + + void DeleteKeyRefresher(); + static TInt KeyRefreshCompleteCallBack(TAny* CPhysicalLink); void HandlePrefetch(); void PINCodeRequestReply(const TBTDevAddr& aDevAddr,const TDesC8& aPin); @@ -552,13 +556,11 @@ TSglQue iProxySAPs; // the proxies bound to us TDeltaTimerEntry iIdleTimerEntry; TBool iIdleTimerQueued; - TDeltaTimerEntry iOverrideLPMTimerEntry; TLinkPolicy iLinkPolicy; TUint16 iPreviousRequestedModeMask; TBool iOverrideParkRequests; //for maybe temporary unpark TBool iOverrideLPMRequests; //for maybe temporary force active - TBool iLPMOverrideTimerQueued; TBool iConnectionPacketTypeChanged; //for triggering h/w TBool iPreventLinkKeyUpdateReg; //for case e.g. user has called unpair when there is a paired logical channel @@ -570,6 +572,8 @@ CArbitrationDelayTimer* iArbitrationDelay; //for lower power modes CRoleSwitcher* iRoleSwitcher; //class handles role switch, prevents LPM, removes encryption CAsyncCallBack* iRoleSwitchCompleteCallBack;// Async Callback to delete role swticher class. + CEncryptionKeyRefresher* iKeyRefresher; //class handles key refresh + CAsyncCallBack* iKeyRefreshCompleteCallBack;// Async Callback to delete key refresher class. TLowPowModeCmdController iLowPowModeCtrl; CPhysicalLinkMetrics* iPhysicalLinkMetrics;