--- a/adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationread.h Wed Feb 17 13:58:55 2010 +0200
+++ b/adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationread.h Wed Apr 21 14:29:55 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -60,7 +60,8 @@
static CMmPhoneBookOperationRead* NewL(
CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler,
CMmUiccMessHandler* aUiccMessHandler,
- const CMmDataPackage* aDataPackage );
+ const CMmDataPackage* aDataPackage,
+ TInt aIpc );
/**
* Destructor.
@@ -68,30 +69,109 @@
~CMmPhoneBookOperationRead();
/**
- * This method created entry point to correct operation
- * @param TName aPhonebookType:
- * @param TInt aIpc: Identify number of request.
- * @return CMmPhoneBookStoreOperation*: pointer to operation.
+ * Sends Request To Get Read and Write Size
+ * for Msisdn PB
+ * @param TUint8 aTransId : TransactionId
+ * @return TInt: KErrNone or error value.
+ */
+ TInt USimReadWriteSizeReq( TUint8 aTransId );
+
+ /**
+ * Construct UICC Req to read Entry
+ * @param
+ * @return TInt: KErrNone or error value.
+ */
+ TInt USimPbReqRead( TInt aRecordNo, TUint8 aTransId );
+
+ /**
+ * Appends Correct record numner to request
+ * @param aParams
+ * @return TInt: KErrNone or error value.
*/
- static CMmPhoneBookOperationRead* Build(
- TName aPhonebookType,
- TInt aIpc );
+ TInt AddParamToReadReq( TUiccReadLinearFixed& aParams );
+
+ /**
+ * Handles SimPbResp ISI -message
+ * @param aStatus
+ * @param aTransId
+ * @param aFileData
+ * @param pbFileId
+ * @param fileIdExt
+ * @parma arrayIndex
+ * @return TInt: KErrNone or error value.
+ */
+ TBool USimPbReadRespL( TInt aStatus,
+ TUint8 aTransId,
+ const TDesC8 &aFileData );
+ /**
+ * Handles response for Msisdn read Write size request
+ * @param TDesC8 &aFileData : Response Data
+ * @return TInt: KErrNone or error value.
+ */
+ TBool USimReadWriteSizeResp( const TDesC8 &aFileData,
+ TInt aStatus );
+
+ private:
+
+ /**
+ * 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.
+ */
+ TInt UICCCreateReq( TInt aIpc, const CMmDataPackage* aDataPackage, TUint8 aTransId );
-virtual TInt UICCHandleData3gADNReadReq( TInt /*aFileID*/, TInt /*aFileSFI*/)
-{
- TFLOGSTRING("TSY: CMmPhoneBookOperationInit::CreateReq - Return KErrNotSupported");
- return KErrNotSupported;
-}
+ /**
+ * Handles read resp for main Entry
+ * @param aFileData
+ * @param aTransId
+ * @param aEmptyEntry : Entry is EMpty or not
+ * @param aEntryStore : ENtry is store in internal list or not
+ * @return TInt: KErrNone or error value.
+ */
+ void HandleReadResp(
+ const TDesC8 &aFileData,
+ TUint8 aTransId,
+ TInt &aEmptyEntry,
+ TBool &aEntryStore );
+
+ /**
+ * Handles read resp for main Entry when Entry is present
+ * @param aFileData
+ * @param aTransId
+ * @param aEntryStore : ENtry is store in internal list or not
+ * @return TInt: KErrNone or error value.
+ */
+ void HandleEntryPresentResp(
+ const TDesC8 &aFileData,
+ TUint8 aTransId,
+ TBool &aEntryStore );
+
+ /**
+ * 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.
+ */
+ TBool HandleUICCPbRespL(
+ TInt aStatus,
+ TUint8 aDetails,
+ const TDesC8 &aFileData,
+ TInt aTransId);
-virtual TInt HandleUICC3gADNRespL(const TInt /*aStatus*/, const TDes8& /*aFileData*/, const TInt /*aTransId*/)
-{
- TFLOGSTRING("TSY: CMmPhoneBookOperationInit::CreateReq - Return KErrNotSupported");
- return KErrNotSupported;
-}
- private:
+ /**
+ * Handles EXT file read resp
+ * @param aFIleData
+ * @param aTransId
+ * @return TInt: KErrNone or error value.
+ */
+ void HandleExtReadResp( const TDesC8 &aFileData,
+ TUint8 aTransId,
+ TBool &aEntryStored );
/**
@@ -102,21 +182,6 @@
// Transmit
/**
- * 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.
- */
- TInt UICCCreateReq( TInt aIpc, const CMmDataPackage* aDataPackage, TUint8 aTransId );
-
- /**
- * Constructs an ISI-message to read entry from SIM
- * @param
- * @return TInt: KErrNone or error value.
- */
- TInt USimPbReqRead( TInt aRecordNo, TUint8 aTransId );
-
- /**
* Constructs Data to read entry from USIM ADN Phonebook
* @param
* @return TInt: KErrNone or error value.
@@ -126,20 +191,6 @@
// Receive
- /**
- * 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.
- */
- TBool HandleUICCPbRespL(
- TInt aStatus,
- TUint8 aDetails,
- const TDesC8 &aFileData,
- TInt aTransId);
-
-
/**
* Handles SimPbResp ISI -message
@@ -149,6 +200,17 @@
*/
TInt UICCHandleDataADNReadResp( const TDesC8& aFileData);
+ /**
+ * Store Entry to internal List and CacheArray
+ * @param TBool &aEntryStored
+ */
+ void StoreEntryToListL( TBool &aEntryStored );
+
+ /**
+ * Store Own Number Entry to internal and compelte
+ * @param TInt aRet
+ */
+ void StoreAndCompleteOwnNumber( TInt aRet, TInt aEmptyEntry );
public: // Data
// None
@@ -164,6 +226,21 @@
// To Store the information about first valid Entry Search
TBool iLocationSearch;
+ // Attribute to Store Entry
+ TPBEntry* iStoreEntry;
+
+ // Saved IPC for complete
+ TInt iSavedIPCForComplete;
+
+ // Attribute store fileid
+ TUint16 iFileId;
+
+ // Attribute to store Ext File
+ TUint16 iExtFileId;
+
+ // Attribute to store Phonebook conf array index
+ TUint8 iArrayIndex;
+
private: // Data
// Attribute to check what kind of read is ongoing
@@ -171,11 +248,7 @@
TBool iExtensionRead ;
- // Attribute to Store Entry
- TPBEntry* iStoreEntry;
- // Saved IPC for complete
- TInt iSavedIPCForComplete;