diff -r 510c70acdbf6 -r 8ccc39f9d787 adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationdelete.h --- a/adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationdelete.h Mon Nov 09 10:36:19 2009 +0000 +++ b/adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationdelete.h Thu Jan 14 10:44:58 2010 +0200 @@ -8,60 +8,79 @@ * * Initial Contributors: * Nokia Corporation - initial contribution. -* +* * Contributors: -* +* * Description: * */ -#ifndef _CMMPHONEBOOK_OPERATION_DELETE_H -#define _CMMPHONEBOOK_OPERATION_DELETE_H +#ifndef CMMPHONEBOOKOPERATIONDELETE_H +#define CMMPHONEBOOKOPERATIONDELETE_H -// INCLUDES +// INCLUDES #include #include + #include "cmmphonebookstoreoperationbase.h" -// CONSTANTS - // None +// CONSTANTS + //none -// MACROS - // None +// MACROS + //none -// DATA TYPES - // None +// DATA TYPES + //none -// EXTERNAL DATA STRUCTURES - // None +// EXTERNAL DATA STRUCTURES +enum TPBDeletePhases + { + EPBDeletePhaseReadExtensions, + EPBDeletePhaseReadEntry, + EPBDeletePhaseDeleteExtension, + EPBDeletePhase_Read_MBI_profile, + EPBDeletePhase_delete_MBI_profile, + EPBDeletePhaseDeleteEntry + }; -// FUNCTION PROTOTYPES - // None -// FORWARD DECLARATION - // None +// FUNCTION PROTOTYPES + //none // CLASS DECLARATION /** -* CMmPhoneBookOperationDelete is used to create and send GSM-specific -* PBStore ISI messages to PhoNet via PhoNetSender relating to delete. +* CMmPhoneBookOperationWrite is used to create and send GSM-specific +* PBStore ISI messages to PhoNet via PhoNetSender relating to write. */ -class CMmPhoneBookOperationDelete : public CMmPhoneBookStoreOperationBase +class CMmPhoneBookOperationDelete + : public CMmPhoneBookStoreOperationBase { - public: // Constructors and destructor + public: // Constructors and destructor /** * Two-phased constructor. - * @return CMmPhoneBookOperationDelete*: created object */ static CMmPhoneBookOperationDelete* NewL( CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler, + CMmUiccMessHandler* aUiccMessHandler, const CMmDataPackage* aDataPackage ); + /** * Destructor. */ ~CMmPhoneBookOperationDelete(); + /** + * This method creates entry point to correct operation + * @param aPhonebookType PhoneBook type + * @param aIpc IPC + * @return Pointer to operation. + */ + static CMmPhoneBookOperationDelete* Build( + TName aPhonebookType, + TInt aIpc ); + private: /** @@ -70,74 +89,153 @@ CMmPhoneBookOperationDelete(); /** + * Class attributes are created in ConstructL. + */ + //void ConstructL(); + + /** * Separates different IPC requests for each other. - * @param TInt aIpc: Identify number of request. - * @param const CMmDataPackage* aDataPackage: Packaged data. - * @return TInt: KErrNone or error value. + * + * @param aIpc Identify number of request. + * @param aDataPackage Packaged data. + * @return KErrNone or error value. */ - TInt CreateReq( TInt aIpc, const CMmDataPackage* aDataPackage ); + TInt UICCCreateReq( + TInt aIpc, + const CMmDataPackage* aDataPackage, + TUint8 aTransId ); + + /** + * Handles UICC response ISI -message + * @param aStatus Status + * @param aFileData File data + * @param aTransId Transaction ID + * @return Is operation going to be deleted + */ + TBool HandleUICCPbRespL( + TInt aStatus, + TUint8 aDetails, + const TDesC8& aFileData, + TInt aTransId ); /** - * Handles SimPbResp ISI -message - * @param TIsiReceiveC& aIsiMessage - * @param TBool& aComplete: Indicates if request can remove from - * operationlist or not. - * @return TInt: KErrNone or error value. + * Handles request to delete a phonebook entry + * @return KErrNone or error value */ - TInt HandleSimPbRespL( - const TIsiReceiveC& aIsiMessage, - TBool& aComplete ); + TInt UiccPbReqDelete(); + + /** + * Creates and sends ISI message in order to delete an entry + * @return KErrNone or error value + */ + TInt UiccPbReqDeleteEntry(); /** - * Handling delete response - * @param TIsiReceiveC& aIsiMessage - * @param TBool& aComplete: Indicates if request can remove from - * operationlist or not. - * @return TInt: KErrNone or error value. + * Creates and sends ISI message in order to delete an extension + * @param aExtRecordNum Extension record number + * @return KErrNone or error value + */ + TInt UiccPbReqDeleteExt( TInt aExtRecordNum ); + + /** + * Creates and sends ISI message in order to read an entry + * @return KErrNone or error value */ - TInt HandleDeleteResp( - const TIsiReceiveC& aIsiMessage, - TBool& aComplete ); + TInt UiccPbReqReadEntry(); + + /** + * Handles phonebook entry data + * @param aFileData File data + * @return KErrNone or error value + */ + TInt HandleReadEntryResp( const TDesC8& aFileData ); + + /** + * Creates and sends ISI message in order to read an extension + * @return KErrNone or error value + */ + TInt UiccPbReqReadExt( TUint8 aExtRecordNum ); /** - * Creates and sends ISI message in order to delete an entry from SIM - * @param TInt16 aIndex: Location index - * @return TInt: KErrNone or error value. + * Handles phonebook extension data + * @param aFileData File data + * @return KErrNone or error value */ - TInt SimPbReqDelete( TInt16 aIndex ); - + TInt HandleReadExtResp( const TDesC8& aFileData ); + /** - * Creates and sends ISI message in order to delete all entries from SIM - * @return TInt: KErrNone or error value. + * Creates request to read MBI record + * @return KErrNone or error value */ - TInt SimPbReqDeleteAll(); - -#ifdef INTERNAL_RD_USIM_PHONEBOOK_GAS_AND_AAS + TInt UiccPbReqReadMBI(); + /** - * Creates and sends ISI message in order to delete alphastring from SIM - * @return TInt: KErrNone or error value + * Handles phonebook extension data + * @param aStatus + * @param aDetails + * @param aFileData File data + * @return KErrNone or error value */ - TInt SimDeleteAlphaStringReq(); - + TInt HandleWriteMBIReadResp(TInt aStatus, TUint8 aDetails, const TDesC8& aFileData ); + /** - * Receives SIM_PB_RESP(SIM_PB_DELETE) ISI messages from phonet receiver - * @param TIsiReceiveC: reference to the received message. - * @return TInt: KErrNone or error code + * Creates request to Delete MBI profile + * @return KErrNone or error value */ - TInt SimDeleteAlphaStringRespL( const TIsiReceiveC& aIsiMessage ); -#endif // INTERNAL_RD_USIM_PHONEBOOK_GAS_AND_AAS + TInt UiccPBReqDeleteMBIProfile(); - public: // Data + + public: // Data // None - protected: // Data - // None + protected: // Data + // none + + private: // Data + + // Keep track on current delete phase + TPBDeletePhases iCurrentDeletePhase; + + // Phone book entry to be deleted + CPhoneBookStoreEntry* iPhoneBookEntry; + + // IPC number of operation + TInt iIpc; + + // Number of entries + TInt iNumOfEntries; + + // Number of extension records in entry + TInt iNumOfExtensions; + + // Elementary file ID + TUint16 iFileId; - private: // Data - // None + // Extension file ID + TUint16 iFileIdExt; + + // Record number in phonebook to be deleted + TInt iIndex; + + // Phonebook entry + TPBEntry iEntry; + + // Transaction ID used in delete operations + TUint8 iTransId; + // Location index of phonebook type + TUint8 iArrayIndex; + + // Information of location already read + TBool iLocationFoundInPbList; + + // Array to store ext rexords to be deletet + RArray iExtRecordArrayToBeDelete; + + // Attribute to store MBI Profiletype + TUint8 iMBIProfileType; }; -#endif // _CMMPHONEBOOK_OPERATION_DELETE_H +#endif // CMMPHONEBOOKOPERATIONDELETE_H -// End of File +// End of file