--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vpnui/vpnmanagementui/inc/vpnuiloader.h Thu Dec 17 09:14:51 2009 +0200
@@ -0,0 +1,277 @@
+/*
+* Copyright (c) 2003-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"
+* 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: VPN management main view
+*
+*/
+
+#ifndef __VPNUILOADER_H__
+#define __VPNUILOADER_H__
+
+// INCLUDES
+#include <AknProgressDialog.h>
+#include <ConeResLoader.h>
+#include "vpnapiwrapper.h"
+#include "vpnmanagementuidefs.h"
+#include "uirunner.h"
+
+// CONSTANTS
+/**
+ * Specifies the type of the waitnote text.
+ */
+enum
+ {
+ EConnectingVia = 0x0,
+ EProcessingStepN = 0x1
+ };
+
+const TInt KSecondsToShowConnectingVia = 3;
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+class CAknWaitDialog;
+class CVpnManagementUiView;
+class CVpnManagementUi;
+/**
+* CVpnUiLoader view control class.
+*
+* @lib vpnmanagementui.lib
+*/
+class CVpnUiLoader : public CCoeControl, public MCoeControlObserver,
+ public MProgressDialogCallback
+ {
+ public: // functions
+
+ /**
+ * Destructor.
+ */
+ ~CVpnUiLoader();
+
+ /**
+ * NewL
+ *
+ * @since S60 3.0
+ * @param aRect ?description
+ * @param aViewId ?description
+ * @return self
+ */
+ static class CVpnUiLoader* NewL(
+ const TRect& aRect, TUid aViewId, CVpnManagementUiView* aUiView );
+
+ /**
+ * NewLC
+ */
+ static class CVpnUiLoader* NewLC(
+ const TRect& aRect, TUid aViewId, CVpnManagementUiView* aUiView );
+
+ /**
+ * ChangeViewL
+ * @param aNewTab change to given tab
+ */
+ void ChangeViewL(TInt aNewTab, TInt aSelectionIndex = -1);
+
+ /**
+ * Activates the VPN policies, VPN policy servers and
+ * VPN log views title
+ */
+ void ActivateTitleL(TInt aCurrentTitle);
+
+ void ActivateTitleL(TInt aCurrentTitle, TDes& aText);
+
+ /**
+ * Activates the VPN log view Navipane text
+ */
+ void ActivateNaviTextL();
+
+ /**
+ * Added here because FocusChanged need to be included
+ * in every control derived from CCoeControl that can have listbox
+ */
+ void FocusChanged(TDrawNow aDrawNow);
+
+ /**
+ * Push the NaviPane to stack.
+ */
+ void PushNaviPaneL();
+
+ /**
+ * Pop the NaviPane from stack.
+ */
+ void PopNaviPane();
+
+ /**
+ * Push the DefaultNaviPane (empty) to stack.
+ */
+ void PushDefaultNaviPaneL();
+
+ /**
+ * Shows the error note
+ */
+ void ShowErrorNoteL();
+
+ /**
+ * Get selection name to the connecting via wait note
+ */
+ void GetSelectionNameL(TDes& aText);
+
+ /**
+ * Shows the Connecting via or Processing step wait note
+ */
+ void ShowWaitNoteL();
+
+ /**
+ * Deletes the wait note
+ */
+ void DeleteWaitNoteL();
+
+ /**
+ * Set text to wait note
+ */
+ void SetTextL();
+
+ //from MProgressDialogCallback
+ void DialogDismissedL( TInt aButtonId );
+
+ /**
+ * Check if Disk space goes below critical level.
+ * @param aShowErrorNote If ETrue, a warning note is shown.
+ * @param aBytesToWrite Amount of disk space to be allocated.
+ * @return ETrue if allocation would go below critical level.
+ */
+ TBool FFSSpaceBelowCriticalLevelL( TBool aShowErrorNote,
+ TInt aBytesToWrite /*=0*/ );
+
+ /**
+ * Returns pointer to main management view
+ */
+ CAknView* GetVpnManagementUiView() const;
+
+ /**
+ * CVpnApiWrapper
+ */
+ CVpnApiWrapper& VpnApiWrapperL();
+
+ /**
+ * Returns the id to the GS view that launched us
+ */
+ TVwsViewId GSViewId() const;
+
+ /**
+ * Sets the id to the GS view that launched us
+ * @param aGsViewId The id to the GS view
+ */
+ void SetGSViewId( TVwsViewId aGsViewId );
+
+ public: //data
+
+ /**
+ * Added here because FocusChanged need to be included
+ * in every control derived from CCoeControl that can have listbox
+ */
+ CEikColumnListBox* iListBox;
+
+ /**
+ * If ETrue, We are coming back from server parameters view.
+ */
+ TBool iBackFromServerDefinition;
+
+ /**
+ * If ETrue, new Server definition has created.
+ */
+ TBool iNewServerDefinition;
+ /**
+ * If ETrue, show Define policy server query when empty list.
+ */
+ TBool iShowDefineQuery;
+
+ MUiRunnerObserver* iObserver;
+
+ CAknWaitDialog* iWaitDialog;
+
+ TInt iCurrentPolicyIndex;
+ TInt iCurrentServerIndex;
+ TBool iPolicyUpdate;
+ TBuf<KMaxUiSelectionNameLength> iSelectionName;
+
+ private: // data
+
+ /**
+ * Used to wrap asynchronous calls
+ */
+ CVpnApiWrapper* iVpnApiWrapper;
+
+ private: // implementation
+
+ void ConstructL(const TRect& aRect, TUid aViewId);
+ CVpnUiLoader(CVpnManagementUiView* aUiView);
+ void HandleControlEventL( CCoeControl* aControl,
+ TCoeEvent aEventType );
+ TKeyResponse OfferKeyEventL(
+ const TKeyEvent& aKeyEvent, TEventCode aType);
+ public:
+ void AddResourceFileL(TBool aKeepOpen = EFalse);
+ void ReleaseResource(TBool aForceClose = EFalse);
+
+ private: //data
+
+ /**
+ * For Navipane
+ */
+ CAknNavigationDecorator* iVersionInfoInNaviPane;
+
+ /**
+ * For Navipane
+ */
+ CAknNavigationControlContainer* iNaviPane;
+
+
+ /**
+ * To store the previous view id
+ */
+ TUid iPreviousViewId;
+
+ /**
+ * To store the previous view id
+ */
+ TUid iPreviousAppViewId;
+
+ TInt iTextToShow;
+ TInt iStateCodeToShow;
+ TTime iWaitNoteStartTime;
+
+ /**
+ * Views to be registered and unregistered
+ */
+ CAknView* iVpnManagementUiView;
+ CAknView* iVpnManagementUiLogView;
+ CAknView* iVpnManagementUiPolicyView;
+ CAknView* iVpnManagementUiParametersView;
+ CAknView* iVpnManagementUiServerView;
+
+ CVpnManagementUi* iCVpnManagementUi;
+
+ /**
+ * To get hold of iResourceLoader
+ */
+ RConeResourceLoader iResourceLoader;
+
+ TVwsViewId iGsViewId; // the view id of the view which launched us
+ TBool iKeepOpen;
+ TBool iPolicyViewVisited;
+ TBool iLogViewVisited;
+ };
+
+#endif // __VPNUILOADER_H__
+
+// End of File