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 |