--- a/bluetooth/btstack/linkmgr/encryptionkeyrefreshhelper.h Wed Sep 15 13:27:26 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "Symbian Foundation License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#ifndef ENCRYPTIONKEYREFRESHHELPER_H
-#define ENCRYPTIONKEYREFRESHHELPER_H
-
-
-#include <bt_sock.h>
-#include <bluetooth/hci/hciutil.h>
-
-#include "debug.h"
-#include "linkutil.h"
-#include "physicallinkhelper.h"
-#include "physicallinks.h"
-
-// watchdog
-const TUint KTimeoutEncryptionKeyRefresh = 3000000; // 3 s;
-
-class TEncryptionKeyRefresherState;
-class CEncryptionKeyRefresherStateFactory;
-NONSHARABLE_CLASS(CEncryptionKeyRefresher) : public CPhysicalLinkHelper
- {
- friend class TEncryptionKeyRefresherState;
- friend class TEkrStateIdle;
- friend class TEkrStateDisablingLPM;
- friend class TEkrStateRefreshingKey;
-
-public:
- static CEncryptionKeyRefresher* NewL(CPhysicalLinksManager& aLinkMgr, CPhysicalLink& aLink);
- ~CEncryptionKeyRefresher();
-
- virtual void StartHelper();
-
- void EncryptionKeyRefreshComplete(TInt aError);
-
-private:
- CEncryptionKeyRefresher(CPhysicalLinksManager& aLinkMgr, CPhysicalLink& aLink);
- void ConstructL();
-
- virtual void TimerExpired();
- virtual void HandleError(TInt aError);
- virtual void EventReceived(TBTBasebandEventNotification& aEvent);
-
-private:
- CEncryptionKeyRefresherStateFactory* iStateFactory;
- const TEncryptionKeyRefresherState* iState;
- };
-
-//--------------------------------------------------
-// STATE FACTORY
-//--------------------------------------------------
-
-/**
- Factory for the EncryptionKeyRefresher states
-
- The states are flyweight classes
-**/
-NONSHARABLE_CLASS(CEncryptionKeyRefresherStateFactory) : public CBase
- {
-public:
- static CEncryptionKeyRefresherStateFactory* NewL();
-
- enum TEncryptionKeyRefresherStates
- {
- EIdle,
- EDisablingLPM,
- ERefreshingKey,
- // Note that we don't need a state to enable LPM again
- // as this will happen implicitly when we close our
- // proxy SAP.
- // *** keep next one last ***
- EEncryptionKeyRefresherMaxState,
- };
-
- const TEncryptionKeyRefresherState& GetState(TEncryptionKeyRefresherStates aState) const;
- TInt StateIndex(const TEncryptionKeyRefresherState* aState) const;
-
-private:
- CEncryptionKeyRefresherStateFactory();
- void ConstructL();
- TFixedArray<TEncryptionKeyRefresherState*, EEncryptionKeyRefresherMaxState> iStates;
- };
-
-
-
-//--------------------------------------------------
-// STATES, base
-//--------------------------------------------------
-
-NONSHARABLE_CLASS(TEncryptionKeyRefresherState)
- {
-public:
- TEncryptionKeyRefresherState(CEncryptionKeyRefresherStateFactory& aFactory);
-
- virtual void Enter(CEncryptionKeyRefresher& aContext) const;
- virtual void Exit(CEncryptionKeyRefresher& aContext) const;
-
- virtual void Start(CEncryptionKeyRefresher& aContext) const;
- virtual void EventReceived(CEncryptionKeyRefresher& aContext, TBTBasebandEventNotification& aEvent) const;
- virtual void Error(CEncryptionKeyRefresher& aContext, TInt aErr) const;
- virtual void TimerExpired(CEncryptionKeyRefresher& aContext) const;
- virtual void EncryptionKeyRefreshComplete(CEncryptionKeyRefresher& aContext, TInt aError) const;
-
-protected:
- // Exits old state, sets the new state, and enters it.
- void ChangeState(CEncryptionKeyRefresher& aContext, CEncryptionKeyRefresherStateFactory::TEncryptionKeyRefresherStates aState) const;
- void PanicInState(TLinkPanic aPanic) const;
-
-protected:
- CEncryptionKeyRefresherStateFactory& iFactory;
-#ifdef __FLOG_ACTIVE
- TBuf<48> iName;
-#endif
- };
-
-
-//--------------------------------------------------
-// STATES
-//--------------------------------------------------
-
-NONSHARABLE_CLASS(TEkrStateIdle) : public TEncryptionKeyRefresherState
- {
-public:
- TEkrStateIdle(CEncryptionKeyRefresherStateFactory& aFactory);
-
- virtual void Enter(CEncryptionKeyRefresher& aContext) const;
- virtual void Start(CEncryptionKeyRefresher& aContext) const;
- };
-
-
-NONSHARABLE_CLASS(TEkrStateDisablingLPM) : public TEncryptionKeyRefresherState
- {
-public:
- TEkrStateDisablingLPM(CEncryptionKeyRefresherStateFactory& aFactory);
-
- virtual void Enter(CEncryptionKeyRefresher& aContext) const;
- virtual void EventReceived(CEncryptionKeyRefresher& aContext, TBTBasebandEventNotification& aEvent) const;
- };
-
-NONSHARABLE_CLASS(TEkrStateRefreshingKey) : public TEncryptionKeyRefresherState
- {
-public:
- TEkrStateRefreshingKey(CEncryptionKeyRefresherStateFactory& aFactory);
-
- virtual void Enter(CEncryptionKeyRefresher& aContext) const;
- virtual void EncryptionKeyRefreshComplete(CEncryptionKeyRefresher& aContext, TInt aError) const;
- };
-
-
-#ifdef __FLOG_ACTIVE
-#define STATENAME(x) iName=_L(x)
-#else
-#define STATENAME(x)
-#endif
-
-
-#endif /* ENCRYPTIONKEYREFRESHHELPER_H */