100 // CHsCcApiClient::RunL() |
100 // CHsCcApiClient::RunL() |
101 // ----------------------------------------------------------------------------- |
101 // ----------------------------------------------------------------------------- |
102 // |
102 // |
103 void CHsCcApiClient::RunL() |
103 void CHsCcApiClient::RunL() |
104 { |
104 { |
105 if ( !iStatus.Int() ) |
105 TInt err( iStatus.Int() ); |
|
106 HBufC8* header( NULL ); |
|
107 TPtr8 headerPtr( NULL, 0 ); |
|
108 |
|
109 if ( !err ) |
|
110 { |
|
111 // Read API request header |
|
112 header = iApiHeader->AllocL(); |
|
113 CleanupStack::PushL( header ); |
|
114 headerPtr.Set( header->Des() ); |
|
115 } |
|
116 |
|
117 // Receive next API notification |
|
118 WaitForApiNtfL(); |
|
119 |
|
120 if ( !err ) |
106 { |
121 { |
107 // Get received message header |
122 // Get received message header |
108 CCcSrvMsg* message = CCcSrvMsg::NewL(); |
123 CCcSrvMsg* message = CCcSrvMsg::NewL(); |
109 CleanupStack::PushL( message ); |
124 CleanupStack::PushL( message ); |
110 RDesReadStream stream( iApiHeaderPtr ); |
125 RDesReadStream stream( headerPtr ); |
111 CleanupClosePushL( stream ); |
126 CleanupClosePushL( stream ); |
112 message->InternalizeHeaderL( stream ); |
127 message->InternalizeHeaderL( stream ); |
113 CleanupStack::PopAndDestroy( &stream ); |
128 CleanupStack::PopAndDestroy( &stream ); |
114 |
129 |
115 switch ( message->MsgId() ) |
130 switch ( message->MsgId() ) |
186 TPckgBuf<TUint32> receiver; |
201 TPckgBuf<TUint32> receiver; |
187 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
202 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
188 |
203 |
189 if ( !err ) |
204 if ( !err ) |
190 { |
205 { |
191 // Internalize WidgetListResp API response |
206 // Internalize response message |
192 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
207 TUint32 trId; |
193 CleanupStack::PushL( respMsg ); |
208 TUint32 dataSize; |
194 RDesReadStream respStream( msgPtr ); |
209 err = InternalizeRespL( msgPtr, trId, dataSize ); |
195 CleanupClosePushL( respStream ); |
210 if ( !err && dataSize ) |
196 respMsg->InternalizeHeaderL( respStream ); |
|
197 CleanupStack::PopAndDestroy( &respStream ); |
|
198 err = respMsg->Status(); |
|
199 if ( !err ) |
|
200 { |
211 { |
201 if ( respMsg->DataSize() ) |
212 // Internalize API response data |
202 { |
213 err = InternalizeContentInfoArrayL( aArray, trId, dataSize ); |
203 // Get API response data |
|
204 HBufC8* dataBuf = HBufC8::NewL( respMsg->DataSize() ); |
|
205 CleanupStack::PushL( dataBuf ); |
|
206 TPtr8 dataPtr( NULL, 0 ); |
|
207 dataPtr.Set( dataBuf->Des() ); |
|
208 TPckgBuf<TUint32> trId( respMsg->TrId() ); |
|
209 err = iSession.GetMsgData( trId, dataPtr ); |
|
210 if ( !err ) |
|
211 { |
|
212 // Internalize API response data |
|
213 RDesReadStream dataStream( dataPtr ); |
|
214 CleanupClosePushL( dataStream ); |
|
215 aArray.InternalizeL( dataStream ); |
|
216 CleanupStack::PopAndDestroy( &dataStream ); |
|
217 } |
|
218 CleanupStack::PopAndDestroy( dataBuf ); |
|
219 } |
|
220 } |
214 } |
221 CleanupStack::PopAndDestroy( respMsg ); |
215 } |
|
216 |
|
217 // Cleanup |
|
218 CleanupStack::PopAndDestroy( msgBuf ); |
|
219 CleanupStack::PopAndDestroy( reqMsg ); |
|
220 |
|
221 return err; |
|
222 } |
|
223 |
|
224 // ----------------------------------------------------------------------------- |
|
225 // CHsCcApiClient::WidgetListL |
|
226 // ----------------------------------------------------------------------------- |
|
227 // |
|
228 TInt CHsCcApiClient::WidgetListL( |
|
229 CHsContentInfo& aInfo, CHsContentInfoArray& aArray ) |
|
230 { |
|
231 TInt err( KErrNone ); |
|
232 |
|
233 // Create WidgetListReq API request |
|
234 CCcSrvMsg* reqMsg = CCcSrvMsg::NewL(); |
|
235 CleanupStack::PushL( reqMsg ); |
|
236 reqMsg->SetMsgId( EHsCcWidgetListReq ); |
|
237 reqMsg->SetTrId( 0 ); |
|
238 |
|
239 // Marshal WidgetListReq data to a descriptor |
|
240 HBufC8* dataBuf = aInfo.MarshalL(); |
|
241 TPtr8 dataPtr( NULL, 0 ); |
|
242 dataPtr.Set( dataBuf->Des() ); |
|
243 reqMsg->SetData( dataPtr ); |
|
244 |
|
245 delete dataBuf; |
|
246 dataBuf = NULL; |
|
247 |
|
248 // Marshal API request |
|
249 HBufC8* msgBuf = reqMsg->MarshalL(); |
|
250 CleanupStack::PushL( msgBuf ); |
|
251 TPtr8 msgPtr( NULL, 0 ); |
|
252 msgPtr.Set( msgBuf->Des() ); |
|
253 |
|
254 // Send API request |
|
255 // Sender and receiver address not defined -> message is routed |
|
256 // according to the provider id |
|
257 TPckgBuf<TUint32> provider( ECcHomescreen ); |
|
258 TPckgBuf<TUint32> sender; |
|
259 TPckgBuf<TUint32> receiver; |
|
260 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
|
261 |
|
262 if ( !err ) |
|
263 { |
|
264 // Internalize response message |
|
265 TUint32 trId; |
|
266 TUint32 dataSize; |
|
267 err = InternalizeRespL( msgPtr, trId, dataSize ); |
|
268 if ( !err && dataSize ) |
|
269 { |
|
270 // Internalize API response data |
|
271 err = InternalizeContentInfoArrayL( aArray, trId, dataSize ); |
|
272 } |
222 } |
273 } |
223 |
274 |
224 // Cleanup |
275 // Cleanup |
225 CleanupStack::PopAndDestroy( msgBuf ); |
276 CleanupStack::PopAndDestroy( msgBuf ); |
226 CleanupStack::PopAndDestroy( reqMsg ); |
277 CleanupStack::PopAndDestroy( reqMsg ); |
257 TPckgBuf<TUint32> receiver; |
308 TPckgBuf<TUint32> receiver; |
258 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
309 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
259 |
310 |
260 if ( !err ) |
311 if ( !err ) |
261 { |
312 { |
262 // Internalize ViewListResp API response |
313 // Internalize response message |
263 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
314 TUint32 trId; |
264 CleanupStack::PushL( respMsg ); |
315 TUint32 dataSize; |
265 RDesReadStream respStream( msgPtr ); |
316 err = InternalizeRespL( msgPtr, trId, dataSize ); |
266 CleanupClosePushL( respStream ); |
317 if ( !err && dataSize ) |
267 respMsg->InternalizeHeaderL( respStream ); |
|
268 CleanupStack::PopAndDestroy( &respStream ); |
|
269 err = respMsg->Status(); |
|
270 if ( !err ) |
|
271 { |
318 { |
272 if ( respMsg->DataSize() ) |
319 // Internalize API response data |
273 { |
320 err = InternalizeContentInfoArrayL( aArray, trId, dataSize ); |
274 // Get API response data |
|
275 HBufC8* dataBuf = HBufC8::NewL( respMsg->DataSize() ); |
|
276 CleanupStack::PushL( dataBuf ); |
|
277 TPtr8 dataPtr( NULL, 0 ); |
|
278 dataPtr.Set( dataBuf->Des() ); |
|
279 TPckgBuf<TUint32> trId( respMsg->TrId() ); |
|
280 err = iSession.GetMsgData( trId, dataPtr ); |
|
281 if ( !err ) |
|
282 { |
|
283 // Internalize API response data |
|
284 RDesReadStream dataStream( dataPtr ); |
|
285 CleanupClosePushL( dataStream ); |
|
286 aArray.InternalizeL( dataStream ); |
|
287 CleanupStack::PopAndDestroy( &dataStream ); |
|
288 } |
|
289 CleanupStack::PopAndDestroy( dataBuf ); |
|
290 } |
|
291 } |
321 } |
292 CleanupStack::PopAndDestroy( respMsg ); |
|
293 } |
322 } |
294 |
323 |
295 // Cleanup |
324 // Cleanup |
296 CleanupStack::PopAndDestroy( msgBuf ); |
325 CleanupStack::PopAndDestroy( msgBuf ); |
297 CleanupStack::PopAndDestroy( reqMsg ); |
326 CleanupStack::PopAndDestroy( reqMsg ); |
328 TPckgBuf<TUint32> receiver; |
357 TPckgBuf<TUint32> receiver; |
329 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
358 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
330 |
359 |
331 if ( !err ) |
360 if ( !err ) |
332 { |
361 { |
333 // Internalize AppListResp API response |
362 // Internalize response message |
334 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
363 TUint32 trId; |
335 CleanupStack::PushL( respMsg ); |
364 TUint32 dataSize; |
336 RDesReadStream respStream( msgPtr ); |
365 err = InternalizeRespL( msgPtr, trId, dataSize ); |
337 CleanupClosePushL( respStream ); |
366 if ( !err && dataSize ) |
338 respMsg->InternalizeHeaderL( respStream ); |
|
339 CleanupStack::PopAndDestroy( &respStream ); |
|
340 err = respMsg->Status(); |
|
341 if ( !err ) |
|
342 { |
367 { |
343 if ( respMsg->DataSize() ) |
368 // Internalize API response data |
344 { |
369 err = InternalizeContentInfoArrayL( aArray, trId, dataSize ); |
345 // Get API response data |
|
346 HBufC8* dataBuf = HBufC8::NewL( respMsg->DataSize() ); |
|
347 CleanupStack::PushL( dataBuf ); |
|
348 TPtr8 dataPtr( NULL, 0 ); |
|
349 dataPtr.Set( dataBuf->Des() ); |
|
350 TPckgBuf<TUint32> trId( respMsg->TrId() ); |
|
351 err = iSession.GetMsgData( trId, dataPtr ); |
|
352 if ( !err ) |
|
353 { |
|
354 // Internalize API response data |
|
355 RDesReadStream dataStream( dataPtr ); |
|
356 CleanupClosePushL( dataStream ); |
|
357 aArray.InternalizeL( dataStream ); |
|
358 CleanupStack::PopAndDestroy( &dataStream ); |
|
359 } |
|
360 CleanupStack::PopAndDestroy( dataBuf ); |
|
361 } |
|
362 } |
370 } |
363 CleanupStack::PopAndDestroy( respMsg ); |
|
364 } |
371 } |
365 |
372 |
366 // Cleanup |
373 // Cleanup |
367 CleanupStack::PopAndDestroy( msgBuf ); |
374 CleanupStack::PopAndDestroy( msgBuf ); |
368 CleanupStack::PopAndDestroy( reqMsg ); |
375 CleanupStack::PopAndDestroy( reqMsg ); |
407 TPckgBuf<TUint32> receiver; |
414 TPckgBuf<TUint32> receiver; |
408 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
415 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
409 |
416 |
410 if ( !err ) |
417 if ( !err ) |
411 { |
418 { |
412 // Internalize AddWidgetResp API response |
419 // Internalize response message |
413 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
420 TUint32 trId; |
414 CleanupStack::PushL( respMsg ); |
421 TUint32 dataSize; |
415 RDesReadStream respStream( msgPtr ); |
422 err = InternalizeRespL( msgPtr, trId, dataSize ); |
416 CleanupClosePushL( respStream ); |
|
417 respMsg->InternalizeHeaderL( respStream ); |
|
418 CleanupStack::PopAndDestroy( &respStream ); |
|
419 err = respMsg->Status(); |
|
420 CleanupStack::PopAndDestroy( respMsg ); |
|
421 } |
423 } |
422 |
424 |
423 // Cleanup |
425 // Cleanup |
424 CleanupStack::PopAndDestroy( msgBuf ); |
426 CleanupStack::PopAndDestroy( msgBuf ); |
425 CleanupStack::PopAndDestroy( reqMsg ); |
427 CleanupStack::PopAndDestroy( reqMsg ); |
464 TPckgBuf<TUint32> receiver; |
466 TPckgBuf<TUint32> receiver; |
465 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
467 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
466 |
468 |
467 if ( !err ) |
469 if ( !err ) |
468 { |
470 { |
469 // Internalize RemoveWidgetResp API response |
471 // Internalize response message |
470 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
472 TUint32 trId; |
471 CleanupStack::PushL( respMsg ); |
473 TUint32 dataSize; |
472 RDesReadStream respStream( msgPtr ); |
474 err = InternalizeRespL( msgPtr, trId, dataSize ); |
473 CleanupClosePushL( respStream ); |
|
474 respMsg->InternalizeHeaderL( respStream ); |
|
475 CleanupStack::PopAndDestroy( &respStream ); |
|
476 err = respMsg->Status(); |
|
477 CleanupStack::PopAndDestroy( respMsg ); |
|
478 } |
475 } |
479 |
476 |
480 // Cleanup |
477 // Cleanup |
481 CleanupStack::PopAndDestroy( msgBuf ); |
478 CleanupStack::PopAndDestroy( msgBuf ); |
482 CleanupStack::PopAndDestroy( reqMsg ); |
479 CleanupStack::PopAndDestroy( reqMsg ); |
521 TPckgBuf<TUint32> receiver; |
518 TPckgBuf<TUint32> receiver; |
522 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
519 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
523 |
520 |
524 if ( !err ) |
521 if ( !err ) |
525 { |
522 { |
526 // Internalize AddViewResp API response |
523 // Internalize response message |
527 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
524 TUint32 trId; |
528 CleanupStack::PushL( respMsg ); |
525 TUint32 dataSize; |
529 RDesReadStream respStream( msgPtr ); |
526 err = InternalizeRespL( msgPtr, trId, dataSize ); |
530 CleanupClosePushL( respStream ); |
|
531 respMsg->InternalizeHeaderL( respStream ); |
|
532 CleanupStack::PopAndDestroy( &respStream ); |
|
533 err = respMsg->Status(); |
|
534 CleanupStack::PopAndDestroy( respMsg ); |
|
535 } |
527 } |
536 |
528 |
537 // Cleanup |
529 // Cleanup |
538 CleanupStack::PopAndDestroy( msgBuf ); |
530 CleanupStack::PopAndDestroy( msgBuf ); |
539 CleanupStack::PopAndDestroy( reqMsg ); |
531 CleanupStack::PopAndDestroy( reqMsg ); |
578 TPckgBuf<TUint32> receiver; |
570 TPckgBuf<TUint32> receiver; |
579 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
571 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
580 |
572 |
581 if ( !err ) |
573 if ( !err ) |
582 { |
574 { |
583 // Internalize RemoveViewResp API response |
575 // Internalize response message |
584 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
576 TUint32 trId; |
585 CleanupStack::PushL( respMsg ); |
577 TUint32 dataSize; |
586 RDesReadStream respStream( msgPtr ); |
578 err = InternalizeRespL( msgPtr, trId, dataSize ); |
587 CleanupClosePushL( respStream ); |
|
588 respMsg->InternalizeHeaderL( respStream ); |
|
589 CleanupStack::PopAndDestroy( &respStream ); |
|
590 err = respMsg->Status(); |
|
591 CleanupStack::PopAndDestroy( respMsg ); |
|
592 } |
579 } |
593 |
580 |
594 // Cleanup |
581 // Cleanup |
595 CleanupStack::PopAndDestroy( msgBuf ); |
582 CleanupStack::PopAndDestroy( msgBuf ); |
596 CleanupStack::PopAndDestroy( reqMsg ); |
583 CleanupStack::PopAndDestroy( reqMsg ); |
635 TPckgBuf<TUint32> receiver; |
622 TPckgBuf<TUint32> receiver; |
636 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
623 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
637 |
624 |
638 if ( !err ) |
625 if ( !err ) |
639 { |
626 { |
640 // Internalize ActivateViewResp API response |
627 // Internalize response message |
641 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
628 TUint32 trId; |
642 CleanupStack::PushL( respMsg ); |
629 TUint32 dataSize; |
643 RDesReadStream respStream( msgPtr ); |
630 err = InternalizeRespL( msgPtr, trId, dataSize ); |
644 CleanupClosePushL( respStream ); |
|
645 respMsg->InternalizeHeaderL( respStream ); |
|
646 CleanupStack::PopAndDestroy( &respStream ); |
|
647 err = respMsg->Status(); |
|
648 CleanupStack::PopAndDestroy( respMsg ); |
|
649 } |
631 } |
650 |
632 |
651 // Cleanup |
633 // Cleanup |
652 CleanupStack::PopAndDestroy( msgBuf ); |
634 CleanupStack::PopAndDestroy( msgBuf ); |
653 CleanupStack::PopAndDestroy( reqMsg ); |
635 CleanupStack::PopAndDestroy( reqMsg ); |
692 TPckgBuf<TUint32> receiver; |
674 TPckgBuf<TUint32> receiver; |
693 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
675 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
694 |
676 |
695 if ( !err ) |
677 if ( !err ) |
696 { |
678 { |
697 // Internalize ActivateAppResp API response |
679 // Internalize response message |
698 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
680 TUint32 trId; |
699 CleanupStack::PushL( respMsg ); |
681 TUint32 dataSize; |
700 RDesReadStream respStream( msgPtr ); |
682 err = InternalizeRespL( msgPtr, trId, dataSize ); |
701 CleanupClosePushL( respStream ); |
|
702 respMsg->InternalizeHeaderL( respStream ); |
|
703 CleanupStack::PopAndDestroy( &respStream ); |
|
704 err = respMsg->Status(); |
|
705 CleanupStack::PopAndDestroy( respMsg ); |
|
706 } |
683 } |
707 |
684 |
708 // Cleanup |
685 // Cleanup |
709 CleanupStack::PopAndDestroy( msgBuf ); |
686 CleanupStack::PopAndDestroy( msgBuf ); |
710 CleanupStack::PopAndDestroy( reqMsg ); |
687 CleanupStack::PopAndDestroy( reqMsg ); |
741 TPckgBuf<TUint32> receiver; |
718 TPckgBuf<TUint32> receiver; |
742 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
719 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
743 |
720 |
744 if ( !err ) |
721 if ( !err ) |
745 { |
722 { |
746 // Internalize AppListResp API response |
723 // Internalize response message |
747 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
724 TUint32 trId; |
748 CleanupStack::PushL( respMsg ); |
725 TUint32 dataSize; |
749 RDesReadStream respStream( msgPtr ); |
726 err = InternalizeRespL( msgPtr, trId, dataSize ); |
750 CleanupClosePushL( respStream ); |
727 if ( !err && dataSize ) |
751 respMsg->InternalizeHeaderL( respStream ); |
|
752 CleanupStack::PopAndDestroy( &respStream ); |
|
753 err = respMsg->Status(); |
|
754 if ( !err ) |
|
755 { |
728 { |
756 if ( respMsg->DataSize() ) |
729 // Internalize API response data |
757 { |
730 err = InternalizeContentInfoL( aInfo, trId, dataSize ); |
758 // Get API response data |
|
759 HBufC8* dataBuf = HBufC8::NewL( respMsg->DataSize() ); |
|
760 CleanupStack::PushL( dataBuf ); |
|
761 TPtr8 dataPtr( NULL, 0 ); |
|
762 dataPtr.Set( dataBuf->Des() ); |
|
763 TPckgBuf<TUint32> trId( respMsg->TrId() ); |
|
764 err = iSession.GetMsgData( trId, dataPtr ); |
|
765 if ( !err ) |
|
766 { |
|
767 // Internalize API response data |
|
768 RDesReadStream dataStream( dataPtr ); |
|
769 CleanupClosePushL( dataStream ); |
|
770 aInfo.InternalizeL( dataStream ); |
|
771 CleanupStack::PopAndDestroy( &dataStream ); |
|
772 } |
|
773 CleanupStack::PopAndDestroy( dataBuf ); |
|
774 } |
|
775 } |
731 } |
776 CleanupStack::PopAndDestroy( respMsg ); |
|
777 } |
732 } |
778 |
733 |
779 // Cleanup |
734 // Cleanup |
780 CleanupStack::PopAndDestroy( msgBuf ); |
735 CleanupStack::PopAndDestroy( msgBuf ); |
781 CleanupStack::PopAndDestroy( reqMsg ); |
736 CleanupStack::PopAndDestroy( reqMsg ); |
812 TPckgBuf<TUint32> receiver; |
767 TPckgBuf<TUint32> receiver; |
813 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
768 err = iSession.Send( ECcApiReq, provider, sender, receiver, msgPtr ); |
814 |
769 |
815 if ( !err ) |
770 if ( !err ) |
816 { |
771 { |
817 // Internalize AppListResp API response |
772 // Internalize response message |
818 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
773 TUint32 trId; |
819 CleanupStack::PushL( respMsg ); |
774 TUint32 dataSize; |
820 RDesReadStream respStream( msgPtr ); |
775 err = InternalizeRespL( msgPtr, trId, dataSize ); |
821 CleanupClosePushL( respStream ); |
776 if ( !err && dataSize ) |
822 respMsg->InternalizeHeaderL( respStream ); |
|
823 CleanupStack::PopAndDestroy( &respStream ); |
|
824 err = respMsg->Status(); |
|
825 if ( !err ) |
|
826 { |
777 { |
827 if ( respMsg->DataSize() ) |
778 // Internalize API response data |
828 { |
779 err = InternalizeContentInfoL( aInfo, trId, dataSize ); |
829 // Get API response data |
|
830 HBufC8* dataBuf = HBufC8::NewL( respMsg->DataSize() ); |
|
831 CleanupStack::PushL( dataBuf ); |
|
832 TPtr8 dataPtr( NULL, 0 ); |
|
833 dataPtr.Set( dataBuf->Des() ); |
|
834 TPckgBuf<TUint32> trId( respMsg->TrId() ); |
|
835 err = iSession.GetMsgData( trId, dataPtr ); |
|
836 if ( !err ) |
|
837 { |
|
838 // Internalize API response data |
|
839 RDesReadStream dataStream( dataPtr ); |
|
840 CleanupClosePushL( dataStream ); |
|
841 aInfo.InternalizeL( dataStream ); |
|
842 CleanupStack::PopAndDestroy( &dataStream ); |
|
843 } |
|
844 CleanupStack::PopAndDestroy( dataBuf ); |
|
845 } |
|
846 } |
780 } |
847 CleanupStack::PopAndDestroy( respMsg ); |
|
848 } |
781 } |
849 |
782 |
850 // Cleanup |
783 // Cleanup |
851 CleanupStack::PopAndDestroy( msgBuf ); |
784 CleanupStack::PopAndDestroy( msgBuf ); |
852 CleanupStack::PopAndDestroy( reqMsg ); |
785 CleanupStack::PopAndDestroy( reqMsg ); |
876 iSession.WaitForApiNtf( provider, iPckgSender, iPckgReceiver, iApiHeaderPtr, iStatus ); |
809 iSession.WaitForApiNtf( provider, iPckgSender, iPckgReceiver, iApiHeaderPtr, iStatus ); |
877 SetActive(); |
810 SetActive(); |
878 |
811 |
879 } |
812 } |
880 |
813 |
|
814 // ----------------------------------------------------------------------------- |
|
815 // CHsCcApiClient::InternalizeRespL() |
|
816 // ----------------------------------------------------------------------------- |
|
817 // |
|
818 TInt CHsCcApiClient::InternalizeRespL( |
|
819 TPtr8& aResp, TUint32& aTrId, TUint32& aDataSize ) |
|
820 { |
|
821 TInt err( KErrNone ); |
|
822 |
|
823 CCcSrvMsg* respMsg = CCcSrvMsg::NewL(); |
|
824 CleanupStack::PushL( respMsg ); |
|
825 RDesReadStream respStream( aResp ); |
|
826 CleanupClosePushL( respStream ); |
|
827 respMsg->InternalizeHeaderL( respStream ); |
|
828 CleanupStack::PopAndDestroy( &respStream ); |
|
829 err = respMsg->Status(); |
|
830 aTrId = respMsg->TrId(); |
|
831 aDataSize = respMsg->DataSize(); |
|
832 CleanupStack::PopAndDestroy( respMsg ); |
|
833 |
|
834 return err; |
|
835 } |
|
836 |
|
837 // ----------------------------------------------------------------------------- |
|
838 // CHsCcApiClient::InternalizeContentInfoL() |
|
839 // ----------------------------------------------------------------------------- |
|
840 // |
|
841 TInt CHsCcApiClient::InternalizeContentInfoL( |
|
842 CHsContentInfo& aInfo, TUint32 aTrId, TUint32 aDataSize ) |
|
843 { |
|
844 TInt err( KErrNone ); |
|
845 |
|
846 HBufC8* dataBuf = HBufC8::NewL( aDataSize ); |
|
847 CleanupStack::PushL( dataBuf ); |
|
848 TPtr8 dataPtr( NULL, 0 ); |
|
849 dataPtr.Set( dataBuf->Des() ); |
|
850 TPckgBuf<TUint32> trId( aTrId ); |
|
851 err = iSession.GetMsgData( trId, dataPtr ); |
|
852 if ( !err ) |
|
853 { |
|
854 // Internalize API response data |
|
855 RDesReadStream dataStream( dataPtr ); |
|
856 CleanupClosePushL( dataStream ); |
|
857 aInfo.InternalizeL( dataStream ); |
|
858 CleanupStack::PopAndDestroy( &dataStream ); |
|
859 } |
|
860 CleanupStack::PopAndDestroy( dataBuf ); |
|
861 |
|
862 return err; |
|
863 } |
|
864 |
|
865 // ----------------------------------------------------------------------------- |
|
866 // CHsCcApiClient::InternalizeContentInfoArrayL() |
|
867 // ----------------------------------------------------------------------------- |
|
868 // |
|
869 TInt CHsCcApiClient::InternalizeContentInfoArrayL( |
|
870 CHsContentInfoArray& aInfo, TUint32 aTrId, TUint32 aDataSize ) |
|
871 { |
|
872 TInt err( KErrNone ); |
|
873 |
|
874 HBufC8* dataBuf = HBufC8::NewL( aDataSize ); |
|
875 CleanupStack::PushL( dataBuf ); |
|
876 TPtr8 dataPtr( NULL, 0 ); |
|
877 dataPtr.Set( dataBuf->Des() ); |
|
878 TPckgBuf<TUint32> trId( aTrId ); |
|
879 err = iSession.GetMsgData( trId, dataPtr ); |
|
880 if ( !err ) |
|
881 { |
|
882 // Internalize API response data |
|
883 RDesReadStream dataStream( dataPtr ); |
|
884 CleanupClosePushL( dataStream ); |
|
885 aInfo.InternalizeL( dataStream ); |
|
886 CleanupStack::PopAndDestroy( &dataStream ); |
|
887 } |
|
888 CleanupStack::PopAndDestroy( dataBuf ); |
|
889 |
|
890 return err; |
|
891 } |
|
892 |
881 // End of file |
893 // End of file |