adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationread.h
changeset 8 6295dc2169f3
parent 5 8ccc39f9d787
equal deleted inserted replaced
7:fa67e03b87df 8:6295dc2169f3
     1 /*
     1 /*
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of the License "Eclipse Public License v1.0"
     5 * under the terms of the License "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    58         * @return CMmPhoneBookOperationRead*: created object
    58         * @return CMmPhoneBookOperationRead*: created object
    59         */
    59         */
    60         static CMmPhoneBookOperationRead* NewL(
    60         static CMmPhoneBookOperationRead* NewL(
    61             CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler,
    61             CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler,
    62             CMmUiccMessHandler* aUiccMessHandler,
    62             CMmUiccMessHandler* aUiccMessHandler,
    63             const CMmDataPackage* aDataPackage );
    63             const CMmDataPackage* aDataPackage,
       
    64             TInt aIpc );
    64 
    65 
    65         /**
    66         /**
    66         * Destructor.
    67         * Destructor.
    67         */
    68         */
    68         ~CMmPhoneBookOperationRead();
    69         ~CMmPhoneBookOperationRead();
    69 
    70 
    70         /**
    71         /**
    71         * This method created entry point to correct operation
    72         * Sends Request To Get Read and Write Size
    72         * @param TName aPhonebookType:
    73         * for Msisdn PB
    73         * @param TInt aIpc: Identify number of request.
    74         * @param TUint8 aTransId : TransactionId
    74         * @return CMmPhoneBookStoreOperation*: pointer to operation.
    75         * @return TInt: KErrNone or error value.
    75         */
    76         */
    76         static CMmPhoneBookOperationRead* Build(
    77         TInt USimReadWriteSizeReq( TUint8 aTransId );
    77             TName aPhonebookType,
    78 
    78             TInt aIpc );
    79         /**
    79 
    80         * Construct UICC Req to read Entry
    80 
    81         * @param
    81 
    82         * @return TInt: KErrNone or error value.
    82 virtual TInt UICCHandleData3gADNReadReq( TInt /*aFileID*/, TInt /*aFileSFI*/)
    83         */
    83 {
    84         TInt USimPbReqRead( TInt aRecordNo, TUint8 aTransId );
    84         TFLOGSTRING("TSY: CMmPhoneBookOperationInit::CreateReq - Return KErrNotSupported");
    85 
    85         return KErrNotSupported;
    86         /**
    86 }
    87         * Appends Correct record numner to request
    87 
    88         * @param aParams
    88 
    89         * @return TInt: KErrNone or error value.
    89 virtual TInt HandleUICC3gADNRespL(const TInt /*aStatus*/, const TDes8& /*aFileData*/, const TInt /*aTransId*/)
    90         */
    90 {
    91         TInt AddParamToReadReq( TUiccReadLinearFixed& aParams );
    91         TFLOGSTRING("TSY: CMmPhoneBookOperationInit::CreateReq - Return KErrNotSupported");
    92 
    92         return KErrNotSupported;
    93         /**
    93 }
    94         * Handles SimPbResp ISI -message
       
    95         * @param  aStatus
       
    96         * @param aTransId
       
    97         * @param aFileData
       
    98         * @param pbFileId
       
    99         * @param fileIdExt
       
   100         * @parma arrayIndex
       
   101         * @return TInt: KErrNone or error value.
       
   102         */
       
   103         TBool  USimPbReadRespL( TInt aStatus, 
       
   104                 TUint8 aTransId,
       
   105                 const TDesC8 &aFileData );
       
   106 
       
   107         /**
       
   108         * Handles response for Msisdn read Write size request
       
   109         * @param  TDesC8 &aFileData :  Response Data
       
   110         * @return TInt: KErrNone or error value.
       
   111         */
       
   112         TBool USimReadWriteSizeResp( const TDesC8 &aFileData, 
       
   113                                     TInt aStatus );
       
   114 
    94   private:
   115   private:
    95 
   116 
       
   117       /**
       
   118       * Separates different IPC requests for each other.
       
   119       * @param TInt aIpc: Identify number of request.
       
   120       * @param const CMmDataPackage* aDataPackage: Packaged data.
       
   121       * @return TInt: KErrNone or error value.
       
   122       */
       
   123       TInt UICCCreateReq( TInt aIpc, const CMmDataPackage* aDataPackage, TUint8 aTransId );
       
   124 
       
   125 
       
   126       /**
       
   127       * Handles read resp for main Entry
       
   128       * @param  aFileData
       
   129       * @param aTransId
       
   130       * @param aEmptyEntry  : Entry is EMpty or not
       
   131       * @param aEntryStore : ENtry is store in internal list or not
       
   132       * @return TInt: KErrNone or error value.
       
   133       */
       
   134       void HandleReadResp( 
       
   135               const TDesC8 &aFileData, 
       
   136               TUint8 aTransId, 
       
   137               TInt &aEmptyEntry, 
       
   138               TBool &aEntryStore );
       
   139 
       
   140       /**
       
   141       * Handles read resp for main Entry when Entry is present
       
   142       * @param  aFileData
       
   143       * @param aTransId
       
   144       * @param aEntryStore : ENtry is store in internal list or not
       
   145       * @return TInt: KErrNone or error value.
       
   146       */
       
   147       void HandleEntryPresentResp( 
       
   148               const TDesC8 &aFileData, 
       
   149               TUint8 aTransId, 
       
   150               TBool &aEntryStore );
       
   151 
       
   152       /**
       
   153       * Handles SimPbResp ISI -message
       
   154       * @param  TIsiReceiveC& aIsiMessage
       
   155       * @param TBool& aComplete: Indicates if request can remove from
       
   156       *        operationlist or not.
       
   157       * @return TInt: KErrNone or error value.
       
   158       */
       
   159       TBool HandleUICCPbRespL(
       
   160               TInt aStatus,
       
   161               TUint8 aDetails,
       
   162               const TDesC8 &aFileData,
       
   163               TInt aTransId);
       
   164 
       
   165 
       
   166       /**
       
   167       * Handles EXT file read resp
       
   168       * @param aFIleData 
       
   169       * @param aTransId
       
   170       * @return TInt: KErrNone or error value.
       
   171       */
       
   172       void HandleExtReadResp( const TDesC8 &aFileData, 
       
   173                               TUint8 aTransId,
       
   174                               TBool &aEntryStored );
       
   175 
    96 
   176 
    97         /**
   177         /**
    98         * Class attributes are created in ConstructL.
   178         * Class attributes are created in ConstructL.
    99         */
   179         */
   100         void ConstructL();
   180         void ConstructL();
   101 
   181 
   102         // Transmit
   182         // Transmit
   103 
       
   104         /**
       
   105         * Separates different IPC requests for each other.
       
   106         * @param TInt aIpc: Identify number of request.
       
   107         * @param const CMmDataPackage* aDataPackage: Packaged data.
       
   108         * @return TInt: KErrNone or error value.
       
   109         */
       
   110         TInt UICCCreateReq( TInt aIpc, const CMmDataPackage* aDataPackage, TUint8 aTransId );
       
   111 
       
   112         /**
       
   113         * Constructs an ISI-message to read entry from SIM
       
   114         * @param
       
   115         * @return TInt: KErrNone or error value.
       
   116         */
       
   117         TInt USimPbReqRead( TInt aRecordNo, TUint8 aTransId );
       
   118 
   183 
   119         /**
   184         /**
   120         * Constructs Data to read entry from USIM ADN Phonebook
   185         * Constructs Data to read entry from USIM ADN Phonebook
   121         * @param
   186         * @param
   122         * @return TInt: KErrNone or error value.
   187         * @return TInt: KErrNone or error value.
   123         */
   188         */
   124         TInt UICCHandleDataADNReadReq( TUiccReadLinearFixed& aParams, TUint16 aFileID, TUint8 aFileSFI );
   189         TInt UICCHandleDataADNReadReq( TUiccReadLinearFixed& aParams, TUint16 aFileID, TUint8 aFileSFI );
   125 
   190 
   126 
   191 
   127         // Receive
   192         // Receive
   128 
       
   129         /**
       
   130         * Handles SimPbResp ISI -message
       
   131         * @param  TIsiReceiveC& aIsiMessage
       
   132         * @param TBool& aComplete: Indicates if request can remove from
       
   133         *        operationlist or not.
       
   134         * @return TInt: KErrNone or error value.
       
   135         */
       
   136         TBool HandleUICCPbRespL(
       
   137                 TInt aStatus,
       
   138                 TUint8 aDetails,
       
   139                 const TDesC8 &aFileData,
       
   140                 TInt aTransId);
       
   141 
       
   142 
   193 
   143 
   194 
   144         /**
   195         /**
   145         * Handles SimPbResp ISI -message
   196         * Handles SimPbResp ISI -message
   146         * @param  TInt aTagValue
   197         * @param  TInt aTagValue
   147         * @param  TDes8& aFileData
   198         * @param  TDes8& aFileData
   148         * @return TInt: KErrNone or error value.
   199         * @return TInt: KErrNone or error value.
   149         */
   200         */
   150         TInt UICCHandleDataADNReadResp( const TDesC8& aFileData);
   201         TInt UICCHandleDataADNReadResp( const TDesC8& aFileData);
   151 
   202 
       
   203         /**
       
   204         * Store Entry to internal List and CacheArray
       
   205         * @param  TBool &aEntryStored
       
   206         */
       
   207         void StoreEntryToListL( TBool &aEntryStored );
       
   208 
       
   209         /**
       
   210         * Store Own Number Entry to internal and compelte
       
   211         * @param  TInt aRet
       
   212         */
       
   213         void StoreAndCompleteOwnNumber( TInt aRet, TInt aEmptyEntry );
   152 
   214 
   153     public: // Data
   215     public: // Data
   154         // None
   216         // None
   155 
   217 
   156     protected: // Data
   218     protected: // Data
   162         TInt iNumOfEntriesFilled;
   224         TInt iNumOfEntriesFilled;
   163 
   225 
   164         // To Store the information about first valid Entry Search
   226         // To Store the information about first valid Entry Search
   165         TBool iLocationSearch;
   227         TBool iLocationSearch;
   166 
   228 
       
   229         // Attribute to Store Entry
       
   230         TPBEntry* iStoreEntry;
       
   231 
       
   232         // Saved IPC for complete
       
   233         TInt iSavedIPCForComplete;
       
   234         
       
   235         // Attribute store fileid
       
   236         TUint16 iFileId;
       
   237         
       
   238         // Attribute to store Ext File 
       
   239         TUint16 iExtFileId;
       
   240         
       
   241         // Attribute to store Phonebook conf array index
       
   242         TUint8 iArrayIndex;
       
   243 
   167     private: // Data
   244     private: // Data
   168 
   245 
   169         // Attribute to check what kind of read is ongoing
   246         // Attribute to check what kind of read is ongoing
   170         TTypeOfFileToBeRead iTypeOfReading ;
   247         TTypeOfFileToBeRead iTypeOfReading ;
   171 
   248 
   172         TBool iExtensionRead ;
   249         TBool iExtensionRead ;
   173         
   250         
   174         // Attribute to Store Entry
   251         
   175         TPBEntry* iStoreEntry;
       
   176         
       
   177         // Saved IPC for complete
       
   178         TInt iSavedIPCForComplete;
       
   179 
   252 
   180 
   253 
   181 
   254 
   182 };
   255 };
   183 
   256