00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "CCallWaitingStatus.h"
00032
00040 CCallWaitingStatus* CCallWaitingStatus::NewL(MExecAsync* aController)
00041 {
00042 CCallWaitingStatus* self = new(ELeave) CCallWaitingStatus(aController);
00043 CleanupStack::PushL(self);
00044 self->ConstructL();
00045 CleanupStack::Pop(self);
00046 return self;
00047 }
00048
00053 CCallWaitingStatus::~CCallWaitingStatus()
00054 {
00055 Cancel();
00056 }
00057
00062 void CCallWaitingStatus::DoStartRequestL()
00063 {
00064 _LIT( KNotifyPanic, "CCallWaitingStatus Get Method" );
00065 __ASSERT_ALWAYS( !IsActive(), User::Panic( KNotifyPanic, 1 ));
00066 iRequestNotify = EFalse;
00067
00068
00069 iTelephony->GetCallWaitingStatus(iStatus, iCallWaitingStatusV1Pckg);
00070 SetActive();
00071 }
00072
00079 CCallWaitingStatus::CCallWaitingStatus(MExecAsync* aController)
00080 : CISVAPIAsync(aController, KCallWaitingStatus),
00081 iCallWaitingStatusV1Pckg(iCallWaitingStatusV1)
00082 {
00083
00084 }
00085
00089 void CCallWaitingStatus::ConstructL()
00090 {
00091
00092 }
00093
00098 void CCallWaitingStatus::RunL()
00099 {
00100
00101 if(iStatus != KErrNone)
00102 {
00103 iConsole->Printf(KError);
00104
00105
00106 iConsole->Printf(_L("%d\n"), iStatus.Int());
00107 }
00108 else
00109 {
00110
00111 iConsole->Printf(KCallWaitingStatusMsg);
00112 switch(iCallWaitingStatusV1.iCallWaiting)
00113 {
00114 case CTelephony::EStatusActive:
00115 iConsole->Printf(_L("Call waiting status is active.\n"));
00116 break;
00117 case CTelephony::ENotActive:
00118 iConsole->Printf(_L("Call waiting status is not active.\n"));
00119 break;
00120 case CTelephony::ENotProvisioned:
00121 iConsole->Printf(_L("Call waiting status is not provisioned.\n"));
00122 break;
00123 case CTelephony::ENotAvailable:
00124 iConsole->Printf(_L("Call waiting status is not available.\n"));
00125 break;
00126 case CTelephony::EUnknown:
00127 default:
00128 iConsole->Printf(_L("Call waiting status is unknown.\n"));
00129 break;
00130 }
00131 }
00132 ExampleComplete();
00133 }
00134
00138 void CCallWaitingStatus::DoCancel()
00139 {
00140
00141 iTelephony->CancelAsync(CTelephony::EGetCallWaitingStatusCancel);
00142 }
00143