menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommand.h
branchv5backport
changeset 14 1abc632eb502
parent 13 6205fd287e8a
child 20 636d517f67e6
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommand.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Interface of the folder command
- *
-*/
-
-
-
-#ifndef MMFOLDERCOMMAND_H
-#define MMFOLDERCOMMAND_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-#include "mmdialogmanager.h"
-#include "mcsmenusapi.h"
-
-class CMmPluginSharedResources;
-class CHnMdBaseKey;
-class CHnServiceHandler;
-class CAknQueryDialog;
-class MMmActionRequest;
-class MMmDialogManager;
-
-/**
- * Base class for folder operations
- * @since S60 v5.0
- */
-
-/**
- * CMmFolderCommand is a class which all command classes derived from.
- * It has a several common functions responsible for creating appropriate
- * command instance, displaying dialogs, controlling command execution,
- * getting data from resources, displaying dialogs and executing MCS queries.
- * CMmFolderCommand is using only as a base class in inheritance.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommand ) : public CBase, 
-                                        public MMmDialogManager,
-                                        public MLiwNotifyCallback
-    {
-
-protected:
-    
-    /**
-     * Current state of folder name validation.
-     */
-    enum TValidation
-        {
-        EValidationOk = 0,
-        EValidationInvalid = 1,
-        EValidationNotAllowed = 2
-        };
-
-public:
-   
-    /**
-     * Factory Method which returns concrete class
-     * representing folder operation.
-     * @param aCommand Descriptor contains required command.
-     * @return If aCommand is supported, operations instance is returned.
-     */
-    static CMmFolderCommand* FactoryL( const TDesC& aCommand );
-    
-    /**
-     * Returns TInt value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return TInt value or KErrNotFound.
-     */
-    TInt GetIntL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Returns string value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return String value or KNullDesC.
-     */
-    TPtrC GetStringL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Returns bool value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return TBool value.
-     */
-    TBool GetBoolL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Performs operation on folder.
-     * @param aEventParamList List of parameters for operations.
-     */
-    virtual void ExecuteActionL( CLiwGenericParamList* aEventParamList ) = 0;
-    
-    /**
-     * Setter for App UI.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */ 	
- 	void SetRequestInterface( MMmActionRequest* aActionRequest );
- 	
-    /**
-     * Setter for shared resources.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */ 	
- 	void SetSharedResources( CMmPluginSharedResources* aResources ); 
- 	
-    /**
-     * Setter for dialog.
-     * @param aDialog Dialog instance.
-     * @return Result of the dialog.
-     */
-    void SetDialogL( CAknQueryDialog* aDialog );
-    
-    /**
-     * Removes active dialog.
-     */
-    void RemoveDialogL();
- 	
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
-    virtual ~CMmFolderCommand();
-    
-protected:
-
-	/**
-	 * Base Plugin constructor
-	 */ 
-	void BaseConstructL();
-	
-    /**
-    * Gets folder name.
-    * @param aFolderName Name of the folder.
-    * @return Modal dialog displaying result.
-    */ 
-    TBool DoChangeNameL( RBuf& aFolderName, TInt aDefaultNameLength,
-        RBuf& aNumberInBracket, CLiwGenericParamList& aFoldersNames, 
-        TLiwVariant& aVar, TInt aNumberToAppend = 0 );
-
-    /**
-     * Gets folder name.
-     * @param aFolderName Name of the folder.
-     * @return Modal dialog displaying result.
-     */ 
-    void ChangeNameIfAlreadyExistsL( RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames, TInt aNumberToAppend = 0 );
-    
-    /**
-     * Gets list of the folders names.
-     * @param aFolderName Name of the folder.
-     */
-    void GetFolderListL( TInt aItemId );
-    
-    /**
-     * Gets list of the items names.
-     * @param aFolderName Name of the folder.
-     */
-    void GetListL( TInt aItemId );
-    
-    /**
-     * Gets folder name.
-     * @param aFolderName Name of the folder.
-     * @return Modal dialog displaying result.
-     */ 
-    TBool GetFolderNameL( RBuf& aFolderName, 
-            CLiwGenericParamList* aFoldersNames = 0 );
-    
-    /**
-     * Displays notification contains reason of the deletion cancel.
-     * @param aFolderName Name of the folder.
-     */
-    void DisplayErrorInfoL( const TDesC& aFolderName );
-    
-    /**
-     * Executes query on MCS service.
-     * @param aQueryName Query name.
-     * @param aInputData Input data.
-     * @param aFilter Query filter.
-     * @param aCallback Interface handling query execution.
-     */ 
-    void MCSQueryExecutionL( const TDesC8& aQueryName,
-                             const CHnMdBaseKey* aInputData,
-                             const CHnMdBaseKey* aFilter,
-                             MLiwNotifyCallback* aCallback );
-    
-    /**
-     * Add new key to existing key.
-     * @param aInDataKey An existing key.
-     * @param aKeyName Name of the new key.
-     * @param aKeyType Type of the new key.
-     * @param aKeyValue Value of the new key.
-     */
-    void AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                     const TDesC8& aKeyName, 
-                     const TDesC8& aKeyType, 
-                     const TDesC8& aKeyValue );
-    
-    /**
-     * Add new key to existing key.
-     * @param aInDataKey An existing key.
-     * @param aKeyName Name of the new key.
-     * @param aKeyType Type of the new key.
-     * @param aKeyValue Value of the new key.
-     */
-    void AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                     const TDesC8& aKeyName, 
-                     const TDesC8& aKeyType, 
-                     const TDesC& aKeyValue );
-    
-    /**
-     * Checks if folder name is valid and consists of allowed characters
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt FolderNameValidationL(RBuf& aFolderName,
-            CLiwGenericParamList* aFoldersNames = 0);
-    
-    /**
-     * Removes illegal character
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt IllegalCharacterRemoveL(RBuf& aFolderName,
-            CLiwGenericParamList* aFoldersNames = 0);
-    
-    /**
-     * Checks if folder name is valid
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt CheckValidFileNameL( const TDes& aFolderName );
-    
-    /**
-     * Checks if folder name consists of allowed characters
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt CheckAllowedCharsL( const TDes& aFolderName );
-    
-    /**
-     * Displays notification contains reason of the add folder/rename folder name  cancel.
-     * @param aResourceId The numeric ID of the resource string to be read.
-     */
-    void DisplayNameErrorInfoL( const TDesC& aMsg );
-    
-private:
-	
-    /**
-     * Prepare GetList input data for specified folder
-     * @param aItemId id of folder.
-     */
-	void PrepareGetListInputL(TInt aItemId);
-	
-	/**
-	 * Prepare GetList filter for folders
-	 */
-	void PrepareGetListFolderFilterL();
-	
-    /**
-     * Prepare GetList filter for folders
-     */
-    void PrepareGetListFilterL();
-	
-	/**
-	 * Insert Liw map to Liw list
-     * @param aList
-     * @param aKey
-     * @param aMap
-	 */
-	void InsertToLiwListL(CLiwGenericParamList* aList, 
-			const TDesC8& aKey, const CLiwDefaultMap* aMap); 
-	
-	/**
-	 * Externalize GetList input list
-	 */
-    void ExternalizeInputListL();
-    
-    /**
-     * Internalize GetList output list
-     */
-    void InternalizeOutputListL();
-	
-    
-protected:
-    
-    /**
-     * Own.
-     * Intance of the service handler.
-     */
-    CHnServiceHandler* iServiceHandler;
-    
-    
-    /**
-	 * Not Own.
-	 * Pointer to the App UI.
-	 */
-    MMmActionRequest* iActionRequest;
-    
-    /**
-     * Own.
-     * Pointer to active dialog.
-     */
-    CAknQueryDialog* iDialog;
-    
-    /**
-     * Flag indicating wheather dialog can be displayed.
-     */
-    TBool iLockDialog;
-    
-    /*
-     * MCS sesion.
-     * Own.
-     * */
-    RMenuSapi iMcs;
-    
-    /**
-     * GetList input and output parameter lists.
-     * Own.
-     */
-    CLiwGenericParamList* iGetListInParam;
-    CLiwGenericParamList* iGetListOutParam;
-    
-    /**
-     * GetList serialized input and output parameter lists.
-     * Own.
-     */
-    RBuf8 iSerializedInputList;
-    RBuf8 iSerializedOutputList;
-    
-    /**
-     * Pointer to shared resources class.
-     * Not owned.
-     */
-    CMmPluginSharedResources* iSharedResources;
-    
-    };
-
-#endif /*MMFOLDERCOMMAND_H*/
-
-// End of file