voipplugins/accountcreationplugin/engine/inc/acpcontroller.h
branchRCL_3
changeset 21 f742655b05bf
parent 20 65a3ef1d5bd0
child 22 d38647835c2e
--- a/voipplugins/accountcreationplugin/engine/inc/acpcontroller.h	Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,487 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Declarition of CAcpController
-*
-*/
-
- 
-#ifndef ACPCONTROLLER_H
-#define ACPCONTROLLER_H
-
-#include <e32base.h>
-#include <s32file.h>
-
-#include <sipobserver.h>
-#include <sipprofileregistryobserver.h>
-#include <sipmanagedprofileregistry.h>
-
-#include "accountcreationengineconstants.h"
-#include "macpxmlhandlerobserver.h"
-#include "macphttphandlerobserver.h"
-#include "macpimagehandlerobserver.h"
-
-class CFbsBitmap;
-class CAcpProvider;
-class CAcpXmlHandler;
-class CAcpImageHandler;
-class CAcpHttpHandler;
-class CAcpImageHandler;
-class MAcpControllerObserver;
-class CACPBrowserParams;
-class MSIPProfileRegistryObserver;
-class MImageHandlerObserver;
-
-/**
- *  CAcpController class
- *  Declarition of CAcpController.
- *
- *  @lib accountcreationplugin.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CAcpController ) : public CBase,
-                                      public MAcpXmlHandlerObserver,
-                                      public MAcpHttpHandlerObserver,
-                                      public MSIPProfileRegistryObserver,
-                                      public MImageHandlerObserver
-    {
-public: 
-
-    /**
-     * Different kind of field types supported by ACP.
-     */
-    enum TFetchTypes
-        {
-        EXml = 0, // provider list in xml form (default)
-        ESis,     // sis file
-        EIcon,    // icon file (png)
-        EAction   // action file containing wbxml provisioning data
-        };    
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aObserver Controller observer.
-     */
-    IMPORT_C static CAcpController* NewL(
-        MAcpControllerObserver& aObserver );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aObserver Controller observer.
-     */
-    IMPORT_C static CAcpController* NewLC(
-        MAcpControllerObserver& aObserver );
-
-    /**
-     * Destructor.
-     */
-    virtual ~CAcpController();
-
-    /**
-     * Fetches provider list from network and parses it.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C void FetchProviderListFromNetworkL();
-
-    /**
-     * Fetches SIS file from network.
-     *
-     * @since S60 v3.2
-     * @param aSisUrl URL where to download.
-     */
-    IMPORT_C void FetchSisFileFromNetworkL( TDesC8& aSisUrl );
-
-    /**
-     * Fetches icon file from network.
-     *
-     * @since S60 v3.2
-     * @param aIconUrl URL where to download.
-     */
-    IMPORT_C void FetchIconFileFromNetworkL( TDesC8& aIconUrl );
-
-    /**
-     * Returns count of providers in providers array.
-     *
-     * @since S60 v3.2
-     * @return Number of providers
-     */
-    IMPORT_C TInt CountOfProviders() const;
-
-    /**
-     * Returns provider information referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index.
-     * @return Pointer to provider name.
-     */
-    IMPORT_C const TPtrC ProviderNameFromIndexL( TInt aIndex ) const;
-
-    /**
-     * Returns provider information referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index.
-     * @return Pointer to provider SIS URL.
-     */
-    IMPORT_C const TPtrC8 ProviderSisUrlFromIndexL( TInt aIndex ) const;
-
-    /**
-     * Returns provider information referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index.
-     * @return Pointer to provider activation URL.
-     */
-    IMPORT_C const TPtrC8 ProviderActivationUrlFromIndexL( 
-        TInt aIndex ) const;
-
-    /**
-     * Returns provider information referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index.
-     * @return pointer Provider creation urlURL.
-     */
-    IMPORT_C const TPtrC8 ProviderCreationUrlFromIndexL( 
-        TInt aIndex ) const;
-
-    /**
-     * Returns provider information referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index.
-     * @return Pointer to provider description.
-     */
-    IMPORT_C const TPtrC ProviderDescriptionFromIndexL( 
-        TInt aIndex ) const;
-
-    /**
-     * Returns provider information referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index.
-     * @return Pointer to provider Type.
-     */
-    IMPORT_C const TPtrC ProviderTypeFromIndexL( TInt aIndex ) const;
-
-    /**
-     * Returns provider icon URL referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index
-     * @return Pointer to provider icon URL.
-     */
-    IMPORT_C const TPtrC8 ProviderIconUrlFromIndexL( TInt aIndex ) const;
-
-    /**
-     * Returns provider bitmap referenced by index.
-     *
-     * @since S60 v3.2
-     * @param aIndex Provider list index.
-     * @return Pointer to bitmap owned by provider.
-     */
-    IMPORT_C void ProviderBitmapsFromIndexL( TInt aIndex,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask ) const;
-
-    /**
-     * Stores active list index in provider list view to member data.
-     *
-     * @since S60 v3.2
-     * @param aIndex Index to be stored.
-     */
-    IMPORT_C void SaveActiveIndex( TInt aIndex );
-
-    /**
-     * Returns active list index from member data.
-     *
-     * @since S60 v3.2
-     * @return Active list index in provider list view.
-     */
-    IMPORT_C TInt ActiveIndex() const;
-
-    /**
-     * Fetches the needed parameters for provisioning.
-     *
-     * @since S60 v3.2
-     * @param aUrl for URL.
-     */
-    IMPORT_C void FetchParametersL( TDes& aUrl );
-
-    /**
-     * Cancels ongoing HTTP request.
-     *
-     * @since S60 v3.2
-     */
-    IMPORT_C void CancelHttpRequest();
-
-    /**
-     * Starts downloading action (wbxml) file from the server.
-     * 
-     * @since S60 v3.2
-     * @param aUrl URL of the action file.
-     */
-    IMPORT_C void FetchActionFileL( const TDesC8& aUrl );
-
-    /**
-     * Gets session id that was received from the server.
-     * 
-     * @since S60 v3.2
-     * @return Session id descriptor.
-     */
-    IMPORT_C const TDesC8& SessionId();
-    
-// from base class MAcpXmlHandlerObserver
-    
-    /**
-     * From MAcpXmlHandlerObserver.
-     * Notifies observer when parsing is completed.
-     *
-     * @since S60 v3.2
-     * @param aError System wide error code.
-     */
-    IMPORT_C void NotifyParsingCompleted( TInt aError );
-
-    /**
-     * From MAcpXmlHandlerObserver.
-     * Notifies when new provider is available.
-     *
-     * @since S60 v3.2
-     * @param aError System wide error code.
-     */
-    IMPORT_C void NotifyParsedProviderL( const CAcpProvider& aProvider );
-
-// from base class MAcpHttpHandlerObserver
-
-    /**
-     * From MAcpHttpHandlerObserver.
-     * Notifies observer about HTTP events.
-     *
-     * @since S60 v3.2
-     * @param aEvent HTTP event.
-     */
-    void NotifyHttpEvent( TInt aEvent );
-
-    /**
-     * From MAcpHttpHandlerObserver.
-     * Notifies observer about HTTP event errors.
-     *
-     * @since S60 v3.2
-     * @param aError HTTP event error.
-     */
-    void NotifyHttpError( TInt aError );
-
-    /**
-     * From MAcpHttpHandlerObserver.
-     * Notifies observer about received body.
-     *
-     * @since S60 v3.2
-     * @param aBodyData Body data.
-     */
-    void NotifyBodyReceived( const TDesC8& aBodyData );
-
-    /**
-     * From MAcpHttpHandlerObserver.
-     * Notifies observer about received header.
-     *
-     * @since S60 v3.2
-     * @param aContentType Content data.
-     */
-    void NotifyContentTypeReceived( const TDesC8& aBodyData );
-
-    /**
-     * From MAcpHttpHandlerObserver.
-     * Notifies observer about received session id.
-     * 
-     * @since S60 v3.2
-     * @param aSession Id Session id received from the server.
-     */
-    void NotifySessionIdReceivedL( const TDesC8& aSessionId );
-    
-// from base class MImageHandlerObserver
-
-    /**
-     * From MImageHandlerObserver.
-     * Notifies completion of image handling.
-     * 
-     * @since S60 v3.2
-     * @param aErr Error code.
-     */
-    void NotifyImageCompletion( TInt aErr );   
-
-private:
-
-    CAcpController( MAcpControllerObserver& aObserver );
-    void ConstructL();
-
-    /**
-     * Creates XML file from received data.
-     *
-     * @since S60 v3.2
-     * @param aFilename File to be created.
-     */
-    void CreateFileFromDataL( const TDesC& aFilename );
-    
-    /**
-     * Parses received action file for wbxml content and sends it to
-     * provisioning engine.
-     * 
-     * @since S60 v3.2
-     */
-    void HandleActionFileL();
-
-    /**
-     * Returns next index with an icon URL in the providers list.
-     * 
-     * @since S60 v3.2
-     * 
-     * @param aResultUrl On return points to the icon URL if found.
-     * @return TInt Index in the providers list or KErrNotFound.
-     */
-    TInt NextIndexWithIconUrl( TPtrC8& aResultUrl );
-    
-    /**
-     * Parses a specific header value from head wrapper format.
-     * 
-     * @since S60 v3.2
-     * @param aHeaders Descriptor containing the headers.
-     * @param aParam Parameter to be parsed.
-     * @return Parameter value part of the header.
-     */
-    TPtrC8 GetHeaderParamL( const TDesC8& aHeaders, const TDesC8& aParam );
-    
-    /** 
-     * From MSIPProfileRegistryObserver.
-     * SIP profile information event.
-     *
-     * @since S60 v3.2
-     * @param aProfileId is id for profile
-     * @param aEvent type of information event
-     */
-    void ProfileRegistryEventOccurred(
-        TUint32 aSIPProfileId, 
-        TEvent aEvent );
-
-    /**
-     * From MSIPProfileRegistryObserver.
-     * An asynchronous error has occurred related to SIP profile.
-     *
-     * @since S60 v3.2
-     * @param aSIPProfileId the id of failed profile 
-     * @param aError a error code
-     */
-    void ProfileRegistryErrorOccurred(
-        TUint32 aSIPProfileId,
-        TInt aError );
-    
-private: // data
-
-    /**
-     * Reference for contoller observer.
-     */
-    MAcpControllerObserver& iObserver;
-
-    /**
-     * Handle to XML parser.
-     * Own.
-     */
-    CAcpXmlHandler* iParser;
-
-    /**
-     * Handle to HTTP handler.
-     * Own.
-     */
-    CAcpHttpHandler* iHttpHandler;
-
-    /**
-     * Array for providers.
-     * Own.
-     */
-    RPointerArray<CAcpProvider> iProviders;
-
-    /**
-     * Active list index, updated when provider specific view is opened.
-     */
-    TInt iActiveIndex;
-
-    /**
-     * Data fetched from network.
-     * Own.
-     */
-    HBufC8* iData;
-
-    /**
-     * Type of data fetched from network.
-     */
-    TFetchTypes iType;
-
-    /**
-     * File server.
-     */
-    RFs iFs; 
-
-    /**
-     * Name of the file.
-     */
-    TBuf<KNameMaxLength> iFilename;
-
-    /**
-     * Handler for PnPMS parameters.
-     */
-    CACPBrowserParams* iPnpmsparams;
-
-    /**
-     * Provides the image convertions.
-     * Own.
-     */
-    CAcpImageHandler* iImageHandler;
-    
-    /**
-     * Session id to be used for all transactions.
-     */
-    HBufC8* iSessionId;
-    
-    /**
-     * For getting SIP events.
-     */
-    CSIPManagedProfileRegistry* iSipModel;
-    
-    /**
-     * A flag telling if the previous download attempt failed.
-     * If it's ETrue, a new connection method is asked during the
-     * next download.
-     */
-    TBool iErrorDownloading;
-    
-    /**
-     * A flag telling if sis packet is downoloaded and sis installation
-     * will be made.
-     */
-    TBool iSisInstallation;
-
-    /**
-     * File write stream for SIS file downloading.
-     */
-    RFileWriteStream iWs;
-
-    // For unit testing.
-#ifdef _DEBUG
-    friend class T_CAcpController;
-#endif
-    };
-
-#endif // ACPCONTROLLER_H
-
-// End of file.