deviceencryption/DevEncUi/inc/DevEncUiMainView.h
author Simon Howkins <simonh@symbian.org>
Tue, 16 Nov 2010 11:00:04 +0000
branchRCL_3
changeset 55 58ed58285a84
parent 0 6a9f87576119
permissions -rw-r--r--
Fixed path to IBY files to be exported

/*
* 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:  Main view of the application.
*
*/

#ifndef __DEVENCUI_MAINVIEW_H__
#define __DEVENCUI_MAINVIEW_H__

//INCLUDES

//System includes
#include <aknview.h>	// CAknView
#include <centralrepository.h>

//User Includes
#include "DevEncUiContainerEventCallback.h"
#include "DevEncUiDocument.h"

// FORWARD DECLARATIONS
class CDevEncUiEncryptionOperator;
class CDevEncUiMainViewContainer;
class CDevEncUiMemoryEntity;

class CDevEncUiMainView: public CAknView,
                         public MContainerEventCallback
	{
    public:
    // constructors and destructor
    	static CDevEncUiMainView* NewL( RArray<CDevEncUiMemoryEntity*>& aMemEntities,
                                        CRepository*& aSettings,
                                        TInt& aMmcStatus );
    	static CDevEncUiMainView* NewLC( RArray<CDevEncUiMemoryEntity*>& aMemEntities,
                                         CRepository*& aSettings,
                                         TInt& aMmcStatus );
    	~CDevEncUiMainView();
    	CDevEncUiAppUi& GetAppUi();

    // from MContainerEventCallback
        void EncryptionStatusChangeReq( TDevEncUiMemoryType aType );

    protected:
        void DynInitMenuPaneL( TInt aResourceId,
                               CEikMenuPane* aMenuPane );

        /**
        *  HandleStatusPaneSizeChange.
        *  Called by the framework when the application status pane
        *  size is changed.
        */
        void HandleStatusPaneSizeChange();

    private:
    // from CAknView
    	TUid Id() const;
    	void HandleCommandL( TInt aCommand );
    	CDevEncUiMainView( RArray<CDevEncUiMemoryEntity*>& aMemEntities,
                           CRepository*& aSettings,
                           TInt& aMmcStatus );

    	void DoActivateL( const TVwsViewId& aPrevViewId,
                          TUid aCustomMessageId,
                          const TDesC8& aCustomMessage );

    	void DoDeactivate();

        // constructors
    	void ConstructL();

        void HandleMemoryCardEncryptRequestL( CDevEncUiMemoryEntity* aMem );

        void DoEncryptionStatusChangeReqL( TDevEncUiMemoryType aType );

        TBool DmControlsMemory( TDevEncUiMemoryType aType,
                                TInt aDmControlSetting );

        void ErrorNoteL( TInt aResourceId );
        
    // data
        /** ID of this view */
        TUid iId;

        /** Owned */
    	CDevEncUiMainViewContainer* iContainer;

        /** Not owned */
        RArray<CDevEncUiMemoryEntity*>& iMemEntities;

        /** Owned */
        CDevEncUiEncryptionOperator* iEncOperator;
        
        /** Not owned */
        CRepository*& iCrSettings;
        
        /** Not owned */
        TInt& iMmcStatus;
	};

#endif	// __DEVENCUI_MAINVIEW_H__

// End of File