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
00032 #include "CFlightModeInfo.h"
00033
00041 CFlightModeInfo* CFlightModeInfo::NewL(MExecAsync* aController)
00042 {
00043 CFlightModeInfo* self = new(ELeave) CFlightModeInfo(aController);
00044 CleanupStack::PushL(self);
00045 self->ConstructL();
00046 CleanupStack::Pop(self);
00047 return self;
00048 }
00049
00054 CFlightModeInfo::~CFlightModeInfo()
00055 {
00056 Cancel();
00057 }
00058
00062 void CFlightModeInfo::DoStartRequestL()
00063 {
00064
00065 iTelephony->GetFlightMode(iStatus, iFlightModeV1Pckg);
00066 SetActive();
00067 }
00068
00075 CFlightModeInfo::CFlightModeInfo(MExecAsync* aController)
00076 : CISVAPIAsync(aController, KFlightModeInfo),
00077 iFlightModeV1Pckg(iFlightModeV1)
00078 {
00079
00080 }
00081
00085 void CFlightModeInfo::ConstructL()
00086 {
00087
00088 }
00089
00093 void CFlightModeInfo::RunL()
00094 {
00095 if(iStatus != KErrNone)
00096 {
00097 iConsole->Printf(KError);
00098
00099
00100 iConsole->Printf(_L("%d\n"), iStatus.Int());
00101 }
00102 else
00103 {
00104 switch (iFlightModeV1.iFlightModeStatus)
00105 {
00106 case CTelephony::EFlightModeOff:
00107 iConsole->Printf(_L("Flight Status is Off, you can make a call!\n"));
00108 ExampleComplete();
00109 break;
00110 case CTelephony::EFlightModeOn:
00111 iConsole->Printf(_L("Flight Status is On, you can't make a call!\n"));
00112 User::After(5000000);
00113 AppTerminate();
00114 break;
00115 }
00116 }
00117 }
00118
00122 void CFlightModeInfo::DoRequestNotificationL()
00123 {
00124
00125
00126 _LIT( KNotifyPanic, "CFlightModeInfo Notify Method" );
00127 __ASSERT_ALWAYS( !IsActive(), User::Panic( KNotifyPanic, 1 ));
00128 iRequestNotify = ETrue;
00129
00130
00131 iTelephony->NotifyChange( iStatus,
00132 CTelephony::EFlightModeChange,
00133 iFlightModeV1Pckg );
00134 SetActive();
00135 }
00136
00140 void CFlightModeInfo::DoCancel()
00141 {
00142
00143 iTelephony->CancelAsync(CTelephony::EFlightModeChangeCancel);
00144 }