--- 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<CBTProxySAP> 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;