--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/omads/omadsappui/AspSyncUtil/inc/AspProfileWizard.h Wed Sep 01 12:30:02 2010 +0100
@@ -0,0 +1,308 @@
+/*
+* Copyright (c) 2005 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: Used to save setting entered by user in profile creation wizard
+*
+*/
+
+
+#ifndef ASPPROFILEWIZARD_H
+#define ASPPROFILEWIZARD_H
+
+
+// INCLUDES
+#include "AspDialogUtil.h"
+
+
+// CONSTANTS
+
+
+
+
+/**
+* CAspWizardItem
+*
+* CAspWizardItem contains one setting item data.
+*/
+NONSHARABLE_CLASS (CAspWizardItem) : public CBase
+ {
+ public:
+ enum TSettingType
+ {
+ ETypeStart,
+ ETypeProfileName,
+ ETypeProtocolVersion,
+ ETypeHostAddress,
+ ETypeServerId,
+ ETypeBearerType,
+ ETypeUserName,
+ ETypePassword,
+ ETypeSyncType,
+ ETypeContentSelection,
+ ETypeSyncContent,
+ ETypeSyncContentLocalDatabase,
+ ETypeEnd
+ };
+
+ public:
+ /**
+ * Two-phased constructor.
+ */
+ static CAspWizardItem* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CAspWizardItem();
+
+ private:
+ /**
+ * C++ default constructor.
+ */
+ CAspWizardItem();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+
+ public:
+ /**
+ * Set string type value.
+ * @param aTex.
+ * @return None.
+ */
+ void SetValueL(const TDesC& aText);
+
+ /**
+ * Get string type value.
+ * @param None.
+ * @return String type value.
+ */
+ const TDesC& Value();
+
+ /**
+ * Set content name.
+ * @param aTex.
+ * @return None.
+ */
+ void SetContentNameL(const TDesC& aText);
+
+ /**
+ * Get content name.
+ * @param None.
+ * @return Content name.
+ */
+ const TDesC& ContentName();
+
+ /**
+ * Set header.
+ * @param aTex.
+ * @return None.
+ */
+ void SetHeaderL(const TDesC& aText);
+
+ /**
+ * Set header.
+ * @param aResourceId.
+ * @return None.
+ */
+ void SetHeaderL(TInt aResourceId);
+
+ /**
+ * Get header.
+ * @param None.
+ * @return Content name.
+ */
+ const TDesC& Header();
+
+ /**
+ * Initalizes setting item.
+ * @param None.
+ * @return None.
+ */
+ void InitL();
+
+ public:
+ // setting type
+ TInt iSettingType;
+
+ // identifies settings that have same setting type
+ TInt iSettingId;
+
+ // setting editor title resource id
+ TInt iResourceId;
+
+ // popup note resource id
+ TInt iPopupNoteResourceId;
+
+ // error note resource id
+ TInt iErrorNoteResourceId;
+
+ // is this setting included in sync wizard
+ TBool iEnabled;
+
+ // max text length
+ TInt iMaxLength;
+
+ // is setting mandatory
+ TBool iMandatory;
+
+ // are only western characters allowed
+ TInt iLatinInput;
+
+ // integer type value
+ TInt iNumber;
+
+ private:
+ // string type setting value
+ HBufC* iValue;
+
+ // content display name
+ HBufC* iContentName;
+
+ // editor header
+ HBufC* iHeader;
+ };
+
+
+
+
+/**
+* CAspProfileWizard
+*
+* CAspProfileWizard creates new profile.
+*/
+NONSHARABLE_CLASS (CAspProfileWizard) : public CBase
+ {
+
+ public:// Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CAspProfileWizard* NewL(TAspParam& aParam);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CAspProfileWizard();
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CAspProfileWizard(TAspParam& aParam);
+
+ /**
+ * By default Symbian OS constructor is private.
+ */
+ void ConstructL();
+
+ private:
+ /**
+ * Creates setting item list.
+ * @param None.
+ * @return None.
+ */
+ void CreateSettingListL();
+
+ public:
+ void GetContentSelectionL(CSelectionItemList* aList);
+ void SetContentSelectionL(CSelectionItemList* aList);
+ void SetContentEnabled(const TDesC& aText, TBool aEnabled);
+ void SetContentEnabled(TInt aApplicationId);
+ void SetEnabled(TInt aSettingType, TBool aEnabled);
+ void SetContentLocalDatabaseEnabled(TInt aDataproviderId, TBool aEnabled);
+ void SetContentEnabled(TInt aDataproviderId, TBool aEnabled);
+ TBool ContentEnabled(TInt aDataproviderId);
+
+ void SetContentEnabled(RArray<TInt>& aDataProviderArray);
+ void GetContentEnabled(RArray<TInt>& aDataProviderArray);
+ void GetContentName(TDes& aText);
+ TInt ContentId(const TDesC& aText);
+
+ public:
+ CAspWizardItem* CurrentItem();
+ void CreateProfileL();
+ void DeleteProfile();
+ void MoveToNext();
+ void MoveToPrevious();
+ void MoveToStart();
+ TInt CurrentItemType();
+ TInt NumOfCurrentItem(CAspWizardItem* aItem);
+ TInt NumOfEnabledItems();
+ TInt NumOfEnabledContentItems();
+ TInt NumOfContentItems();
+ void SetStringValueL(const TDesC& aValue, TInt aSettingType, TInt aSettingId);
+ void SetStringValueL(const TDesC& aValue, TInt aSettingType);
+ void SetNumberValue(TInt& aValue, TInt aSettingType);
+ TInt CreatedProfileId(void);
+ TInt NumberValue(TInt aSettingType);
+ CDesCArray* LocalDatabaseList(const TInt aDataproviderId);
+
+
+ private:
+ void GetStringValue(TDes& aValue, TInt aSettingType);
+ void GetStringValue(TDes& aValue, TInt aSettingType, TInt aSettingId);
+ void GetNumberValue(TInt& aValue, TInt aSettingType);
+ TInt IncreaseCurrentIndex(const TInt aIndex);
+ TInt DecreaseCurrentIndex(const TInt aIndex);
+ TBool CheckHostAddress(const TDesC& aText);
+ TInt ContentPopupNoteResourceId(TInt aDataProviderId);
+ //TInt ContentHeaderResourceId(TInt aDataProviderId);
+
+ private:
+ //TInt ShowTextEditorL(TInt aResourceId, TDes& aText, const TDesC& aTitle, TBool aMandatory, TBool aLatinInput, TInt aMaxLength);
+
+ private:
+ // dialog parameter for returning value to caller
+ TAspParam* iDialogParam;
+
+ // id of the calling application
+ TInt iApplicationId;
+
+ // id of the created profile
+ TInt iProfileId;
+
+ // session with sync server
+ RSyncMLSession* iSyncSession;
+
+ // list that contains all contents (applications)
+ CAspContentList* iContentList;
+
+ // for string handling
+ TBuf<KBufSize255> iBuf;
+
+ // list index of current profile setting
+ TInt iCurrentItemIndex;
+
+ private:
+
+ // names of all available local data stores
+ CDesCArray* iLocalDataStores;
+
+ // list of sync contents
+ RPointerArray<CAspWizardItem> iSettingList;
+ };
+
+
+
+
+
+
+#endif // ASPPROFILEWIZARD_h
+
+// End of File