63 /** |
63 /** |
64 * Two-phased constructor. |
64 * Two-phased constructor. |
65 */ |
65 */ |
66 static CMmPhoneBookOperationWrite* NewL( |
66 static CMmPhoneBookOperationWrite* NewL( |
67 CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler, |
67 CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler, |
|
68 CMmUiccMessHandler* aUiccMessHandler, |
68 const CMmDataPackage* aDataPackage ); |
69 const CMmDataPackage* aDataPackage ); |
69 |
70 |
70 /** |
71 /** |
71 * Destructor. |
72 * Destructor. |
72 */ |
73 */ |
80 * @return Pointer to operation. |
81 * @return Pointer to operation. |
81 */ |
82 */ |
82 static CMmPhoneBookOperationWrite* Build( |
83 static CMmPhoneBookOperationWrite* Build( |
83 TName aPhonebookType, |
84 TName aPhonebookType, |
84 TInt aIpc ); |
85 TInt aIpc ); |
85 |
86 |
86 private: |
|
87 |
|
88 /** |
87 /** |
89 * By default Symbian OS constructor is private. |
88 * By default Symbian OS constructor is private. |
90 */ |
89 */ |
91 CMmPhoneBookOperationWrite(); |
90 CMmPhoneBookOperationWrite(); |
92 |
91 |
93 /** |
92 protected: |
94 * Class attributes are created in ConstructL. |
93 |
95 */ |
94 /** |
96 void ConstructL(); |
95 * Creates and sends ISI message in order to read MBI Profile form first record |
97 |
96 * @param aTraId Transaction id |
98 /** |
97 * @param aIndex Location index |
99 * Separates different IPC requests for each other. |
98 * @param aDataToWrite Entry to write |
100 * |
99 * @return KErrNone or error value |
101 * @param aIpc Identify number of request. |
100 */ |
102 * @param aDataPackage Packaged data. |
101 TInt UiccPbReqReadMBI( TUint8 aIndex, TUint8 aTransId ); |
103 * @return KErrNone or error value. |
102 |
104 */ |
103 /** |
105 TInt UICCCreateReq( |
104 * Creates and sends ISI message in order to wite an entry to SIM |
106 TInt aIpc, |
105 * |
107 const CMmDataPackage* aDataPackage, |
106 * @param aTraId Transaction id |
108 TUint8 aTransId ); |
107 * @param aIndex Location index |
|
108 * @param aDataToWrite Entry to write |
|
109 * @return KErrNone or error value |
|
110 */ |
|
111 TInt UiccPbReqWriteL( |
|
112 TUint8 aTraId, |
|
113 TInt16 aIndex, |
|
114 CPhoneBookStoreEntry& aDataToWrite ); |
109 |
115 |
110 /** |
116 /** |
111 * Handles SimPbResp ISI -message |
117 * Handles SimPbResp ISI -message |
112 * |
118 * |
113 * @param aIsiMessage |
119 * @param aIsiMessage |
119 TInt aStatus, |
125 TInt aStatus, |
120 TUint8 aDetails, |
126 TUint8 aDetails, |
121 const TDesC8& aFileData, |
127 const TDesC8& aFileData, |
122 TInt aTransId ); |
128 TInt aTransId ); |
123 |
129 |
|
130 |
|
131 |
|
132 private: |
|
133 |
|
134 |
|
135 /** |
|
136 * Class attributes are created in ConstructL. |
|
137 */ |
|
138 void ConstructL(); |
|
139 |
|
140 /** |
|
141 * Separates different IPC requests for each other. |
|
142 * |
|
143 * @param aIpc Identify number of request. |
|
144 * @param aDataPackage Packaged data. |
|
145 * @return KErrNone or error value. |
|
146 */ |
|
147 TInt UICCCreateReq( |
|
148 TInt aIpc, |
|
149 const CMmDataPackage* aDataPackage, |
|
150 TUint8 aTransId ); |
|
151 |
124 /** |
152 /** |
125 * Handles HandleWriteReadEntryResp aFileData |
153 * Handles HandleWriteReadEntryResp aFileData |
126 * |
154 * |
127 * @param aFileData |
155 * @param aFileData |
128 * @param aTransId - Transaction id received |
156 * @param aTransId - Transaction id received |
246 * @param aTraId Transaction id |
274 * @param aTraId Transaction id |
247 * @param aIndex Location index |
275 * @param aIndex Location index |
248 * @param aDataToWrite Entry to write |
276 * @param aDataToWrite Entry to write |
249 * @return KErrNone or error value |
277 * @return KErrNone or error value |
250 */ |
278 */ |
251 TInt UiccPbReqWriteL( |
|
252 TUint8 aTraId, |
|
253 TInt16 aIndex, |
|
254 CPhoneBookStoreEntry& aDataToWrite ); |
|
255 |
|
256 /** |
|
257 * Creates and sends ISI message in order to wite an entry to SIM |
|
258 * |
|
259 * @param aTraId Transaction id |
|
260 * @param aIndex Location index |
|
261 * @param aDataToWrite Entry to write |
|
262 * @return KErrNone or error value |
|
263 */ |
|
264 TInt UiccPBReqWriteEntry( |
279 TInt UiccPBReqWriteEntry( |
265 TUint16 aFileId, |
280 TUint16 aFileId, |
266 TUint8 aIndex, |
281 TUint8 aIndex, |
267 TUint8 aTraId, |
282 TUint8 aTraId, |
268 CPhoneBookStoreEntry& aDataToWrite ); |
283 CPhoneBookStoreEntry& aDataToWrite ); |
321 TUint16 aFileId, |
336 TUint16 aFileId, |
322 TUint16 aFileIdExt, |
337 TUint16 aFileIdExt, |
323 TUint8 aIndex, |
338 TUint8 aIndex, |
324 TUint8 aTransId ); |
339 TUint8 aTransId ); |
325 |
340 |
326 /** |
|
327 * Creates and sends ISI message in order to read MBI Profile form first record |
|
328 * @param aTraId Transaction id |
|
329 * @param aIndex Location index |
|
330 * @param aDataToWrite Entry to write |
|
331 * @return KErrNone or error value |
|
332 */ |
|
333 TInt UiccPbReqReadMBI( TUint8 aIndex, TUint8 aTransId ); |
|
334 |
|
335 |
341 |
336 /** |
342 /** |
337 * Creates and sends ISI message in order to write MBI Profile form first record |
343 * Creates and sends ISI message in order to write MBI Profile form first record |
338 * @param aTraId Transaction id |
344 * @param aTraId Transaction id |
339 * @param aIndex Location index |
345 * @param aIndex Location index |
343 TInt UiccPBReqWriteMBIProfile( TUint8 aTransId, TUint8 aIndex, TUint8 aOperationType ); |
349 TInt UiccPBReqWriteMBIProfile( TUint8 aTransId, TUint8 aIndex, TUint8 aOperationType ); |
344 public: // Data |
350 public: // Data |
345 // None |
351 // None |
346 |
352 |
347 protected: // Data |
353 protected: // Data |
348 // none |
|
349 |
|
350 private: // Data |
|
351 |
|
352 // Attribute to hold the write enty while delete -request is on |
354 // Attribute to hold the write enty while delete -request is on |
353 CPhoneBookStoreEntry* iPhoneBookEntry; |
355 CPhoneBookStoreEntry* iPhoneBookEntry; |
354 |
356 |
355 // Keep track on current write -phase |
357 // Keep track on current write -phase |
356 TPBWritePhases iCurrentWritePhase; |
358 TPBWritePhases iCurrentWritePhase; |
|
359 |
|
360 // Attribute Store the information if it is location search |
|
361 TBool iLocationSearch; |
357 |
362 |
358 // Array to Store new EXT records |
363 // Array to Store new EXT records |
359 RArray<TInt> iExtRecordArrayToBeWrite; |
364 RArray<TInt> iExtRecordArrayToBeWrite; |
360 |
365 |
361 // Array to store EXT record nos to be delete |
366 // Array to store EXT record nos to be delete |
362 RArray<TInt> iExtRecordArrayToBeDelete; |
367 RArray<TInt> iExtRecordArrayToBeDelete; |
363 |
368 |
|
369 // Store the no of ext records already written |
|
370 TUint8 iExtRecordWritten; |
|
371 |
|
372 |
|
373 private: // Data |
|
374 |
|
375 |
364 // EXT record number to be read |
376 // EXT record number to be read |
365 TInt iExtRecordNo; |
377 TInt iExtRecordNo; |
366 |
|
367 // Store the no of ext records already written |
|
368 TUint8 iExtRecordWritten; |
|
369 |
|
370 // Attribute Store the information if it is location search |
|
371 TBool iLocationSearch; |
|
372 |
378 |
373 // Attribute to store the information if delete EXT operation going on |
379 // Attribute to store the information if delete EXT operation going on |
374 TBool iExtDeleteOperation; |
380 TBool iExtDeleteOperation; |
375 |
381 |
376 // For Free Entry Search |
382 // For Free Entry Search |