upnpsettings/appwizard/inc/cupnpappwizard.h
branchIOP_Improvements
changeset 40 08b5eae9f9ff
parent 39 6369bfd1b60d
child 41 b4d83ea1d6e2
--- a/upnpsettings/appwizard/inc/cupnpappwizard.h	Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,517 +0,0 @@
-/*
-* 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:      Header file for the Setup wizard class
-*
-*/
-
-
-
-
-
-
-#ifndef CUPNPAPPWIZARD
-#define CUPNPAPPWIZARD
-
-// INCLUDES
-#include <e32base.h>
-#include <AknWaitNoteWrapper.h>  // base class MAknBackgroundProcess
-
-#include "upnpfilesharingengine.h" //CUPnPFileSharingEngine & THomeConnectMediaType
-#include "upnpfilesharingengineobserver.h" //MUPnPFileSharingEngineObserver
-
-
-
-// CONSTANTS
-const TInt KUPnPAlwaysAskInd = 0;
-const TInt KUPnPCreateNewInd = 1;
-
-
-// FORWARD DECLARATIONS
-class CAknViewAppUi;
-class CUPnPSettingsEngine;
-class CEikonEnv;
-class CUPnPMultiselectionUi;
-// CLASS DECLARATION
-
-/**
- * CUPnPAppWizard class
- *
- * Class implementing the functionality of the setup wizard
- * @since S60 v3.1
- * @lib upnpappwizard.lib
- */
-class CUPnPAppWizard : public CBase,
-                       private MUPnPFileSharingEngineObserver,
-                       MAknBackgroundProcess
-    {
-public:     // Constructors and destructor
-
-    enum TSharingStarting
-        {
-        ENotActive,
-        EStartingSharing,
-        ESharingStarted
-        };
-
-    enum TShareArrayState
-        {
-        ESetMarked,
-        EResetArray,
-        EAddToArray
-        };
-    
-    /**
-     * Two-phased constructor.
-     * @since S60 v3.1
-     * @param aFirstStepText, Text for the first wizard step, owned by \
-client. If length of the aFirstStepText is 0 default text is used
-     * @param aEng, Pointer to filesharing engine instance
-     */
-    IMPORT_C static CUPnPAppWizard* NewL( const TDesC& aFirstStepText,
-                                          CUPnPFileSharingEngine* aEng );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CUPnPAppWizard();
-
-public:     // New functions
-
-    /**
-     * Starts wizard
-     *
-     * @since S60 v3.1
-     * @return TInt, Error code
-     */
-    IMPORT_C TInt StartL();
-
-    /**
-	 * Modifies iShareImgAndVideoArray and iShareMusicArray arrays
-	 *
-	 * @param aArrayState
-	 * @param aValue
-	 * @param aUiDlg
-	 */
-    void ModifyMarkedArrayL( TShareArrayState aArrayState 
-    		               , TInt aValue = 0
-    		               , CUPnPMultiselectionUi* aUiDlg = NULL );
-
-private:
-    /**
-     * CSelectionStorage class
-     *
-     * Private class for user selections and handling their 
-     * storage and retrieval
-     * @since S60 v3.1
-     */
-    NONSHARABLE_CLASS( CSelectionStorage ) : public CBase
-        {
-        public :
-
-        enum TSharingStartResult
-            {
-            ESharingStarted,
-            ENothingToShare,
-            ESharingStartFailed
-            };
-        /**
-        * C++ default constructor
-        * @param aSetEng. Pointer to CUPnPSettingsEngine, not owned
-        * @param aFileEng. Pointer to CUPnPFileSharingEngine, not owned
-        */
-        CSelectionStorage( CUPnPSettingsEngine* aSetEng,
-                       CUPnPFileSharingEngine* aFileEng );
-        /**
-        * Destructor.
-        */
-        virtual ~CSelectionStorage();
-
-        /**
-        * Store locally users selected device name
-        * @since S60 v3.1
-        * @param aDeviceName. The new name
-        */
-        void SetDeviceNameL( TDes& aDeviceName );
-
-        /**
-        * Get device name from local store of from cenrep
-        * @since S60 v3.1
-        * @param aDeviceName. Descriptor to store the name
-        * @return success of the operation
-        */
-        TInt GetDeviceNameL( TDes& aDeviceName );
-
-        /**
-        * Sets the IAP id of the user selected IAP
-        * @since S60 v3.1
-        * @param aIapId. Iap id of the selected IAP
-        * @param aIndexForUi, Index of the iap in UI list
-        */
-        void SetIapId( const TInt aIapId,
-                   const TInt aIndexForUi );
-        /**
-        * Function for getting the iapid from local storage or from cenrep
-        * @since S60 v3.1
-        * @param aIapId. Iap id of the selected IAP
-        * @return success of the operation
-        */
-        TInt GetIapId( TInt& aIapId );
-
-        /**
-        * Initialize Iap name and iap id arrays with some fixed texts
-        * @since S60 v3.1
-        * @param aIapNameArr. Array pointer for the names
-        * @param aIApIdArr. Array pointer for iap IDs
-        */
-        void InitializeIapArraysL( CDesCArray* aIapNameArr,
-                               RArray<TInt64>& aIapIdArr ) const;
-
-        /**
-        * Stores the user selections from filesharing popus to local storage
-        * @since S60 v3.1
-        * @param aMedia. Type of media
-        * @param aSelections. Array of the selections user has made.
-        * Stored only locally
-        */
-        void SetSharedContent( THomeConnectMediaType aMedia,
-                               CArrayFix<TInt>* aSelections );
-
-        /**
-        * Stores the devicename and IAP from local store to cenrep
-        * @since S60 v3.1
-        * @return success of the operation
-        */
-        TInt StoreSettingsL();
-        
-        /**
-        * Stores the selected image and video albums from local store to 
-        * cenrep
-        * @since S60 v3.2
-        * @return error code
-        */
-        TInt ImageStoreSharedFilesL();       
-
-        /**
-        * Gets the users sharing selections as indexes from local storage
-        * @since S60 v3.1
-        * @param aMedia. The kind of selections to get
-        * @param aSelections. Array for selections
-        */
-        void GetSelectionsL( 
-        THomeConnectMediaType aMedia,
-        CArrayFix<TInt>* aSelections );
-
-        /**
-        * Determines if the is need to start sharing
-        * @since S60 v3.1
-        * @return ETrue if sharing needs to be activated.
-        */
-        TBool HasSomethingToShare() const;
-
-        /** 
-        * Gets the currently selected IAP index for the listbox UI
-        * @since S60 v3.1
-        * @param aCurrentSelection. The new current selection
-        * @param aIapIdArr. Array of IAP ids of the IAPs shown in listbox
-
-        */
-        void GetCurrentSelection( TInt& aCurrentSelection,
-                              RArray<TInt64>& aIapIdArr );
-
-        /** 
-        * Gets the WAP iap associated to given IAPid
-        * @since S60 v3.1
-        * @param aIAPId. Id to match
-        * @return. The id of the corresponding WAP record
-        */
-        TInt ConvertIAPIdL( TInt aIAPId );
-                       
-    private :
-        /**
-        * Pointer to UPnP settings engine
-        * Not owned
-        */
-        CUPnPSettingsEngine* iSetEng;
-
-        /**
-        * Pointer to UPnP File sharing engine
-        * Not owned
-        */
-        CUPnPFileSharingEngine* iFileEng;
-
-        /**
-        * Pointer to UPnP device name
-        * Not owned
-        */
-        HBufC* iDeviceName;
-        
-        /**
-        * Users selected IAP id
-        *
-        */
-        TInt iIapId;
-
-        /**
-        * Index for home network UI, to show the correct item as selected 
-        *
-        */
-        TInt iIndexForUi;
-        
-        /**
-        * The selection of Image& video sharing for Home Network UI
-        */
-        TBool iVisualImageSelection;
-        
-        /**
-        * The selection of music sharing for Home Network UI
-        */
-        TBool iVisualMusicSelection;
-        
-        /**
-        * The Array of the selected indexes user has made for sharing images 
-        * and videos
-        * owned
-        */
-        CArrayFix<TInt>* iImageSelectionArray;
-        /**
-        * The Array of the selected indexes user has made for sharing music 
-        * owned
-        */
-        CArrayFix<TInt>* iMusicSelectionArray;       
-        
-        };
-
-
-    /**
-     * Internal states of wizard 
-     */
-    enum TWizardStep
-        {
-        EInfo1 = 0,
-        EInfo2,
-        EDeviceName,
-        EInfo4,
-        EAccessPoint,
-        EInfo6,
-        EShareImages,
-        EShareMusic,
-        EInfo9,
-        EStoreSettings,
-        EFinished
-        };
-
-    /**
-     * C++ default constructor
-     */
-    CUPnPAppWizard();
-
-    /**
-     * Show the information note with OK BACK buttons
-     * @since S60 v3.1
-     * @param TInt, resource ID
-     * @return keycode of the button user has pressed.
-     */
-    TInt ShowInfoStepL( TInt aMain ) const;
-
-    /**
-     * Show the first step. The text is given in constructor
-     * @param TInt, resource ID
-     * @return keycode of the button user has pressed.
-     */
-    TInt ShowFirstStepL( TInt aMain ) const;
-    /**
-     * Shows popup with text and header and edit box
-     * @since S60 v3.1
-     * @param TInt, resource ID
-     * @return keycode of the button user has pressed.
-     */
-    TInt ShowTextStepL( TInt aMain );
-
-    /**
-     * Show the information note without buttons
-     * @since S60 v3.1
-     * @param TInt, resource ID
-
-     */
-    void ShowInfoNoteL( TInt aMain ) const;
-
-    /**
-     * Show the UI dialog with selection list
-     * @since S60 v3.1
-     * @param TInt, resource ID
-     * @return keycode of the button user has pressed.
-     */
-    TInt ShowListStepL( TInt aMain );
-
-
-    /**
-     * Determines the next wizard step
-     * @since S60 v3.1
-     * @param TInt& The keycode of the users selection from previous dialog
-
-     */
-    void SetNextStep( const TInt& aSelection );
-
-    /**
-     * Shows the step for setting shared content
-     * @since S60 v3.1
-     * @param TInt, resource ID
-     * @return keycode of the button user has pressed.
-     */
-    TInt ShowMultiselectionStepL( TInt aText );
-
-    /**
-     * Show error note with given resource id
-     * @since S60 v3.1
-     * @param TInt, resource ID
-     */
-    void ShowErrorNoteL( TInt aMain ) const;
-
-    /**
-     * Show wait note with given resource id
-     * @since S60 v3.1
-     * @param TInt, resource ID
-     */
-    void ShowWaitNoteL( TInt aMain );
-
-private: //From MUPnPFileSharingEngineObserver
-    /**
-     * Function informs when file sharing was enabled or disabled
-     * @since S60 3.1
-     * @param aEngine File sharing engine
-     * @param aError, error code
-     * @param aPhase ETrue if current phase is sharing activation,
-     * otherwise EFalse
-     */
-    void HandleSharingStatus( 
-        CUPnPFileSharingEngine& aEngine, 
-        TInt aError,
-        TBool aPhase );
-
-    /**
-     * Callback to inform if connection has been lost
-     * @since S60 3.1
-     * @param aEngine File sharing engine
-     */ 
-    void HandleSharingConnectionLost( 
-        CUPnPFileSharingEngine& aEngine );
-
-private:
-    /** 
-     * Shows progress note to indicate progress of sharing files
-     * @since S60 v3.1
-     * @param TInt, The number of objects
-     */
-    void  ShowProgressNoteL( TInt aObjectCount );
-
-    /**
-     * Called when waitnote wrapper is finished
-     * From MProgressDialogCallback
-     */
-    void DialogDismissedL( TInt aButtonId );
-
-    /**
-     * EPOC default constructor.
-     */
-    void ConstructL( const TDesC& aFirstStepText, 
-                     CUPnPFileSharingEngine* aEng );
-
-    void StepL();
-
-    TBool IsProcessDone() const;
-
-    /**
-     * Display info note after starting sharing content
-     * @since S60 v3.1
-     * @param TInt, Id of note header resource
-     * @param TInt, Id of note message resource
-     * @param TInt, Id of note resource
-     */
-    void DisplayInfoL(
-        TInt aHeaderResourceId,
-        TInt aMessageResourceId,
-        TInt aDialogResourceId );
-
-
-private:    // Data
-
-    CAknViewAppUi* iAppUi;  // Not owned
-    TInt iResFileOffset;   // Resource file offset
-    CEikonEnv* iCoeEnv; // Not owned
-    /**
-     * The position of the wizard
-     */
-    TInt iStep;
-    /**
-     * The class for retrieving and setting shared items
-     */
-    CUPnPFileSharingEngine* iFileEng;
-    /**
-     * The class for setting  the IAP id and deviceName
-     */
-    CUPnPSettingsEngine* iSetEng;
-    /**
-     * The storage for the user selections
-     */
-    CSelectionStorage* iSelections;
-    
-    /**
-     * Wait used in asynchronous operations
-     * Started when there is operation ongoing in filesharingengine
-     */
-    CActiveSchedulerWait iWait;
-
-    /** 
-     * Array for IAP names
-     */
-    CDesCArray* iIapNameArr;
-    
-    /**
-     * Status of the sharing when starting wizard
-     * ETrue = Sharing on
-     */
-    TBool iSharingState;
-   
-    /**
-     * Text for the first wizard step 
-     *
-     */
-    HBufC* iFirstStepText;
-
-    /** 
-     * Indicator if starting sharing is ongoing
-     */
-    TInt iStartingSharing;
-
-    TBool iDialogDismissed;
-    
-    /**
-     * stores indexes if img and/or video is shared marked 
-     */
-    CArrayFix<TInt>* iShareImgAndVideoArray;
-    
-    /**
-     * stores indexes if music is shared marked 
-     */
-    CArrayFix<TInt>* iShareMusicArray;
-    
-    /**
-     * Flag the FeatureManager is initialized or not
-     */
-    TBool iFeatureManagerInitialized;    
-    };
-
-#endif  // CUPNPAPPWIZARD
-
-// End of File