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 "CFlightModeInfo.h"
00032
00040 CFlightModeInfo* CFlightModeInfo::NewL(MExecAsync* aController)
00041 {
00042 CFlightModeInfo* self = new(ELeave) CFlightModeInfo(aController);
00043 CleanupStack::PushL(self);
00044 self->ConstructL();
00045 CleanupStack::Pop(self);
00046 return self;
00047 }
00048
00053 CFlightModeInfo::~CFlightModeInfo()
00054 {
00055 Cancel();
00056 }
00057
00061 void CFlightModeInfo::DoStartRequestL()
00062 {
00063 iRequestNotify = EFalse;
00064
00065
00066 iTelephony->GetFlightMode(iStatus, iFlightModeV1Pckg);
00067 SetActive();
00068 }
00069
00076 CFlightModeInfo::CFlightModeInfo(MExecAsync* aController)
00077 : CISVAPIAsync(aController, KFlightModeInfo)
00078 , iFlightModeV1Pckg(iFlightModeV1)
00079 {
00080
00081 }
00082
00086 void CFlightModeInfo::ConstructL()
00087 {
00088
00089 }
00090
00094 void CFlightModeInfo::RunL()
00095 {
00096 if(iStatus != KErrNone)
00097 {
00098 iConsole->Printf(KError);
00099
00100
00101 iConsole->Printf(_L("%d\n"), iStatus.Int());
00102 }
00103 else
00104 {
00105 if (iRequestNotify)
00106 {
00107 iConsole->Printf(_L("~*THIS IS A NOTIFICATION*~\n"));
00108 }
00109 switch (iFlightModeV1.iFlightModeStatus)
00110 {
00111 case CTelephony::EFlightModeOff:
00112 iConsole->Printf(_L("FlightStatus Off, you can make a calls!\n"));
00113 ExampleComplete();
00114 break;
00115 case CTelephony::EFlightModeOn:
00116 iConsole->Printf(_L("FlightStatus On, you cannot make calls!\n"));
00117 RequestNotificationL();
00118 break;
00119 default:
00120 iConsole->Printf(KError);
00121 }
00122 }
00123 }
00124
00128 void CFlightModeInfo::DoRequestNotificationL()
00129 {
00130
00131
00132 _LIT( KNotifyPanic, "CFlightModeInfo Notify Method" );
00133 __ASSERT_ALWAYS( !IsActive(), User::Panic( KNotifyPanic, 1 ));
00134 iRequestNotify = ETrue;
00135
00136
00137 iTelephony->NotifyChange( iStatus,
00138 CTelephony::EFlightModeChange,
00139 iFlightModeV1Pckg );
00140 SetActive();
00141 }
00142
00146 void CFlightModeInfo::DoCancel()
00147 {
00148
00149 iTelephony->CancelAsync(CTelephony::EFlightModeChangeCancel);
00150 }