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 "CCallBarringStatus.h"
00032
00040 CCallBarringStatus* CCallBarringStatus::NewL(MExecAsync* aController)
00041 {
00042 CCallBarringStatus* self = new(ELeave) CCallBarringStatus(aController);
00043 CleanupStack::PushL(self);
00044 self->ConstructL();
00045 CleanupStack::Pop(self);
00046 return self;
00047 }
00048
00053 CCallBarringStatus::~CCallBarringStatus()
00054 {
00055 Cancel();
00056 }
00057
00062 void CCallBarringStatus::DoStartRequestL()
00063 {
00064 _LIT( KNotifyPanic, "CCallBarringStatus Get Method" );
00065 __ASSERT_ALWAYS( !IsActive(), User::Panic( KNotifyPanic, 1 ));
00066 iRequestNotify = EFalse;
00067 CTelephony::TCallBarringCondition condition = CTelephony::EBarAllIncoming;
00068
00069
00070 iTelephony->GetCallBarringStatus( iStatus,
00071 condition,
00072 iCallBarringStatusV1Pckg);
00073 SetActive();
00074 }
00075
00082 CCallBarringStatus::CCallBarringStatus(MExecAsync* aController)
00083 : CISVAPIAsync(aController, KCallBarringStatus)
00084 , iCallBarringStatusV1Pckg(iCallBarringStatusV1)
00085 {
00086
00087 }
00088
00092 void CCallBarringStatus::ConstructL()
00093 {
00094
00095 }
00096
00101 void CCallBarringStatus::RunL()
00102 {
00103 if(iStatus != KErrNone)
00104 {
00105 iConsole->Printf(KError);
00106
00107
00108 iConsole->Printf(_L("%d\n"), iStatus.Int());
00109 }
00110 else
00111 {
00112
00113 iConsole->Printf(KCallBarringStatusMsg);
00114 switch(iCallBarringStatusV1.iCallBarring)
00115 {
00116 case CTelephony::EStatusActive:
00117
00118
00119
00120 iConsole->Printf(_L("Call Barring Restricts incoming calls!\n"));
00121 iConsole->Printf(_L("Recify this to remove this delay\n"));
00122 User::After(5000000);
00123 ExampleComplete();
00124 break;
00125 case CTelephony::ENotActive:
00126 case CTelephony::ENotProvisioned:
00127 case CTelephony::ENotAvailable:
00128 case CTelephony::EUnknown:
00129 ExampleComplete();
00130 break;
00131 }
00132 }
00133 }
00134
00138 void CCallBarringStatus::DoCancel()
00139 {
00140
00141 iTelephony->CancelAsync(CTelephony::EGetCallBarringStatusCancel);
00142 }