53 * |
59 * |
54 * @param aPacketService Pointer to the Packet Service object (CSimPacketService) |
60 * @param aPacketService Pointer to the Packet Service object (CSimPacketService) |
55 * @param aContextName name for this packet context |
61 * @param aContextName name for this packet context |
56 */ |
62 */ |
57 { |
63 { |
58 LOGPACKET1("CSimMbmsPacketContext: Entered constructor"); |
64 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CTOR_1, "CSimMbmsPacketContext: Entered constructor"); |
59 iNotifyConfigMBMS.iNotifyPending = EFalse; |
65 iNotifyConfigMBMS.iNotifyPending = EFalse; |
60 iNotifyStatusChange.iNotifyPending = EFalse; |
66 iNotifyStatusChange.iNotifyPending = EFalse; |
61 } |
67 } |
62 |
68 |
63 void CSimMbmsPacketContext::ConstructL() |
69 void CSimMbmsPacketContext::ConstructL() |
66 * Constructs all the member data and retrieves all the data from the config file specific to this class. |
72 * Constructs all the member data and retrieves all the data from the config file specific to this class. |
67 * |
73 * |
68 * @leave Leaves no memory or any data member does not construct for any reason. |
74 * @leave Leaves no memory or any data member does not construct for any reason. |
69 */ |
75 */ |
70 { |
76 { |
71 LOGPACKET1("CSimMbmsPacketContext: Entered constructL function"); |
77 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CONSTRUCTL_1, "CSimMbmsPacketContext: Entered constructL function"); |
72 CSimPacketContext::ConstructL(); |
78 CSimPacketContext::ConstructL(); |
73 |
79 |
74 iMbmsSetConfigTimer = CSimTimer::NewL(iPhone); |
80 iMbmsSetConfigTimer = CSimTimer::NewL(iPhone); |
75 iMbmsContextTimer = CSimTimer::NewL(iPhone); |
81 iMbmsContextTimer = CSimTimer::NewL(iPhone); |
76 iMbmsUpdateSessionTimer = CSimTimer::NewL(iPhone); |
82 iMbmsUpdateSessionTimer = CSimTimer::NewL(iPhone); |
197 * Trivial Destructor |
203 * Trivial Destructor |
198 * Closes all CObject type objects and destroys all other objects created in the ConstructL() |
204 * Closes all CObject type objects and destroys all other objects created in the ConstructL() |
199 * |
205 * |
200 */ |
206 */ |
201 { |
207 { |
202 LOGPACKET1("CSimMbmsPacketContext: Entered destructor"); |
208 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DTOR_1, "CSimMbmsPacketContext: Entered destructor"); |
203 |
209 |
204 if (iMbmsSetConfigTimer != NULL) |
210 if (iMbmsSetConfigTimer != NULL) |
205 { |
211 { |
206 delete iMbmsSetConfigTimer; |
212 delete iMbmsSetConfigTimer; |
207 } |
213 } |
255 * @param aName name of the QoS object to be opened |
261 * @param aName name of the QoS object to be opened |
256 * @leave Leaves with KErrNotSupported if the name is not as expected. |
262 * @leave Leaves with KErrNotSupported if the name is not as expected. |
257 * @ return NULL. |
263 * @ return NULL. |
258 */ |
264 */ |
259 { |
265 { |
260 LOGPACKET1("Unexpected call to CSimMbmsPacketContext: OpenNewObjectByName"); |
266 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_OPENNEWOBJECTBYNAMEL_1, "Unexpected call to CSimMbmsPacketContext: OpenNewObjectByName"); |
261 User::Leave(KErrNotSupported); |
267 User::Leave(KErrNotSupported); |
262 return NULL; |
268 return NULL; |
263 } |
269 } |
264 |
270 |
265 CTelObject* CSimMbmsPacketContext::OpenNewObjectL(TDes& /*aNewName*/) |
271 CTelObject* CSimMbmsPacketContext::OpenNewObjectL(TDes& /*aNewName*/) |
270 * @param aNewName new name of the object created |
276 * @param aNewName new name of the object created |
271 * @return NULL |
277 * @return NULL |
272 * @leave Leaves if out of memory. |
278 * @leave Leaves if out of memory. |
273 */ |
279 */ |
274 { |
280 { |
275 LOGPACKET1("Unexpected call to CSimMbmsPacketContext: OpenNewObjectL"); |
281 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_OPENNEWOBJECTL_1, "Unexpected call to CSimMbmsPacketContext: OpenNewObjectL"); |
276 User::Leave(KErrNotSupported); |
282 User::Leave(KErrNotSupported); |
277 return NULL; |
283 return NULL; |
278 } |
284 } |
279 |
285 |
280 CTelObject::TReqMode CSimMbmsPacketContext::ReqModeL(const TInt aIpc) |
286 CTelObject::TReqMode CSimMbmsPacketContext::ReqModeL(const TInt aIpc) |
285 * @param aIpc the ipc number that identifies the client request |
291 * @param aIpc the ipc number that identifies the client request |
286 * @return CTelObject::TReqMode The request mode to be used for this request |
292 * @return CTelObject::TReqMode The request mode to be used for this request |
287 * @leave Leaves if not supported by this tsy |
293 * @leave Leaves if not supported by this tsy |
288 */ |
294 */ |
289 { |
295 { |
290 LOGPACKET1("CSimMbmsPacketContext: ReqModeL"); |
296 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_REQMODEL_1, "CSimMbmsPacketContext: ReqModeL"); |
291 CTelObject::TReqMode ret=0; |
297 CTelObject::TReqMode ret=0; |
292 switch (aIpc) |
298 switch (aIpc) |
293 { |
299 { |
294 case EPacketContextGetConfig: |
300 case EPacketContextGetConfig: |
295 case EPacketContextSetConfig: |
301 case EPacketContextSetConfig: |
308 case EPacketContextNotifyStatusChange: |
314 case EPacketContextNotifyStatusChange: |
309 case EPacketContextNotifyDataTransferred: |
315 case EPacketContextNotifyDataTransferred: |
310 ret=KReqModeMultipleCompletionEnabled | KReqModeRePostImmediately; |
316 ret=KReqModeMultipleCompletionEnabled | KReqModeRePostImmediately; |
311 break; |
317 break; |
312 default: |
318 default: |
313 LOGPACKET1("CSimMbmsPacketContext: ReqModeL error, unknown IPC"); |
319 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_REQMODEL_2, "CSimMbmsPacketContext: ReqModeL error, unknown IPC"); |
314 LOGPACKET1("CSimMbmsPacketContext: ReqModeL sending the request to CSimPacketContext"); |
320 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_REQMODEL_3, "CSimMbmsPacketContext: ReqModeL sending the request to CSimPacketContext"); |
315 ret = CSimPacketContext::ReqModeL(aIpc); |
321 ret = CSimPacketContext::ReqModeL(aIpc); |
316 break; |
322 break; |
317 } |
323 } |
318 return ret; |
324 return ret; |
319 } |
325 } |
328 * |
334 * |
329 * @param aIpc the ipc number that identifies the client request |
335 * @param aIpc the ipc number that identifies the client request |
330 * @return err KErrNone if fine |
336 * @return err KErrNone if fine |
331 */ |
337 */ |
332 { |
338 { |
333 LOGPACKET1("CSimMbmsPacketContext: RegisterNotification called"); |
339 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_REGISTERNOTIFICATION_1, "CSimMbmsPacketContext: RegisterNotification called"); |
334 switch (aIpc) |
340 switch (aIpc) |
335 { |
341 { |
336 case EPacketContextNotifyConfigChanged: |
342 case EPacketContextNotifyConfigChanged: |
337 case EPacketContextNotifyStatusChange: |
343 case EPacketContextNotifyStatusChange: |
338 case EPacketContextNotifyDataTransferred: |
344 case EPacketContextNotifyDataTransferred: |
339 LOGPACKET1("CSimMbmsPacketContext: RegisterNotification"); |
345 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_REGISTERNOTIFICATION_2, "CSimMbmsPacketContext: RegisterNotification"); |
340 return KErrNone; |
346 return KErrNone; |
341 default: |
347 default: |
342 // Unknown or invalid IPC |
348 // Unknown or invalid IPC |
343 LOGPACKET1("CSimMbmsPacketContext: Register error, unknown IPC"); |
349 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_REGISTERNOTIFICATION_3, "CSimMbmsPacketContext: Register error, unknown IPC"); |
344 LOGPACKET1("CSimMbmsPacketContext: Register sending the request to CSimPacketContext"); |
350 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_REGISTERNOTIFICATION_4, "CSimMbmsPacketContext: Register sending the request to CSimPacketContext"); |
345 return CSimPacketContext::RegisterNotification(aIpc); |
351 return CSimPacketContext::RegisterNotification(aIpc); |
346 } |
352 } |
347 } |
353 } |
348 |
354 |
349 TInt CSimMbmsPacketContext::DeregisterNotification(const TInt aIpc) |
355 TInt CSimMbmsPacketContext::DeregisterNotification(const TInt aIpc) |
357 * |
363 * |
358 * @param aIpc the ipc number that identifies the client request |
364 * @param aIpc the ipc number that identifies the client request |
359 * @return err KErrNone if fine |
365 * @return err KErrNone if fine |
360 */ |
366 */ |
361 { |
367 { |
362 LOGPACKET1("CSimMbmsPacketContext: DeregisterNotification called"); |
368 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DEREGISTERNOTIFICATION_1, "CSimMbmsPacketContext: DeregisterNotification called"); |
363 switch (aIpc) |
369 switch (aIpc) |
364 { |
370 { |
365 case EPacketContextNotifyConfigChanged: |
371 case EPacketContextNotifyConfigChanged: |
366 case EPacketContextNotifyStatusChange: |
372 case EPacketContextNotifyStatusChange: |
367 case EPacketContextNotifyDataTransferred: |
373 case EPacketContextNotifyDataTransferred: |
368 LOGPACKET1("CSimMbmsPacketContext: DeregisterNotification"); |
374 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DEREGISTERNOTIFICATION_2, "CSimMbmsPacketContext: DeregisterNotification"); |
369 return KErrNone; |
375 return KErrNone; |
370 default: |
376 default: |
371 // Unknown or invalid IPC |
377 // Unknown or invalid IPC |
372 LOGPACKET1("CSimMbmsPacketContext: Deregister error, unknown IPC"); |
378 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DEREGISTERNOTIFICATION_3, "CSimMbmsPacketContext: Deregister error, unknown IPC"); |
373 LOGPACKET1("CSimMbmsPacketContext: Deregister sending the request to CSimPacketContext"); |
379 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DEREGISTERNOTIFICATION_4, "CSimMbmsPacketContext: Deregister sending the request to CSimPacketContext"); |
374 return CSimPacketContext::DeregisterNotification(aIpc); |
380 return CSimPacketContext::DeregisterNotification(aIpc); |
375 } |
381 } |
376 } |
382 } |
377 |
383 |
378 TInt CSimMbmsPacketContext::NumberOfSlotsL(const TInt aIpc) |
384 TInt CSimMbmsPacketContext::NumberOfSlotsL(const TInt aIpc) |
383 * |
389 * |
384 * @param aIpc the ipc number that identifies the client request |
390 * @param aIpc the ipc number that identifies the client request |
385 * @return err KErrNone if fine |
391 * @return err KErrNone if fine |
386 */ |
392 */ |
387 { |
393 { |
388 LOGPACKET1("CSimMbmsPacketContext: NumberOfSlotsL called"); |
394 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NUMBEROFSLOTSL_1, "CSimMbmsPacketContext: NumberOfSlotsL called"); |
389 TInt numberOfSlots=1; |
395 TInt numberOfSlots=1; |
390 switch (aIpc) |
396 switch (aIpc) |
391 { |
397 { |
392 case EPacketContextNotifyConfigChanged: |
398 case EPacketContextNotifyConfigChanged: |
393 case EPacketContextNotifyStatusChange: |
399 case EPacketContextNotifyStatusChange: |
394 case EPacketContextNotifyDataTransferred: |
400 case EPacketContextNotifyDataTransferred: |
395 LOGPACKET1("CSimMbmsPacketContext: Registered with 5 slots"); |
401 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NUMBEROFSLOTSL_2, "CSimMbmsPacketContext: Registered with 5 slots"); |
396 numberOfSlots=5; |
402 numberOfSlots=5; |
397 break; |
403 break; |
398 default: |
404 default: |
399 // Unknown or invalid IPC |
405 // Unknown or invalid IPC |
400 LOGPACKET1("CSimMbmsPacketContext: Number of Slots error, unknown IPC"); |
406 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NUMBEROFSLOTSL_3, "CSimMbmsPacketContext: Number of Slots error, unknown IPC"); |
401 LOGPACKET1("CSimMbmsPacketContext: Number of Slots: sending the request to CSimPacketContext"); |
407 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NUMBEROFSLOTSL_4, "CSimMbmsPacketContext: Number of Slots: sending the request to CSimPacketContext"); |
402 return CSimPacketContext::NumberOfSlotsL(aIpc); |
408 return CSimPacketContext::NumberOfSlotsL(aIpc); |
403 } |
409 } |
404 return numberOfSlots; |
410 return numberOfSlots; |
405 } |
411 } |
406 |
412 |
423 if(iDeleted && (aIpc != EPacketContextGetStatus)) |
429 if(iDeleted && (aIpc != EPacketContextGetStatus)) |
424 { |
430 { |
425 ReqCompleted(aTsyReqHandle,KErrNotReady); |
431 ReqCompleted(aTsyReqHandle,KErrNotReady); |
426 return KErrNone; |
432 return KErrNone; |
427 } |
433 } |
428 LOGPACKET1("CSimMbmsPacketContext: ExtFunc Called"); |
434 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_EXTFUNC_1, "CSimMbmsPacketContext: ExtFunc Called"); |
429 TAny* dataPtr=aPackage.Ptr1(); |
435 TAny* dataPtr=aPackage.Ptr1(); |
430 TAny* dataPtr2=aPackage.Ptr2(); |
436 TAny* dataPtr2=aPackage.Ptr2(); |
431 |
437 |
432 switch (aIpc) |
438 switch (aIpc) |
433 { |
439 { |
442 case EPacketContextActivate: |
448 case EPacketContextActivate: |
443 { //< Ensures that theres only one context active as only one active context is |
449 { //< Ensures that theres only one context active as only one active context is |
444 //<permitted at any one time |
450 //<permitted at any one time |
445 if(iIsActive) |
451 if(iIsActive) |
446 { |
452 { |
447 LOGPACKET1("Trying to activate an already activated context"); |
453 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_EXTFUNC_2, "Trying to activate an already activated context"); |
448 ReqCompleted(aTsyReqHandle,KErrEtelCallAlreadyActive); |
454 ReqCompleted(aTsyReqHandle,KErrEtelCallAlreadyActive); |
449 return KErrNone; |
455 return KErrNone; |
450 } |
456 } |
451 else |
457 else |
452 return Activate(aTsyReqHandle); |
458 return Activate(aTsyReqHandle); |
490 REINTERPRET_CAST(TInt*, dataPtr2)); |
496 REINTERPRET_CAST(TInt*, dataPtr2)); |
491 case EPacketGetMbmsSessionListPhase2: |
497 case EPacketGetMbmsSessionListPhase2: |
492 return GetMbmsSessionsPhase2(aTsyReqHandle, |
498 return GetMbmsSessionsPhase2(aTsyReqHandle, |
493 REINTERPRET_CAST(TClientId*, dataPtr), aPackage.Des2n()); |
499 REINTERPRET_CAST(TClientId*, dataPtr), aPackage.Des2n()); |
494 default: |
500 default: |
495 LOGPACKET1("CSimMbmsPacketContext: ExtFunc Unknown IPC"); |
501 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_EXTFUNC_3, "CSimMbmsPacketContext: ExtFunc Unknown IPC"); |
496 LOGPACKET1("CSimMbmsPacketContext: sending the request to CSimPacketContext::ExtFunc Unknown IPC"); |
502 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_EXTFUNC_4, "CSimMbmsPacketContext: sending the request to CSimPacketContext::ExtFunc Unknown IPC"); |
497 return CSimPacketContext::ExtFunc(aTsyReqHandle,aIpc,aPackage); |
503 return CSimPacketContext::ExtFunc(aTsyReqHandle,aIpc,aPackage); |
498 } |
504 } |
499 } |
505 } |
500 |
506 |
501 TInt CSimMbmsPacketContext::CancelService(const TInt aIpc,const TTsyReqHandle aTsyReqHandle) |
507 TInt CSimMbmsPacketContext::CancelService(const TInt aIpc,const TTsyReqHandle aTsyReqHandle) |
507 * @param aTsyReqHandle The request handle for completing the request |
513 * @param aTsyReqHandle The request handle for completing the request |
508 * @param aIpc Ipc representing the request |
514 * @param aIpc Ipc representing the request |
509 * @return err KErrNone if request completes ok |
515 * @return err KErrNone if request completes ok |
510 */ |
516 */ |
511 { |
517 { |
512 LOGPACKET1("CSimMbmsPacketContext: - CancelService called"); |
518 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CANCELSERVICE_1, "CSimMbmsPacketContext: - CancelService called"); |
513 |
519 |
514 switch (aIpc) |
520 switch (aIpc) |
515 { |
521 { |
516 case EPacketContextSetConfig: |
522 case EPacketContextSetConfig: |
517 return SetConfigCancel(aTsyReqHandle); |
523 return SetConfigCancel(aTsyReqHandle); |
531 return InitialiseContextCancel(aTsyReqHandle); |
537 return InitialiseContextCancel(aTsyReqHandle); |
532 case EPacketGetMbmsSessionListPhase1: |
538 case EPacketGetMbmsSessionListPhase1: |
533 case EPacketGetMbmsSessionListPhase2: |
539 case EPacketGetMbmsSessionListPhase2: |
534 return GetMbmsSessionsCancel(aTsyReqHandle); |
540 return GetMbmsSessionsCancel(aTsyReqHandle); |
535 default: |
541 default: |
536 LOGPACKET1("CSimMbmsPacketContext: - CancelService unknown IPC called"); |
542 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CANCELSERVICE_2, "CSimMbmsPacketContext: - CancelService unknown IPC called"); |
537 LOGPACKET1("CSimMbmsPacketContext: sending the request to CSimPacketContext::ExtFunc Unknown IPC"); |
543 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CANCELSERVICE_3, "CSimMbmsPacketContext: sending the request to CSimPacketContext::ExtFunc Unknown IPC"); |
538 return CSimPacketContext::CancelService(aIpc,aTsyReqHandle); |
544 return CSimPacketContext::CancelService(aIpc,aTsyReqHandle); |
539 } |
545 } |
540 } |
546 } |
541 |
547 |
542 void CSimMbmsPacketContext::TimerCallBack(TInt aId) |
548 void CSimMbmsPacketContext::TimerCallBack(TInt aId) |
544 * Timer callback function. When the timer goes off, it will call back into this |
550 * Timer callback function. When the timer goes off, it will call back into this |
545 * function for further processing. |
551 * function for further processing. |
546 * param - aId indicates which Timer Event has occured. |
552 * param - aId indicates which Timer Event has occured. |
547 */ |
553 */ |
548 { |
554 { |
549 LOGPACKET1("CSimMbmsPacketContext: - TimerCallBack(TInt aId) called"); |
555 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_1, "CSimMbmsPacketContext: - TimerCallBack(TInt aId) called"); |
550 switch(aId) |
556 switch(aId) |
551 { |
557 { |
552 case ETimerIdMbmsPcktContextSetConfig: |
558 case ETimerIdMbmsPcktContextSetConfig: |
553 LOGPACKET1("CSimMbmsPacketContext: - TimerCallBack SetConfig called"); |
559 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_2, "CSimMbmsPacketContext: - TimerCallBack SetConfig called"); |
554 if(iSetConfigValues.iErrorValue == KErrNone) |
560 if(iSetConfigValues.iErrorValue == KErrNone) |
555 { |
561 { |
556 iMbmsContextConfigParamsIndex = iSetConfigValues.iIndex ; |
562 iMbmsContextConfigParamsIndex = iSetConfigValues.iIndex ; |
557 } |
563 } |
558 ReqCompleted(iSetConfigRequestHandle,iSetConfigValues.iErrorValue); |
564 ReqCompleted(iSetConfigRequestHandle,iSetConfigValues.iErrorValue); |
559 break; |
565 break; |
560 case ETimerIdMbmsUpdateSessionId: |
566 case ETimerIdMbmsUpdateSessionId: |
561 LOGPACKET1("CSimMbmsPacketContext: - TimerCallBack UpdateSessionID called"); |
567 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_3, "CSimMbmsPacketContext: - TimerCallBack UpdateSessionID called"); |
562 if(iUpdateSessionHandle != NULL) |
568 if(iUpdateSessionHandle != NULL) |
563 { |
569 { |
564 ReqCompleted(iUpdateSessionHandle,KErrNone); |
570 ReqCompleted(iUpdateSessionHandle,KErrNone); |
565 } |
571 } |
566 break; |
572 break; |
570 case ETimerIdPcktContextCreateTft: |
576 case ETimerIdPcktContextCreateTft: |
571 CSimPacketContext::TimerCallBack(aId); |
577 CSimPacketContext::TimerCallBack(aId); |
572 break; |
578 break; |
573 default: |
579 default: |
574 { |
580 { |
575 LOGPACKET1(">>CSimMbmsPacketContext::TimerCallBack Default Case for Context Events"); |
581 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_4, ">>CSimMbmsPacketContext::TimerCallBack Default Case for Context Events"); |
576 switch(iCurrentEvent) |
582 switch(iCurrentEvent) |
577 { |
583 { |
578 case EMbmsContextEventNone: |
584 case EMbmsContextEventNone: |
579 LOGPACKET1("TimerCallBack - iCurrentEvent = [EMbmsContextEventNone]"); |
585 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_5, "TimerCallBack - iCurrentEvent = [EMbmsContextEventNone]"); |
580 break; |
586 break; |
581 case EMbmsContextEventActivate: |
587 case EMbmsContextEventActivate: |
582 LOGPACKET1("TimerCallBack - iCurrentEvent = [EMbmsContextEventActivate]"); |
588 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_6, "TimerCallBack - iCurrentEvent = [EMbmsContextEventActivate]"); |
583 if(iState==RPacketContext::EStatusActivating) |
589 if(iState==RPacketContext::EStatusActivating) |
584 { |
590 { |
585 TInt activateValue = iMbmsContextConfigParams->At(iMbmsContextConfigParamsIndex).iActivateCode; |
591 TInt activateValue = iMbmsContextConfigParams->At(iMbmsContextConfigParamsIndex).iActivateCode; |
586 TInt ret; |
592 TInt ret; |
587 if(activateValue != KErrNone) |
593 if(activateValue != KErrNone) |
613 ReqCompleted(iNotifyConfigMBMS.iNotifyHandle,KErrNone); |
619 ReqCompleted(iNotifyConfigMBMS.iNotifyHandle,KErrNone); |
614 } |
620 } |
615 } |
621 } |
616 else |
622 else |
617 { |
623 { |
618 LOGPACKET1("Unexpected iState for iCurrentEvent[EMbmsContextEventActivate]"); |
624 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_7, "Unexpected iState for iCurrentEvent[EMbmsContextEventActivate]"); |
619 } |
625 } |
620 break; |
626 break; |
621 case EMbmsContextEventDeactivate: |
627 case EMbmsContextEventDeactivate: |
622 LOGPACKET1("TimerCallBack - iCurrentEvent = [EMbmsContextEventDeactivate]"); |
628 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_8, "TimerCallBack - iCurrentEvent = [EMbmsContextEventDeactivate]"); |
623 if(((iState == RPacketContext::EStatusInactive) || (iState == RPacketContext::EStatusDeactivating)) && |
629 if(((iState == RPacketContext::EStatusInactive) || (iState == RPacketContext::EStatusDeactivating)) && |
624 (iCurrentEvent==EMbmsContextEventDeactivate)) |
630 (iCurrentEvent==EMbmsContextEventDeactivate)) |
625 { |
631 { |
626 TInt ret=ChangeState(RPacketContext::EStatusInactive); |
632 TInt ret=ChangeState(RPacketContext::EStatusInactive); |
627 ReqCompleted(iDeactivateRequestHandle,ret); |
633 ReqCompleted(iDeactivateRequestHandle,ret); |
628 iCurrentEvent=EMbmsContextEventNone; |
634 iCurrentEvent=EMbmsContextEventNone; |
629 iIsActive = EFalse; |
635 iIsActive = EFalse; |
630 } |
636 } |
631 else |
637 else |
632 { |
638 { |
633 LOGPACKET1("Unexpected iState for iCurrentEvent[EMbmsContextEventActivate]"); |
639 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_9, "Unexpected iState for iCurrentEvent[EMbmsContextEventActivate]"); |
634 } |
640 } |
635 break; |
641 break; |
636 case EMbmsContextEventDelete: |
642 case EMbmsContextEventDelete: |
637 LOGPACKET1("TimerCallBack - iCurrentEvent = [EMbmsContextEventDelete]"); |
643 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_10, "TimerCallBack - iCurrentEvent = [EMbmsContextEventDelete]"); |
638 if(iState == RPacketContext::EStatusInactive && !iIsActive ) |
644 if(iState == RPacketContext::EStatusInactive && !iIsActive ) |
639 { |
645 { |
640 TInt ret = ChangeState(RPacketContext::EStatusDeleted); |
646 TInt ret = ChangeState(RPacketContext::EStatusDeleted); |
641 ReqCompleted(iDeleteRequestHandle,ret); |
647 ReqCompleted(iDeleteRequestHandle,ret); |
642 iCurrentEvent=EMbmsContextEventNone; |
648 iCurrentEvent=EMbmsContextEventNone; |
647 //delete request is received when the context is Not inactive. |
653 //delete request is received when the context is Not inactive. |
648 } |
654 } |
649 break; |
655 break; |
650 default: |
656 default: |
651 { |
657 { |
652 LOGPACKET1("CSimMbmsPacketContext::TimerCallBack"); |
658 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_11, "CSimMbmsPacketContext::TimerCallBack"); |
653 LOGPACKET1("<<Unexpected iCurrentEvent @ TimerCallBack"); |
659 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_TIMERCALLBACK_12, "<<Unexpected iCurrentEvent @ TimerCallBack"); |
654 break; |
660 break; |
655 } |
661 } |
656 } |
662 } |
657 } |
663 } |
658 } |
664 } |
663 * Returns the context name to the requested client |
669 * Returns the context name to the requested client |
664 * |
670 * |
665 * @return TName Name of the MBMS context |
671 * @return TName Name of the MBMS context |
666 */ |
672 */ |
667 { |
673 { |
668 LOGPACKET1("CSimMbmsPacketContext::ContextName called"); |
674 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CONTEXTNAME_1, "CSimMbmsPacketContext::ContextName called"); |
669 return iContextName; |
675 return iContextName; |
670 } |
676 } |
671 |
677 |
672 const CTestConfigSection* CSimMbmsPacketContext::CfgFile() |
678 const CTestConfigSection* CSimMbmsPacketContext::CfgFile() |
673 /** |
679 /** |
674 * Return a pointer to the Configuration File Section |
680 * Return a pointer to the Configuration File Section |
675 * |
681 * |
676 * @return CTestConfigSection pointer to the configuration file section |
682 * @return CTestConfigSection pointer to the configuration file section |
677 */ |
683 */ |
678 { |
684 { |
679 LOGPACKET1("CSimMbmsPacketContext::CfgFile called"); |
685 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CFGFILE_1, "CSimMbmsPacketContext::CfgFile called"); |
680 return iPacketService->CfgFile(); |
686 return iPacketService->CfgFile(); |
681 } |
687 } |
682 |
688 |
683 TInt CSimMbmsPacketContext::SetConfig(const TTsyReqHandle aTsyReqHandle,const TDesC8* aConfig) |
689 TInt CSimMbmsPacketContext::SetConfig(const TTsyReqHandle aTsyReqHandle,const TDesC8* aConfig) |
684 /** |
690 /** |
688 * @param aTsyReqHandle Tsy Request handle for the client request |
694 * @param aTsyReqHandle Tsy Request handle for the client request |
689 * @param aConfig pointer containing the parameters to set to. |
695 * @param aConfig pointer containing the parameters to set to. |
690 * @return KErrNone |
696 * @return KErrNone |
691 */ |
697 */ |
692 { |
698 { |
693 LOGPACKET1("CSimMbmsPacketContext::SetConfig called"); |
699 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_SETCONFIG_1, "CSimMbmsPacketContext::SetConfig called"); |
694 |
700 |
695 TPckg<TPacketDataConfigBase>* configBase = (TPckg<TPacketDataConfigBase>*)aConfig; |
701 TPckg<TPacketDataConfigBase>* configBase = (TPckg<TPacketDataConfigBase>*)aConfig; |
696 TPacketDataConfigBase& configBaseV1 = (*configBase)(); |
702 TPacketDataConfigBase& configBaseV1 = (*configBase)(); |
697 iSetConfigRequestHandle = aTsyReqHandle; |
703 iSetConfigRequestHandle = aTsyReqHandle; |
698 TInt err = KErrCorrupt; |
704 TInt err = KErrCorrupt; |
778 * @param aTsyReqHandle Tsy Request handle for the client request |
784 * @param aTsyReqHandle Tsy Request handle for the client request |
779 * @param aConfig pointer to the configuration params to retrieve |
785 * @param aConfig pointer to the configuration params to retrieve |
780 * @return KErrNone |
786 * @return KErrNone |
781 */ |
787 */ |
782 { |
788 { |
783 LOGPACKET1("CSimMbmsPacketContext::GetConfig called"); |
789 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_GETCONFIG_1, "CSimMbmsPacketContext::GetConfig called"); |
784 TPckg<TPacketDataConfigBase>* configBase = (TPckg<TPacketDataConfigBase>*)aConfig; |
790 TPckg<TPacketDataConfigBase>* configBase = (TPckg<TPacketDataConfigBase>*)aConfig; |
785 TPacketDataConfigBase& configBaseV1 = (*configBase)(); |
791 TPacketDataConfigBase& configBaseV1 = (*configBase)(); |
786 |
792 |
787 if(configBaseV1.ExtensionId()==TPacketDataConfigBase::KConfigMBMS) |
793 if(configBaseV1.ExtensionId()==TPacketDataConfigBase::KConfigMBMS) |
788 { |
794 { |
814 * |
820 * |
815 * @param aTsyReqHandle Tsy Request handle for the client request |
821 * @param aTsyReqHandle Tsy Request handle for the client request |
816 * @return err KErrNone |
822 * @return err KErrNone |
817 */ |
823 */ |
818 { |
824 { |
819 LOGPACKET1("CSimMbmsPacketContext::GetConfigCancel called"); |
825 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_GETCONFIGCANCEL_1, "CSimMbmsPacketContext::GetConfigCancel called"); |
820 return KErrNone; |
826 return KErrNone; |
821 } |
827 } |
822 |
828 |
823 TInt CSimMbmsPacketContext::GetStatus(const TTsyReqHandle aTsyReqHandle,RPacketContext::TContextStatus* aContextStatus) |
829 TInt CSimMbmsPacketContext::GetStatus(const TTsyReqHandle aTsyReqHandle,RPacketContext::TContextStatus* aContextStatus) |
824 /** |
830 /** |
827 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
833 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
828 * @param aContextStatus pointer to the status of the mbms packet context. |
834 * @param aContextStatus pointer to the status of the mbms packet context. |
829 * @return KerrNone |
835 * @return KerrNone |
830 */ |
836 */ |
831 { |
837 { |
832 LOGPACKET1("CSimMbmsPacketContext::GetStatus called"); |
838 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_GETSTATUS_1, "CSimMbmsPacketContext::GetStatus called"); |
833 *aContextStatus = iState; |
839 *aContextStatus = iState; |
834 ReqCompleted(aTsyReqHandle,KErrNone); |
840 ReqCompleted(aTsyReqHandle,KErrNone); |
835 return KErrNone; |
841 return KErrNone; |
836 } |
842 } |
837 |
843 |
861 * |
867 * |
862 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
868 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
863 * @return KErrNone |
869 * @return KErrNone |
864 */ |
870 */ |
865 { |
871 { |
866 LOGPACKET1("CSimMbmsPacketContext::ActivateCancel called"); |
872 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_ACTIVATECANCEL_1, "CSimMbmsPacketContext::ActivateCancel called"); |
867 iMbmsContextTimer->Cancel(); |
873 iMbmsContextTimer->Cancel(); |
868 if(((iState == RPacketContext::EStatusInactive) || (iState == RPacketContext::EStatusActivating)) && |
874 if(((iState == RPacketContext::EStatusInactive) || (iState == RPacketContext::EStatusActivating)) && |
869 (iCurrentEvent==EMbmsContextEventActivate)) |
875 (iCurrentEvent==EMbmsContextEventActivate)) |
870 { |
876 { |
871 iCurrentEvent= EMbmsContextEventNone; |
877 iCurrentEvent= EMbmsContextEventNone; |
900 * |
906 * |
901 * @param aTsyReqHandle Tsy Request handle for the client request |
907 * @param aTsyReqHandle Tsy Request handle for the client request |
902 * @return KErrNone |
908 * @return KErrNone |
903 */ |
909 */ |
904 { |
910 { |
905 LOGPACKET1("CSimMbmsPacketContext::Deactivate called"); |
911 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DEACTIVATE_1, "CSimMbmsPacketContext::Deactivate called"); |
906 iDeactivateRequestHandle = aTsyReqHandle; |
912 iDeactivateRequestHandle = aTsyReqHandle; |
907 TInt ret = ActionEvent(EMbmsContextEventDeactivate); |
913 TInt ret = ActionEvent(EMbmsContextEventDeactivate); |
908 return ret; |
914 return ret; |
909 } |
915 } |
910 |
916 |
917 * |
923 * |
918 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
924 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
919 * @return KErrNone |
925 * @return KErrNone |
920 */ |
926 */ |
921 { |
927 { |
922 LOGPACKET1("CSimMbmsPacketContext::DeactivateCancel called"); |
928 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DEACTIVATECANCEL_1, "CSimMbmsPacketContext::DeactivateCancel called"); |
923 iMbmsContextTimer->Cancel(); |
929 iMbmsContextTimer->Cancel(); |
924 if(((iState == RPacketContext::EStatusInactive) || (iState == RPacketContext::EStatusDeactivating)) && |
930 if(((iState == RPacketContext::EStatusInactive) || (iState == RPacketContext::EStatusDeactivating)) && |
925 (iCurrentEvent==EMbmsContextEventDeactivate)) |
931 (iCurrentEvent==EMbmsContextEventDeactivate)) |
926 { |
932 { |
927 iCurrentEvent= EMbmsContextEventNone; |
933 iCurrentEvent= EMbmsContextEventNone; |
991 * |
997 * |
992 * @param aTsyReqHandle Tsy Request handle for the client request |
998 * @param aTsyReqHandle Tsy Request handle for the client request |
993 * @return KErrNone |
999 * @return KErrNone |
994 */ |
1000 */ |
995 { |
1001 { |
996 LOGPACKET1("CSimMbmsPacketContext::Delete called"); |
1002 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DELETE_1, "CSimMbmsPacketContext::Delete called"); |
997 iDeleteRequestHandle = aTsyReqHandle; |
1003 iDeleteRequestHandle = aTsyReqHandle; |
998 TInt ret = ActionEvent(EMbmsContextEventDelete); |
1004 TInt ret = ActionEvent(EMbmsContextEventDelete); |
999 return ret; |
1005 return ret; |
1000 } |
1006 } |
1001 |
1007 |
1007 * |
1013 * |
1008 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1014 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1009 * @return KErrNone |
1015 * @return KErrNone |
1010 */ |
1016 */ |
1011 { |
1017 { |
1012 LOGPACKET1("CSimMbmsPacketContext::DeleteCancel called"); |
1018 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_DELETECANCEL_1, "CSimMbmsPacketContext::DeleteCancel called"); |
1013 iMbmsContextTimer->Cancel(); |
1019 iMbmsContextTimer->Cancel(); |
1014 if((iState == RPacketContext::EStatusInactive) && (iCurrentEvent==EMbmsContextEventDelete)) |
1020 if((iState == RPacketContext::EStatusInactive) && (iCurrentEvent==EMbmsContextEventDelete)) |
1015 { |
1021 { |
1016 iCurrentEvent= EMbmsContextEventNone; |
1022 iCurrentEvent= EMbmsContextEventNone; |
1017 ReqCompleted(aTsyReqHandle,KErrCancel); |
1023 ReqCompleted(aTsyReqHandle,KErrCancel); |
1026 * @param aTsyReqHandle Tsy Request handle for the client request |
1032 * @param aTsyReqHandle Tsy Request handle for the client request |
1027 * @param aError pointer to the last error cause |
1033 * @param aError pointer to the last error cause |
1028 * @return KerrNone |
1034 * @return KerrNone |
1029 */ |
1035 */ |
1030 { |
1036 { |
1031 LOGPACKET1("CSimMbmsPacketContext::GetLastErrorCause called"); |
1037 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_GETLASTERRORCAUSE_1, "CSimMbmsPacketContext::GetLastErrorCause called"); |
1032 |
1038 |
1033 ReqCompleted(aTsyReqHandle,iLastError); |
1039 ReqCompleted(aTsyReqHandle,iLastError); |
1034 return KErrNone; |
1040 return KErrNone; |
1035 } |
1041 } |
1036 |
1042 |
1042 * @param aTsyReqHandle Tsy Request handle for the client request |
1048 * @param aTsyReqHandle Tsy Request handle for the client request |
1043 * @param aConfig pointer to the context config to store the config info when the config changes. |
1049 * @param aConfig pointer to the context config to store the config info when the config changes. |
1044 * @return KErrNone |
1050 * @return KErrNone |
1045 */ |
1051 */ |
1046 { |
1052 { |
1047 LOGPACKET1("CSimMbmsPacketContext::NotifyConfigChanged called"); |
1053 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NOTIFYCONFIGCHANGED_1, "CSimMbmsPacketContext::NotifyConfigChanged called"); |
1048 TPckg<TPacketDataConfigBase>* configBase = (TPckg<TPacketDataConfigBase>*)aConfig; |
1054 TPckg<TPacketDataConfigBase>* configBase = (TPckg<TPacketDataConfigBase>*)aConfig; |
1049 TPacketDataConfigBase& configBaseV1 = (*configBase)(); |
1055 TPacketDataConfigBase& configBaseV1 = (*configBase)(); |
1050 |
1056 |
1051 if(configBaseV1.ExtensionId() == TPacketDataConfigBase::KConfigMBMS) |
1057 if(configBaseV1.ExtensionId() == TPacketDataConfigBase::KConfigMBMS) |
1052 { |
1058 { |
1071 * |
1077 * |
1072 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1078 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1073 * @return KErrNone |
1079 * @return KErrNone |
1074 */ |
1080 */ |
1075 { |
1081 { |
1076 LOGPACKET1("CSimMbmsPacketContext::NotifyConfigChangedCancel called"); |
1082 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NOTIFYCONFIGCHANGEDCANCEL_1, "CSimMbmsPacketContext::NotifyConfigChangedCancel called"); |
1077 if(iNotifyConfigMBMS.iNotifyPending && |
1083 if(iNotifyConfigMBMS.iNotifyPending && |
1078 iNotifyConfigMBMS.iNotifyHandle == aTsyReqHandle) |
1084 iNotifyConfigMBMS.iNotifyHandle == aTsyReqHandle) |
1079 { |
1085 { |
1080 iNotifyConfigMBMS.iNotifyPending=EFalse; |
1086 iNotifyConfigMBMS.iNotifyPending=EFalse; |
1081 ReqCompleted(aTsyReqHandle,KErrCancel); |
1087 ReqCompleted(aTsyReqHandle,KErrCancel); |
1098 * @param aTsyReqHandle Tsy Request handle for the client request |
1104 * @param aTsyReqHandle Tsy Request handle for the client request |
1099 * @param aContextStatus pointer to the packet context status |
1105 * @param aContextStatus pointer to the packet context status |
1100 * @return KErrNone |
1106 * @return KErrNone |
1101 */ |
1107 */ |
1102 { |
1108 { |
1103 LOGPACKET1("CSimMbmsPacketContext::NotifyStatusChange called"); |
1109 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NOTIFYSTATUSCHANGE_1, "CSimMbmsPacketContext::NotifyStatusChange called"); |
1104 __ASSERT_ALWAYS(!iNotifyStatusChange.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
1110 __ASSERT_ALWAYS(!iNotifyStatusChange.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
1105 iNotifyStatusChange.iNotifyPending = ETrue; |
1111 iNotifyStatusChange.iNotifyPending = ETrue; |
1106 iNotifyStatusChange.iNotifyHandle = aTsyReqHandle; |
1112 iNotifyStatusChange.iNotifyHandle = aTsyReqHandle; |
1107 iNotifyStatusChange.iNotifyData = aContextStatus; |
1113 iNotifyStatusChange.iNotifyData = aContextStatus; |
1108 return KErrNone; |
1114 return KErrNone; |
1115 * |
1121 * |
1116 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1122 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1117 * @return KErrNone |
1123 * @return KErrNone |
1118 */ |
1124 */ |
1119 { |
1125 { |
1120 LOGPACKET1("CSimMbmsPacketContext::NotifyStatusChangeCancel called"); |
1126 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_NOTIFYSTATUSCHANGECANCEL_1, "CSimMbmsPacketContext::NotifyStatusChangeCancel called"); |
1121 if(iNotifyStatusChange.iNotifyPending) |
1127 if(iNotifyStatusChange.iNotifyPending) |
1122 { |
1128 { |
1123 iNotifyStatusChange.iNotifyPending=EFalse; |
1129 iNotifyStatusChange.iNotifyPending=EFalse; |
1124 ReqCompleted(aTsyReqHandle,KErrCancel); |
1130 ReqCompleted(aTsyReqHandle,KErrCancel); |
1125 } |
1131 } |
1139 * @param aAction TMbmsAction - ADD/ REMOVE / REMOVE_ALL |
1145 * @param aAction TMbmsAction - ADD/ REMOVE / REMOVE_ALL |
1140 * @param aSessionId sessoinID to be used for the updation. |
1146 * @param aSessionId sessoinID to be used for the updation. |
1141 * @return KErrNone |
1147 * @return KErrNone |
1142 */ |
1148 */ |
1143 { |
1149 { |
1144 LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList called"); |
1150 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_UPDATEMBMSSESSIONLIST_1, "CSimMbmsPacketContext::UpdateMbmsSessionList called"); |
1145 |
1151 |
1146 TInt error=KErrNone; |
1152 TInt error=KErrNone; |
1147 iUpdateSessionHandle = aTsyReqHandle; |
1153 iUpdateSessionHandle = aTsyReqHandle; |
1148 TKeyArrayFix key(0, ECmpTUint); |
1154 TKeyArrayFix key(0, ECmpTUint); |
1149 TInt position =-1; |
1155 TInt position =-1; |
1150 |
1156 |
1151 switch(*aAction) |
1157 switch(*aAction) |
1152 { |
1158 { |
1153 case SIMTSY_PACKET_MBMS_ADD_ENTRIES: |
1159 case SIMTSY_PACKET_MBMS_ADD_ENTRIES: |
1154 LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: ADD "); |
1160 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_UPDATEMBMSSESSIONLIST_2, "CSimMbmsPacketContext::UpdateMbmsSessionList Action: ADD "); |
1155 |
1161 |
1156 // TRAP can contain multiple statments |
1162 // TRAP can contain multiple statments |
1157 TRAP(error,iSessionIdList->AppendL(*aSessionId); |
1163 TRAP(error,iSessionIdList->AppendL(*aSessionId); |
1158 //iSessionIdList->At(0) = ++iNumOfSessionId; |
1164 //iSessionIdList->At(0) = ++iNumOfSessionId; |
1159 iSessionIdList->Delete(0); |
1165 iSessionIdList->Delete(0); |
1166 ReqCompleted(iUpdateSessionHandle,error); |
1172 ReqCompleted(iUpdateSessionHandle,error); |
1167 } |
1173 } |
1168 break; |
1174 break; |
1169 |
1175 |
1170 case SIMTSY_PACKET_MBMS_REM_ENTRIES: |
1176 case SIMTSY_PACKET_MBMS_REM_ENTRIES: |
1171 LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: REMOVE "); |
1177 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_UPDATEMBMSSESSIONLIST_3, "CSimMbmsPacketContext::UpdateMbmsSessionList Action: REMOVE "); |
1172 iSessionIdList->Find(*aSessionId,key,position); |
1178 iSessionIdList->Find(*aSessionId,key,position); |
1173 if(position != -1) |
1179 if(position != -1) |
1174 { |
1180 { |
1175 iSessionIdList->Delete(position); |
1181 iSessionIdList->Delete(position); |
1176 //iSessionIdList->At(0) = --iNumOfSessionId; |
1182 //iSessionIdList->At(0) = --iNumOfSessionId; |
1187 ReqCompleted(iUpdateSessionHandle,error); |
1193 ReqCompleted(iUpdateSessionHandle,error); |
1188 } |
1194 } |
1189 break; |
1195 break; |
1190 |
1196 |
1191 case SIMTSY_PACKET_MBMS_REM_ALL_ENTRIES: |
1197 case SIMTSY_PACKET_MBMS_REM_ALL_ENTRIES: |
1192 LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: REMOVE_ALL "); |
1198 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_UPDATEMBMSSESSIONLIST_4, "CSimMbmsPacketContext::UpdateMbmsSessionList Action: REMOVE_ALL "); |
1193 iNumOfSessionId=0; |
1199 iNumOfSessionId=0; |
1194 //iSessionIdList->At(0) = iNumOfSessionId; |
1200 //iSessionIdList->At(0) = iNumOfSessionId; |
1195 TRAP(error, iSessionIdList->InsertL(0,iNumOfSessionId)); |
1201 TRAP(error, iSessionIdList->InsertL(0,iNumOfSessionId)); |
1196 if(error != KErrNone) |
1202 if(error != KErrNone) |
1197 { |
1203 { |
1200 iSessionIdList->Delete(1,iSessionIdList->Count()); // removing all session ids from the list |
1206 iSessionIdList->Delete(1,iSessionIdList->Count()); // removing all session ids from the list |
1201 ReqCompleted(aTsyReqHandle, KErrNone); |
1207 ReqCompleted(aTsyReqHandle, KErrNone); |
1202 break; |
1208 break; |
1203 |
1209 |
1204 default: |
1210 default: |
1205 LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionList Action: Default "); |
1211 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_UPDATEMBMSSESSIONLIST_5, "CSimMbmsPacketContext::UpdateMbmsSessionList Action: Default "); |
1206 ReqCompleted(aTsyReqHandle,KErrNotFound); |
1212 ReqCompleted(aTsyReqHandle,KErrNotFound); |
1207 break; |
1213 break; |
1208 } |
1214 } |
1209 return KErrNone; |
1215 return KErrNone; |
1210 } |
1216 } |
1215 * |
1221 * |
1216 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1222 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
1217 * @return KErrNone |
1223 * @return KErrNone |
1218 */ |
1224 */ |
1219 { |
1225 { |
1220 LOGPACKET1("CSimMbmsPacketContext::UpdateMbmsSessionListCancel called"); |
1226 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_UPDATEMBMSSESSIONLISTCANCEL_1, "CSimMbmsPacketContext::UpdateMbmsSessionListCancel called"); |
1221 iMbmsUpdateSessionTimer->Cancel(); |
1227 iMbmsUpdateSessionTimer->Cancel(); |
1222 if( iUpdateSessionHandle == aTsyReqHandle ) |
1228 if( iUpdateSessionHandle == aTsyReqHandle ) |
1223 { |
1229 { |
1224 ReqCompleted(iUpdateSessionHandle,KErrCancel); |
1230 ReqCompleted(iUpdateSessionHandle,KErrCancel); |
1225 iUpdateSessionHandle=NULL; |
1231 iUpdateSessionHandle=NULL; |
1298 * @param aClient ClientId from which the request is sent |
1304 * @param aClient ClientId from which the request is sent |
1299 * @param aBufSize Size of the buffer to be allocated to retrieve the data in phase2. |
1305 * @param aBufSize Size of the buffer to be allocated to retrieve the data in phase2. |
1300 * @return KErrNone |
1306 * @return KErrNone |
1301 */ |
1307 */ |
1302 { |
1308 { |
1303 LOGPACKET1("CSimMbmsPacketContext::GetMbmsSessionsPhase1 called"); |
1309 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_GETMBMSSESSIONSPHASE1_1, "CSimMbmsPacketContext::GetMbmsSessionsPhase1 called"); |
1304 iGetMbmsSessionHandle = aTsyReqHandle; |
1310 iGetMbmsSessionHandle = aTsyReqHandle; |
1305 TInt ret=KErrNone; |
1311 TInt ret=KErrNone; |
1306 TInt leaveCode=KErrNone; |
1312 TInt leaveCode=KErrNone; |
1307 TRAP(leaveCode, ret=ProcessGetMbmsSessionsPhase1L(aTsyReqHandle, aClient, aBufSize);); |
1313 TRAP(leaveCode, ret=ProcessGetMbmsSessionsPhase1L(aTsyReqHandle, aClient, aBufSize);); |
1308 if (leaveCode != KErrNone) |
1314 if (leaveCode != KErrNone) |
1324 * @return KErrNone |
1330 * @return KErrNone |
1325 */ |
1331 */ |
1326 { |
1332 { |
1327 // Retrieve MBMS session list, |
1333 // Retrieve MBMS session list, |
1328 // Store the sessions and then return the size of the buffer to the client |
1334 // Store the sessions and then return the size of the buffer to the client |
1329 LOGPACKET1("CSimMbmsPacketContext::ProcessGetMbmsSessionsPhase1L called"); |
1335 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_PROCESSGETMBMSSESSIONSPHASE1L_1, "CSimMbmsPacketContext::ProcessGetMbmsSessionsPhase1L called"); |
1330 RPacketMbmsContext::CMbmsSession* mbmsSession=RPacketMbmsContext::CMbmsSession::NewL(); |
1336 RPacketMbmsContext::CMbmsSession* mbmsSession=RPacketMbmsContext::CMbmsSession::NewL(); |
1331 CleanupStack::PushL(mbmsSession); |
1337 CleanupStack::PushL(mbmsSession); |
1332 |
1338 |
1333 for(TInt i=1;i<=iNumOfSessionId;i++) |
1339 for(TInt i=1;i<=iNumOfSessionId;i++) |
1334 { |
1340 { |
1373 * @param aClient ClientId from which the request is sent |
1379 * @param aClient ClientId from which the request is sent |
1374 * @param aBuf Buffer allocated to retrieve the data. |
1380 * @param aBuf Buffer allocated to retrieve the data. |
1375 * @return KErrNone |
1381 * @return KErrNone |
1376 */ |
1382 */ |
1377 { |
1383 { |
1378 LOGPACKET1("CSimMbmsPacketContext::GetMbmsSessionsPhase2 called"); |
1384 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_GETMBMSSESSIONSPHASE2_1, "CSimMbmsPacketContext::GetMbmsSessionsPhase2 called"); |
1379 CPcktListReadAllAttempt* read=NULL; |
1385 CPcktListReadAllAttempt* read=NULL; |
1380 // Find the get Mbms monitored services from this client |
1386 // Find the get Mbms monitored services from this client |
1381 for (TInt i=0; i<iMbmsSessionList->Count(); ++i) |
1387 for (TInt i=0; i<iMbmsSessionList->Count(); ++i) |
1382 { |
1388 { |
1383 read = iMbmsSessionList->At(i); |
1389 read = iMbmsSessionList->At(i); |
1404 * |
1410 * |
1405 * @param aTsyReqHandle Tsy Request handle for the client request |
1411 * @param aTsyReqHandle Tsy Request handle for the client request |
1406 * @return KErrNone |
1412 * @return KErrNone |
1407 */ |
1413 */ |
1408 { |
1414 { |
1409 LOGPACKET1("CSimMbmsPacketContext::GetMbmsSessionsCancel called"); |
1415 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_GETMBMSSESSIONSCANCEL_1, "CSimMbmsPacketContext::GetMbmsSessionsCancel called"); |
1410 // Remove the MBMS sessions from iMbmsSessionList |
1416 // Remove the MBMS sessions from iMbmsSessionList |
1411 |
1417 |
1412 CPcktListReadAllAttempt* read=NULL; |
1418 CPcktListReadAllAttempt* read=NULL; |
1413 for (TInt i=0; i<iMbmsSessionList->Count(); ++i) |
1419 for (TInt i=0; i<iMbmsSessionList->Count(); ++i) |
1414 { |
1420 { |
1432 * |
1438 * |
1433 * @param aNewState the new state to change to |
1439 * @param aNewState the new state to change to |
1434 * @return Error indication if change of state is successful or not |
1440 * @return Error indication if change of state is successful or not |
1435 */ |
1441 */ |
1436 { |
1442 { |
1437 LOGPACKET2("CSimMbmsPacketContext::ChangeState [newState=%d]", aNewState); |
1443 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CHANGESTATE_1, "CSimMbmsPacketContext::ChangeState [newState=%d]", aNewState); |
1438 __ASSERT_ALWAYS(aNewState!=RPacketContext::EStatusUnknown,SimPanic(ECallStatusUnknownIllegal)); |
1444 __ASSERT_ALWAYS(aNewState!=RPacketContext::EStatusUnknown,SimPanic(ECallStatusUnknownIllegal)); |
1439 |
1445 |
1440 if(iState==aNewState) |
1446 if(iState==aNewState) |
1441 return KErrNone; |
1447 return KErrNone; |
1442 |
1448 |
1481 iNotifyStatusChange.iNotifyPending = EFalse; |
1487 iNotifyStatusChange.iNotifyPending = EFalse; |
1482 *(RPacketContext::TContextStatus*)iNotifyStatusChange.iNotifyData = iState; |
1488 *(RPacketContext::TContextStatus*)iNotifyStatusChange.iNotifyData = iState; |
1483 ReqCompleted(iNotifyStatusChange.iNotifyHandle,KErrNone); |
1489 ReqCompleted(iNotifyStatusChange.iNotifyHandle,KErrNone); |
1484 } |
1490 } |
1485 |
1491 |
1486 LOGPACKET1("<<CSimMbmsPacketContext::ChangeState Completed"); |
1492 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CHANGESTATE_2, "<<CSimMbmsPacketContext::ChangeState Completed"); |
1487 return KErrNone; |
1493 return KErrNone; |
1488 } |
1494 } |
1489 |
1495 |
1490 TInt CSimMbmsPacketContext::ActionEvent(TMbmsContextEvent aEvent) |
1496 TInt CSimMbmsPacketContext::ActionEvent(TMbmsContextEvent aEvent) |
1491 /** |
1497 /** |
1496 * |
1502 * |
1497 * @param aEvent The Packet Context event to handle |
1503 * @param aEvent The Packet Context event to handle |
1498 * @return value represents the error state caused by the attempted state machine jump. |
1504 * @return value represents the error state caused by the attempted state machine jump. |
1499 */ |
1505 */ |
1500 { |
1506 { |
1501 LOGPACKET1("<<CSimMbmsPacketContext::ActionEvent Completed"); |
1507 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_ACTIONEVENT_1, "<<CSimMbmsPacketContext::ActionEvent Completed"); |
1502 TInt ret=KErrNone; |
1508 TInt ret=KErrNone; |
1503 __ASSERT_ALWAYS(iState!=RPacketContext::EStatusUnknown,SimPanic(ECallStatusUnknownIllegal)); |
1509 __ASSERT_ALWAYS(iState!=RPacketContext::EStatusUnknown,SimPanic(ECallStatusUnknownIllegal)); |
1504 |
1510 |
1505 switch(aEvent) |
1511 switch(aEvent) |
1506 { |
1512 { |
1507 case EMbmsContextEventActivate: |
1513 case EMbmsContextEventActivate: |
1508 LOGPACKET1("CSimMbmsPacketContext::ActionEvent = [EMbmsContextEventActivate]"); |
1514 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_ACTIONEVENT_2, "CSimMbmsPacketContext::ActionEvent = [EMbmsContextEventActivate]"); |
1509 if(iState==RPacketContext::EStatusInactive) |
1515 if(iState==RPacketContext::EStatusInactive) |
1510 { |
1516 { |
1511 iCurrentEvent=EMbmsContextEventActivate; |
1517 iCurrentEvent=EMbmsContextEventActivate; |
1512 ret = ChangeState(RPacketContext::EStatusActivating); |
1518 ret = ChangeState(RPacketContext::EStatusActivating); |
1513 iMbmsContextTimer->Start(RandTime(),this); |
1519 iMbmsContextTimer->Start(RandTime(),this); |
1517 ReqCompleted(iActivateRequestHandle, KErrGprsActivationRejected); |
1523 ReqCompleted(iActivateRequestHandle, KErrGprsActivationRejected); |
1518 } |
1524 } |
1519 break; |
1525 break; |
1520 |
1526 |
1521 case EMbmsContextEventDeactivate: |
1527 case EMbmsContextEventDeactivate: |
1522 LOGPACKET1("CSimMbmsPacketContext::ActionEvent = [EMbmsContextEventDeactivate]"); |
1528 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_ACTIONEVENT_3, "CSimMbmsPacketContext::ActionEvent = [EMbmsContextEventDeactivate]"); |
1523 if(iState==RPacketContext::EStatusActive || iState==RPacketContext::EStatusActivating) |
1529 if(iState==RPacketContext::EStatusActive || iState==RPacketContext::EStatusActivating) |
1524 { |
1530 { |
1525 iCurrentEvent=EMbmsContextEventDeactivate; |
1531 iCurrentEvent=EMbmsContextEventDeactivate; |
1526 ret = ChangeState(RPacketContext::EStatusDeactivating); |
1532 ret = ChangeState(RPacketContext::EStatusDeactivating); |
1527 iMbmsContextTimer->Start(RandTime(),this); |
1533 iMbmsContextTimer->Start(RandTime(),this); |
1531 ReqCompleted(iDeactivateRequestHandle, KErrNone); |
1537 ReqCompleted(iDeactivateRequestHandle, KErrNone); |
1532 } |
1538 } |
1533 break; |
1539 break; |
1534 |
1540 |
1535 case EMbmsContextEventDelete: |
1541 case EMbmsContextEventDelete: |
1536 LOGPACKET1("CSimMbmsPacketContext::ActionEvent = [EMbmsContextEventDelete]"); |
1542 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_ACTIONEVENT_4, "CSimMbmsPacketContext::ActionEvent = [EMbmsContextEventDelete]"); |
1537 iDeleted = ETrue; |
1543 iDeleted = ETrue; |
1538 if(iState==RPacketContext::EStatusInactive) |
1544 if(iState==RPacketContext::EStatusInactive) |
1539 { |
1545 { |
1540 iCurrentEvent=EMbmsContextEventDelete; |
1546 iCurrentEvent=EMbmsContextEventDelete; |
1541 iMbmsContextTimer->Start(RandTime(),this); |
1547 iMbmsContextTimer->Start(RandTime(),this); |
1542 } |
1548 } |
1543 else |
1549 else |
1544 ReqCompleted(iDeleteRequestHandle, KErrInUse); |
1550 ReqCompleted(iDeleteRequestHandle, KErrInUse); |
1545 break; |
1551 break; |
1546 default: |
1552 default: |
1547 LOGPACKET1("CSimMbmsPacketContext::ActionEvent = [Default Case]"); |
1553 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_ACTIONEVENT_5, "CSimMbmsPacketContext::ActionEvent = [Default Case]"); |
1548 break; |
1554 break; |
1549 } |
1555 } |
1550 return ret; |
1556 return ret; |
1551 } |
1557 } |
1552 |
1558 |
1557 * |
1563 * |
1558 * @param aNewState the Context status to convert to packet service status |
1564 * @param aNewState the Context status to convert to packet service status |
1559 * @return RPacketService::TStatus The packet service status conversion |
1565 * @return RPacketService::TStatus The packet service status conversion |
1560 */ |
1566 */ |
1561 { |
1567 { |
1562 LOGPACKET1("CSimMbmsPacketContext::ConvertToPacketServiceStatus called"); |
1568 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_CONVERTTOPACKETSERVICESTATUS_1, "CSimMbmsPacketContext::ConvertToPacketServiceStatus called"); |
1563 RPacketService::TStatus serviceStatus; |
1569 RPacketService::TStatus serviceStatus; |
1564 switch (aNewState) |
1570 switch (aNewState) |
1565 { |
1571 { |
1566 case RPacketContext::EStatusInactive: |
1572 case RPacketContext::EStatusInactive: |
1567 case RPacketContext::EStatusActivating: |
1573 case RPacketContext::EStatusActivating: |
1587 * Function that generates time(in seconds) at random for the SimTSY |
1593 * Function that generates time(in seconds) at random for the SimTSY |
1588 * Maximum of four seconds; zero seconds also included just to simulate the |
1594 * Maximum of four seconds; zero seconds also included just to simulate the |
1589 * synchronous call scenario |
1595 * synchronous call scenario |
1590 */ |
1596 */ |
1591 { |
1597 { |
1592 LOGPACKET1("CSimMbmsPacketContext::RandTime called"); |
1598 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMMBMSPACKETCONTEXT_RANDTIME_1, "CSimMbmsPacketContext::RandTime called"); |
1593 TInt ranT= Math::Random()%4; |
1599 TInt ranT= Math::Random()%4; |
1594 return(ranT); |
1600 return(ranT); |
1595 } |
1601 } |