upnpsettings/upnpgsplugin/inc/upnpappsettingitemhomeiap.h
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpsettings/upnpgsplugin/inc/upnpappsettingitemhomeiap.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2008 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:      Declares home network IAP setting item class to home network
+*                setting item list
+*
+*/
+
+
+
+
+
+
+#ifndef UPNPAPPSETTINGITEMHOMEIAP_H
+#define UPNPAPPSETTINGITEMHOMEIAP_H
+
+
+// INCLUDES
+#include <aknsettingitemlist.h>
+
+
+// FORWARD DECLARATIONS
+class CUPnPFileSharingEngine;
+
+
+// CLASS DECLARATION
+
+/**
+* UPnPAppSettingItemHomeIAP class. This class is used when
+* creating home network IAP setting item to setting item list
+* of home network application settings dialog.
+*
+* @lib CoverDisplaySettings.app
+*/
+class UPnPAppSettingItemHomeIAP: public CAknEnumeratedTextPopupSettingItem
+    {
+    public: // Constructor and destructor
+
+        /**
+        * Two-phased constructor.
+        */
+        static UPnPAppSettingItemHomeIAP* NewL(TInt aIdentifier,
+                                               TInt& aIAPSetting,
+            TInt& aIAPId, TInt& aWAPId, TBool& aSharingState );
+
+        /**
+        * Destructor.
+        */
+        virtual ~UPnPAppSettingItemHomeIAP();
+
+    public: // From CAknEnumeratedTextPopupSettingItem
+
+        /**
+        * Returns setting text according to home network IAP setting.
+        * This text is visible in this setting item.
+        *
+        * @return home network IAP setting/name text
+        */
+        const TDesC& SettingTextL();
+
+        /**
+        * Framework calls this method in order to create
+        * and execute setting page
+        */
+        void CreateAndExecuteSettingPageL();
+
+    private: // From CAknEnumeratedTextPopupSettingItem
+
+        /**
+        * Constructor.
+        */
+        UPnPAppSettingItemHomeIAP(TInt aIdentifier, TInt& aIAPSetting,
+            TInt& aIAPId, TInt& aWAPId, TBool& aSharingState );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+    private: // New methods
+
+        /**
+        * Changes iap name according to iap id
+        */
+        void ChangeIAPNameL();
+
+        /**
+        * Checks if access point is unsecured and warns user
+        * @since S60 3.1
+        * @param aAccessPoint, selected access point
+        * @return TInt, security mode
+        */
+        TInt CheckAPSecurityL(TInt aAccessPoint);
+
+        /**
+        * Displays message query
+        * @since S60 3.1
+        * @param aHeaderResourceId, resource id of the title
+        * @param aMessageResourceId, resource id of the message
+        * @param TIaDialogResourceIdnt, resource id of the dialog
+        */
+        void DisplayInfoL(TInt aHeaderResourceId,
+                          TInt aMessageResourceId,
+                          TInt aDialogResourceId);
+
+        
+        /**
+        * Adds static items to the list
+        * @since S60 3.1
+        * @param aArray, list array
+        */
+        void AddStaticItemsL(CDesCArray* aArray);
+        
+        /**
+        * Use previous iap
+        * @since S60 5.1
+        * @param aOldIap, previous iap id
+        */
+        void UsePreviousIapL( TInt aOldIap );
+        
+        /**
+        * Get iap index
+        * @since S60 5.1
+        * @param aStaticCount the number of static items
+        * @return Index of iap
+        */
+        TInt GetIAPIndex( TInt aStaticCount );
+
+    private:
+
+        // pointer to home network IAP text
+        HBufC* iItemText;
+
+        // pointer to home network IAP name
+        HBufC* iIAPName;
+
+        // home network IAP ui selection (always ask, user defined or none)
+        TInt& iIAPSetting;
+
+        // home network IAP id
+        TInt& iIAPId;
+
+        // home network IAP wap id
+        TInt& iWAPId;
+
+        // iap ids
+        RArray<TInt64> iIAPIdArray;
+
+        // Control environment
+        CCoeEnv*    iCoeEnv;
+
+        // sharing status
+        TBool& iSharingState;
+    };
+
+#endif
+
+// End of File