equal
deleted
inserted
replaced
1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
19 |
19 |
20 /** |
20 /** |
21 @file |
21 @file |
22 */ |
22 */ |
23 |
23 |
|
24 |
|
25 #include "OstTraceDefinitions.h" |
|
26 #ifdef OST_TRACE_COMPILER_IN_USE |
|
27 #include "CSimCallTraces.h" |
|
28 #endif |
|
29 |
24 #include "CSimCall.h" |
30 #include "CSimCall.h" |
25 #include "CSimPhone.h" |
31 #include "CSimPhone.h" |
26 #include "Simlog.h" |
|
27 |
32 |
28 void CSimCall::CloseCall(TAny* aObj) |
33 void CSimCall::CloseCall(TAny* aObj) |
29 /** |
34 /** |
30 * Utility func for cleanup stack |
35 * Utility func for cleanup stack |
31 * |
36 * |
79 { |
84 { |
80 // ReqModeL is called from the server's CTelObject::ReqAnalyserL |
85 // ReqModeL is called from the server's CTelObject::ReqAnalyserL |
81 // in order to check the type of request it has |
86 // in order to check the type of request it has |
82 |
87 |
83 CTelObject::TReqMode reqMode=0; |
88 CTelObject::TReqMode reqMode=0; |
84 LOGCALL2("CSimCall::ReqModeL called with IPC number %d",aIpc); |
89 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_REQMODEL_1, "CSimCall::ReqModeL called with IPC number %d",aIpc); |
85 switch (aIpc) |
90 switch (aIpc) |
86 { |
91 { |
87 // |
92 // |
88 // No Flow Control NOR Multiple Completion |
93 // No Flow Control NOR Multiple Completion |
89 // |
94 // |
143 case EMobileCallNotifyHscsdInfoChange: |
148 case EMobileCallNotifyHscsdInfoChange: |
144 case EMobileCallNotifyMobileDataCallCapsChange: |
149 case EMobileCallNotifyMobileDataCallCapsChange: |
145 case EMobileCallNotifyMobileCallStatusChange: |
150 case EMobileCallNotifyMobileCallStatusChange: |
146 case EMobileCallNotifyMobileCallCapsChange: |
151 case EMobileCallNotifyMobileCallCapsChange: |
147 case EMobileCallNotifyRemotePartyInfoChange: |
152 case EMobileCallNotifyRemotePartyInfoChange: |
148 LOGCALL1("CSimCall: Registered with default number of slots"); |
153 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NUMBEROFSLOTSL_1, "CSimCall: Registered with default number of slots"); |
149 return KDefaultNumberOfSlots; |
154 return KDefaultNumberOfSlots; |
150 default: |
155 default: |
151 LOGCALL1("CSimCall::NumberOfSlotsL: No match for IPC, defering to base function"); |
156 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NUMBEROFSLOTSL_2, "CSimCall::NumberOfSlotsL: No match for IPC, defering to base function"); |
152 break; |
157 break; |
153 } |
158 } |
154 return CCallBase::NumberOfSlotsL(aIpc); |
159 return CCallBase::NumberOfSlotsL(aIpc); |
155 } |
160 } |
156 |
161 |
288 * @param aTsyReqHandle Tsy Request handle for the client request |
293 * @param aTsyReqHandle Tsy Request handle for the client request |
289 * @param aHookStatus pointer to the hook status |
294 * @param aHookStatus pointer to the hook status |
290 * @return KErrNone |
295 * @return KErrNone |
291 */ |
296 */ |
292 { |
297 { |
293 LOGCALL1(">>CSimCall::NotifyHookChange"); |
298 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYHOOKCHANGE_1, ">>CSimCall::NotifyHookChange"); |
294 iNotifyHookChange.iNotifyPending = ETrue; |
299 iNotifyHookChange.iNotifyPending = ETrue; |
295 iNotifyHookChange.iNotifyHandle = aTsyReqHandle; |
300 iNotifyHookChange.iNotifyHandle = aTsyReqHandle; |
296 iNotifyHookChange.iNotifyData = aHookStatus; |
301 iNotifyHookChange.iNotifyData = aHookStatus; |
297 LOGCALL1("<<CSimCall::NotifyHookChange"); |
302 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYHOOKCHANGE_2, "<<CSimCall::NotifyHookChange"); |
298 return KErrNone; |
303 return KErrNone; |
299 } |
304 } |
300 |
305 |
301 TInt CSimCall::NotifyHookChangeCancel(const TTsyReqHandle /*aTsyReqHandle*/) |
306 TInt CSimCall::NotifyHookChangeCancel(const TTsyReqHandle /*aTsyReqHandle*/) |
302 /** |
307 /** |
304 * |
309 * |
305 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
310 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
306 * @return KErrNone |
311 * @return KErrNone |
307 */ |
312 */ |
308 { |
313 { |
309 LOGCALL1(">>CSimCall::NotifyHookChangeCancel"); |
314 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYHOOKCHANGECANCEL_1, ">>CSimCall::NotifyHookChangeCancel"); |
310 if(iNotifyHookChange.iNotifyPending) |
315 if(iNotifyHookChange.iNotifyPending) |
311 { |
316 { |
312 iNotifyHookChange.iNotifyPending=EFalse; |
317 iNotifyHookChange.iNotifyPending=EFalse; |
313 ReqCompleted(iNotifyHookChange.iNotifyHandle,KErrCancel); |
318 ReqCompleted(iNotifyHookChange.iNotifyHandle,KErrCancel); |
314 } |
319 } |
315 LOGCALL1("<<CSimCall::NotifyHookChangeCancel"); |
320 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYHOOKCHANGECANCEL_2, "<<CSimCall::NotifyHookChangeCancel"); |
316 return KErrNone; |
321 return KErrNone; |
317 } |
322 } |
318 |
323 |
319 TInt CSimCall::NotifyMobileCallStatusChange(const TTsyReqHandle aTsyReqHandle,RMobileCall::TMobileCallStatus* aStatus) |
324 TInt CSimCall::NotifyMobileCallStatusChange(const TTsyReqHandle aTsyReqHandle,RMobileCall::TMobileCallStatus* aStatus) |
320 /** |
325 /** |
326 * @param aTsyReqHandle Tsy Request handle for the client request |
331 * @param aTsyReqHandle Tsy Request handle for the client request |
327 * @param aStatus pointer to the call status |
332 * @param aStatus pointer to the call status |
328 * @return KErrNone |
333 * @return KErrNone |
329 */ |
334 */ |
330 { |
335 { |
331 LOGCALL1(">>CSimCall::NotifyMobileCallStatusChange"); |
336 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYMOBILECALLSTATUSCHANGE_1, ">>CSimCall::NotifyMobileCallStatusChange"); |
332 __ASSERT_ALWAYS(!iMobileNotifyStatusChange.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
337 __ASSERT_ALWAYS(!iMobileNotifyStatusChange.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
333 |
338 |
334 iMobileNotifyStatusChange.iNotifyPending = ETrue; |
339 iMobileNotifyStatusChange.iNotifyPending = ETrue; |
335 iMobileNotifyStatusChange.iNotifyHandle = aTsyReqHandle; |
340 iMobileNotifyStatusChange.iNotifyHandle = aTsyReqHandle; |
336 iMobileNotifyStatusChange.iNotifyData = aStatus; |
341 iMobileNotifyStatusChange.iNotifyData = aStatus; |
337 LOGCALL1("<<CSimCall::NotifyMobileCallStatusChange"); |
342 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYMOBILECALLSTATUSCHANGE_2, "<<CSimCall::NotifyMobileCallStatusChange"); |
338 return KErrNone; |
343 return KErrNone; |
339 } |
344 } |
340 |
345 |
341 TInt CSimCall::NotifyMobileCallStatusChangeCancel(const TTsyReqHandle /*aTsyReqHandle*/) |
346 TInt CSimCall::NotifyMobileCallStatusChangeCancel(const TTsyReqHandle /*aTsyReqHandle*/) |
342 /** |
347 /** |
345 * |
350 * |
346 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
351 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
347 * @return KErrNone |
352 * @return KErrNone |
348 */ |
353 */ |
349 { |
354 { |
350 LOGCALL1(">>CSimCall::NotifyMobileCallStatusChangeCancel"); |
355 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYMOBILECALLSTATUSCHANGECANCEL_1, ">>CSimCall::NotifyMobileCallStatusChangeCancel"); |
351 if(iMobileNotifyStatusChange.iNotifyPending) |
356 if(iMobileNotifyStatusChange.iNotifyPending) |
352 { |
357 { |
353 iMobileNotifyStatusChange.iNotifyPending=EFalse; |
358 iMobileNotifyStatusChange.iNotifyPending=EFalse; |
354 ReqCompleted(iMobileNotifyStatusChange.iNotifyHandle,KErrCancel); |
359 ReqCompleted(iMobileNotifyStatusChange.iNotifyHandle,KErrCancel); |
355 } |
360 } |
356 LOGCALL1("<<CSimCall::NotifyMobileCallStatusChangeCancel"); |
361 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYMOBILECALLSTATUSCHANGECANCEL_2, "<<CSimCall::NotifyMobileCallStatusChangeCancel"); |
357 return KErrNone; |
362 return KErrNone; |
358 } |
363 } |
359 |
364 |
360 |
365 |
361 TInt CSimCall::NotifyStatusChange(const TTsyReqHandle aTsyReqHandle,RCall::TStatus* aStatus) |
366 TInt CSimCall::NotifyStatusChange(const TTsyReqHandle aTsyReqHandle,RCall::TStatus* aStatus) |
368 * @param aTsyReqHandle Tsy Request handle for the client request |
373 * @param aTsyReqHandle Tsy Request handle for the client request |
369 * @param aStatus pointer to the call status |
374 * @param aStatus pointer to the call status |
370 * @return KErrNone |
375 * @return KErrNone |
371 */ |
376 */ |
372 { |
377 { |
373 LOGCALL1(">>CSimCall::NotifyStatusChange"); |
378 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYSTATUSCHANGE_1, ">>CSimCall::NotifyStatusChange"); |
374 __ASSERT_ALWAYS(!iNotifyStatusChange.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
379 __ASSERT_ALWAYS(!iNotifyStatusChange.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
375 |
380 |
376 iNotifyStatusChange.iNotifyPending = ETrue; |
381 iNotifyStatusChange.iNotifyPending = ETrue; |
377 iNotifyStatusChange.iNotifyHandle = aTsyReqHandle; |
382 iNotifyStatusChange.iNotifyHandle = aTsyReqHandle; |
378 iNotifyStatusChange.iNotifyData = aStatus; |
383 iNotifyStatusChange.iNotifyData = aStatus; |
379 LOGCALL1("<<CSimCall::NotifyStatusChange"); |
384 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYSTATUSCHANGE_2, "<<CSimCall::NotifyStatusChange"); |
380 return KErrNone; |
385 return KErrNone; |
381 } |
386 } |
382 |
387 |
383 TInt CSimCall::NotifyStatusChangeCancel(const TTsyReqHandle /*aTsyReqHandle*/) |
388 TInt CSimCall::NotifyStatusChangeCancel(const TTsyReqHandle /*aTsyReqHandle*/) |
384 /** |
389 /** |
387 * |
392 * |
388 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
393 * @param aTsyReqHandle Tsy Request handle for the client cancel request |
389 * @return KErrNone |
394 * @return KErrNone |
390 */ |
395 */ |
391 { |
396 { |
392 LOGCALL1(">>CSimCall::NotifyStatusChangeCancel"); |
397 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYSTATUSCHANGECANCEL_1, ">>CSimCall::NotifyStatusChangeCancel"); |
393 if(iNotifyStatusChange.iNotifyPending) |
398 if(iNotifyStatusChange.iNotifyPending) |
394 { |
399 { |
395 iNotifyStatusChange.iNotifyPending=EFalse; |
400 iNotifyStatusChange.iNotifyPending=EFalse; |
396 ReqCompleted(iNotifyStatusChange.iNotifyHandle,KErrCancel); |
401 ReqCompleted(iNotifyStatusChange.iNotifyHandle,KErrCancel); |
397 } |
402 } |
398 LOGCALL1("<<CSimCall::NotifyStatusChangeCancel"); |
403 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYSTATUSCHANGECANCEL_2, "<<CSimCall::NotifyStatusChangeCancel"); |
399 return KErrNone; |
404 return KErrNone; |
400 } |
405 } |
401 |
406 |
402 |
407 |
403 |
408 |
473 |
478 |
474 mobileCallInfo.iValid=0x0; |
479 mobileCallInfo.iValid=0x0; |
475 mobileCallInfo.iStatus=iState; |
480 mobileCallInfo.iStatus=iState; |
476 mobileCallInfo.iCallName.Copy(iName); |
481 mobileCallInfo.iCallName.Copy(iName); |
477 mobileCallInfo.iLineName.Copy(iLine->iLineName); |
482 mobileCallInfo.iLineName.Copy(iLine->iLineName); |
478 LOGCALL2("CSimCall::GetMobileCallInfo request completed with %d",iState); |
483 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_GETMOBILECALLINFO_1, "CSimCall::GetMobileCallInfo request completed with %d",iState); |
479 ReqCompleted(aTsyReqHandle,KErrNone); |
484 ReqCompleted(aTsyReqHandle,KErrNone); |
480 return KErrNone; |
485 return KErrNone; |
481 } |
486 } |
482 |
487 |
483 RCall::TStatus CSimCall::GetCoreCallStatus() |
488 RCall::TStatus CSimCall::GetCoreCallStatus() |
517 * @param aTsyReqHandle |
522 * @param aTsyReqHandle |
518 * @param aCallStatus pointer to the call status |
523 * @param aCallStatus pointer to the call status |
519 * @return KErrNone |
524 * @return KErrNone |
520 */ |
525 */ |
521 { |
526 { |
522 LOGCALL1(">>CSimCall::GetStatus"); |
527 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_GETSTATUS_1, ">>CSimCall::GetStatus"); |
523 *aCallStatus=GetCoreCallStatus(); |
528 *aCallStatus=GetCoreCallStatus(); |
524 ReqCompleted(aTsyReqHandle,KErrNone); |
529 ReqCompleted(aTsyReqHandle,KErrNone); |
525 LOGCALL1("<<CSimCall::GetStatus"); |
530 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_GETSTATUS_2, "<<CSimCall::GetStatus"); |
526 return KErrNone; |
531 return KErrNone; |
527 } |
532 } |
528 |
533 |
529 TInt CSimCall::GetMobileCallStatus(const TTsyReqHandle aTsyReqHandle, RMobileCall::TMobileCallStatus* aCallStatus) |
534 TInt CSimCall::GetMobileCallStatus(const TTsyReqHandle aTsyReqHandle, RMobileCall::TMobileCallStatus* aCallStatus) |
530 /** |
535 /** |
533 * @param aTsyReqHandle |
538 * @param aTsyReqHandle |
534 * @param aCallStatus pointer to the call status |
539 * @param aCallStatus pointer to the call status |
535 * @return KErrNone |
540 * @return KErrNone |
536 */ |
541 */ |
537 { |
542 { |
538 LOGCALL1(">>CSimCall::GetMobileCallStatus"); |
543 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_GETMOBILECALLSTATUS_1, ">>CSimCall::GetMobileCallStatus"); |
539 *aCallStatus=iState; |
544 *aCallStatus=iState; |
540 ReqCompleted(aTsyReqHandle,KErrNone); |
545 ReqCompleted(aTsyReqHandle,KErrNone); |
541 LOGCALL1("<<CSimCall::GetMobileCallStatus"); |
546 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_GETMOBILECALLSTATUS_2, "<<CSimCall::GetMobileCallStatus"); |
542 return KErrNone; |
547 return KErrNone; |
543 } |
548 } |
544 |
549 |
545 TInt CSimCall::TransferOwnership(const TTsyReqHandle aTsyReqHandle) |
550 TInt CSimCall::TransferOwnership(const TTsyReqHandle aTsyReqHandle) |
546 /** |
551 /** |
575 /** |
580 /** |
576 * Retrieves the last call duration |
581 * Retrieves the last call duration |
577 * Not supported in this version of the Simulator TSY |
582 * Not supported in this version of the Simulator TSY |
578 */ |
583 */ |
579 { |
584 { |
580 LOGCALL1(">>CSimCall::GetCallDuration"); |
585 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_GETCALLDURATION_1, ">>CSimCall::GetCallDuration"); |
581 |
586 |
582 iCallDurationHandler->GetDuration(aTime); |
587 iCallDurationHandler->GetDuration(aTime); |
583 |
588 |
584 ReqCompleted(aTsyReqHandle,KErrNone); |
589 ReqCompleted(aTsyReqHandle,KErrNone); |
585 LOGCALL1("<<CSimCall::GetCallDuration"); |
590 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_GETCALLDURATION_2, "<<CSimCall::GetCallDuration"); |
586 return KErrNone; |
591 return KErrNone; |
587 } |
592 } |
588 |
593 |
589 TInt CSimCall::RecoverDataPortAndRelinquishOwnership() |
594 TInt CSimCall::RecoverDataPortAndRelinquishOwnership() |
590 /** |
595 /** |
658 * @param aSwap indicates that state change takes place as a consequence of swap operation on the call |
663 * @param aSwap indicates that state change takes place as a consequence of swap operation on the call |
659 * @param aNoPropagation indicates whether change propagate to the holder line object |
664 * @param aNoPropagation indicates whether change propagate to the holder line object |
660 * @return Error indication if change of state is successful or not |
665 * @return Error indication if change of state is successful or not |
661 */ |
666 */ |
662 { |
667 { |
663 LOGCALL3(">>CSimCall::ChangeState 0x%08x [newState=%d] entry", this,aNewState); |
668 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_CHANGESTATEL_1, ">>CSimCall::ChangeState 0x%08x [newState=%d] entry", (TUint)this,aNewState); |
664 |
669 |
665 if(!aNoPropagation) |
670 if(!aNoPropagation) |
666 { |
671 { |
667 TInt ret=iLine->ChangeStateL(aNewState,aSwap,this); |
672 TInt ret=iLine->ChangeStateL(aNewState,aSwap,this); |
668 if(ret!=KErrNone) |
673 if(ret!=KErrNone) |
732 } |
737 } |
733 } |
738 } |
734 if((aNewState == RMobileCall::EStatusConnected && !aSwap)|| aNewState == RMobileCall::EStatusDisconnecting) |
739 if((aNewState == RMobileCall::EStatusConnected && !aSwap)|| aNewState == RMobileCall::EStatusDisconnecting) |
735 iLine->UpdatePhoneNotifiers(this,aNewState); |
740 iLine->UpdatePhoneNotifiers(this,aNewState); |
736 |
741 |
737 LOGCALL2("<<CSimCall::ChangeState exit %d",iState); |
742 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_CHANGESTATEL_2, "<<CSimCall::ChangeState exit %d",iState); |
738 return KErrNone; |
743 return KErrNone; |
739 } |
744 } |
740 |
745 |
741 |
746 |
742 void CSimCall::UpdateNotifiers() |
747 void CSimCall::UpdateNotifiers() |
743 /** |
748 /** |
744 Update notifiers of other voice call when it gets swapped |
749 Update notifiers of other voice call when it gets swapped |
745 */ |
750 */ |
746 { |
751 { |
747 LOGCALL2(">>CSimCall::UpdateNotifiers 0x%08x entry", this); |
752 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_UPDATENOTIFIERS_1, ">>CSimCall::UpdateNotifiers 0x%08x entry", this); |
748 |
753 |
749 // Check for call duration change |
754 // Check for call duration change |
750 if (!iCallDurationHandler) |
755 if (!iCallDurationHandler) |
751 { |
756 { |
752 TRAP_IGNORE(iCallDurationHandler=CSimCallDuration::NewL(this)); |
757 TRAP_IGNORE(iCallDurationHandler=CSimCallDuration::NewL(this)); |
803 mobileCallCaps.iCallEventCaps=0; |
808 mobileCallCaps.iCallEventCaps=0; |
804 ReqCompleted(iNotifyMobileCapsChange.iNotifyHandle,KErrNone); |
809 ReqCompleted(iNotifyMobileCapsChange.iNotifyHandle,KErrNone); |
805 } |
810 } |
806 } |
811 } |
807 |
812 |
808 LOGCALL2("<<CSimCall::UpdateNotifiers exit %d",iState); |
813 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_UPDATENOTIFIERS_2, "<<CSimCall::UpdateNotifiers exit %d",iState); |
809 } |
814 } |
810 |
815 |
811 TInt CSimCall::ActionEvent(TCallEvent /*aEvent*/, TInt /*aStatus*/) |
816 TInt CSimCall::ActionEvent(TCallEvent /*aEvent*/, TInt /*aStatus*/) |
812 /** |
817 /** |
813 * This is an empty shell function. Each line should implement its own |
818 * This is an empty shell function. Each line should implement its own |
1004 * @param aTsyReqHandle Tsy Request handle for the client request |
1009 * @param aTsyReqHandle Tsy Request handle for the client request |
1005 * @param aStatus pointer to the call status |
1010 * @param aStatus pointer to the call status |
1006 * @return KErrNone |
1011 * @return KErrNone |
1007 */ |
1012 */ |
1008 { |
1013 { |
1009 LOGCALL1(">>CSimCall::NotifyRemotePartyInfoChange"); |
1014 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYREMOTEPARTYINFOCHANGE_1, ">>CSimCall::NotifyRemotePartyInfoChange"); |
1010 __ASSERT_ALWAYS(iNotifyRemotePartyInfoTimer, SimPanic(EOjectNotConstructed)); |
1015 __ASSERT_ALWAYS(iNotifyRemotePartyInfoTimer, SimPanic(EOjectNotConstructed)); |
1011 __ASSERT_ALWAYS(!iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
1016 __ASSERT_ALWAYS(!iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending,SimPanic(ENotificationAlreadyPending)); |
1012 |
1017 |
1013 RMobileCall::TMobileCallRemotePartyInfoV1Pckg* remotepartyPckg = (RMobileCall::TMobileCallRemotePartyInfoV1Pckg*) aRemoteParty; |
1018 RMobileCall::TMobileCallRemotePartyInfoV1Pckg* remotepartyPckg = (RMobileCall::TMobileCallRemotePartyInfoV1Pckg*) aRemoteParty; |
1014 RMobileCall::TMobileCallRemotePartyInfoV1& remoteparty = (*remotepartyPckg)(); |
1019 RMobileCall::TMobileCallRemotePartyInfoV1& remoteparty = (*remotepartyPckg)(); |
1025 iNotifyRemotePartyInfoTimer->Start(); |
1030 iNotifyRemotePartyInfoTimer->Start(); |
1026 |
1031 |
1027 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending = ETrue; |
1032 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending = ETrue; |
1028 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyHandle = aTsyReqHandle; |
1033 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyHandle = aTsyReqHandle; |
1029 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyData = &remoteparty; |
1034 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyData = &remoteparty; |
1030 LOGCALL1("<<CSimCall::NotifyRemotePartyInfoChange"); |
1035 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYREMOTEPARTYINFOCHANGE_2, "<<CSimCall::NotifyRemotePartyInfoChange"); |
1031 return KErrNone; |
1036 return KErrNone; |
1032 } |
1037 } |
1033 |
1038 |
1034 TInt CSimCall::NotifyRemotePartyInfoChangeCancel() |
1039 TInt CSimCall::NotifyRemotePartyInfoChangeCancel() |
1035 /** |
1040 /** |
1037 * This is acheived simply by resetting the flag that indicates a notification is pending. |
1042 * This is acheived simply by resetting the flag that indicates a notification is pending. |
1038 * |
1043 * |
1039 * @return KErrNone |
1044 * @return KErrNone |
1040 */ |
1045 */ |
1041 { |
1046 { |
1042 LOGCALL1(">>CSimCall::NotifyRemotePartyInfoChangeCancel"); |
1047 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYREMOTEPARTYINFOCHANGECANCEL_1, ">>CSimCall::NotifyRemotePartyInfoChangeCancel"); |
1043 if(iNotifyRemotePartyInfoTimer && iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending) |
1048 if(iNotifyRemotePartyInfoTimer && iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending) |
1044 { |
1049 { |
1045 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending=EFalse; |
1050 iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyPending=EFalse; |
1046 ReqCompleted(iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyHandle,KErrCancel); |
1051 ReqCompleted(iNotifyRemotePartyInfoTimer->iNotifyRemotePartyInfo.iNotifyHandle,KErrCancel); |
1047 } |
1052 } |
1048 LOGCALL1("<<CSimCall::NotifyRemotePartyInfoChangeCancel"); |
1053 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMCALL_NOTIFYREMOTEPARTYINFOCHANGECANCEL_2, "<<CSimCall::NotifyRemotePartyInfoChangeCancel"); |
1049 return KErrNone; |
1054 return KErrNone; |
1050 } |
1055 } |