diff -r 473321461bba -r e06095241a65 vpnengine/sit/inc/extender.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vpnengine/sit/inc/extender.h Wed Sep 01 12:23:21 2010 +0100 @@ -0,0 +1,121 @@ +/* +* 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 "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Extended functinality for policy provision process. +* +*/ + +#ifndef EXTENDER_H_ +#define EXTENDER_H_ + +#include +#include "vpnextapi.h" +#include "vpnnotifierdefs.h" + + +const TInt KStateCheckPolicyUpdateAvailability = 1; +const TInt KStateAfterCheckPolicyUpdateAvailability = 2; +const TInt KStateAskUpdateConfirmation = 3; +const TInt KStateAfterAskUpdateConfirmation = 4; +const TInt KStateUpdatePolicy = 5; +const TInt KStateAfterUpdatePolicy = 6; +const TInt KStateShowUpdateCompleteNote = 8; +const TInt KStateAfterShowUpdateCompleteNote = 9; +const TInt KStateShowApActFailureNote = 10; +const TInt KStateAfterShowApActFailureNote = 11; +const TInt KStateBeforeEnrollCertificates = 12; + + +static const TUid KDmMsrNotificationUid = {0x1020699E}; + +class CVpnConnStarter; +class CExtenderHelper; + +class CExtender : public CActive + { +public: + static CExtender* NewL(); + ~CExtender(); + +public: + void OnVpnApActStart(CVpnConnStarter* aVpnConnStarter); + void OnVpnApActCancel(); + + void OnVpnApActEnd(const TVpnPolicyId* aPolicyId, TInt aStatus, TUint32 aRealIapId); + +private: + CExtender(); + void ConstructL(); + +private: + void GotoState(TInt aState); + void SetCurrState(TInt aState); + void SetNextState(TInt aState); + TInt CurrState(); + TInt NextState(); + + void ChangeStateL(); + void CancelOngoingOperation(); + + void StateShowApActFailureNote(); + void StateAfterShowApActFailureNote(); + void StateCheckPolicyUpdateAvailabilityL(); + void StateAfterCheckPolicyUpdateAvailability(); + void StateAskUpdateConfirmation(); + void StateAfterAskUpdateConfirmationL(); + void StateUpdatePolicyL(); + + void StateAfterUpdatePolicyL(); + + void StateShowUpdateCompleteNote(); + void StateAfterShowUpdateCompleteNote(); + + + void ProcessComplete(TInt aStatus); + void EndTask(); + + TCmSettingSelection GetPolicyServerSelectionL(); + void ReportFailure(TUint32 aVpnIapId); + +private: // From CActive + void DoCancel(); + void RunL(); + TInt RunError(TInt aError); + +private: + CVpnConnStarter* iVpnConnStarter; + TVpnPolicyId iPolicyId; + TUint32 iRealIapId; + + TBool iPolicyUpdateAvailable; + TInt iStateAfterUpdateConfirmation; + + RVpnExtApi iVpnExtServ; + RNotifier iNotifier; + + TInt iCurrState; + TInt iNextState; + + TInt iVpnActStatus; + TInt iFinalStatus; + + CExtenderHelper* iExtenderHelper; + + TBool iShowCompletionNote; + + TPckgBuf iDialogInfoDes; + TPckgBuf iDialogResponseDes; + }; + + +#endif // __EXTENDER__