--- 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