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
00033
00034
00035 #include <e32base.h>
00036 #include <e32cons.h>
00037 #include <NumberStore.h>
00038
00039 _LIT(KHello,"Hello World!\r\n");
00040 _LIT(KTxtEPOC32EX,"EPOC32EX");
00041 _LIT(KTxtExampleCode,"Symbian platform Example Code");
00042 _LIT(KFormatFailed,"failed: leave code=%d");
00043 _LIT(KTxtOK,"ok");
00044 _LIT(KTxtPressAnyKey," [press any key]");
00045
00046 LOCAL_D CConsoleBase* console;
00047 LOCAL_C void callExampleL();
00048 LOCAL_C void doExampleL();
00049
00050 GLDEF_C TInt E32Main()
00051 {
00052 __UHEAP_MARK;
00053 CTrapCleanup* cleanup=CTrapCleanup::New();
00054 TRAPD(error,callExampleL());
00055 __ASSERT_ALWAYS(!error,User::Panic(KTxtEPOC32EX,error));
00056 delete cleanup;
00057 __UHEAP_MARKEND;
00058 return 0;
00059 }
00060
00061 LOCAL_C void callExampleL()
00062 {
00063 console=Console::NewL(KTxtExampleCode,TSize(KConsFullScreen,KConsFullScreen));
00064 CleanupStack::PushL(console);
00065 TRAPD(error,doExampleL());
00066 if (error)
00067 console->Printf(KFormatFailed, error);
00068 else
00069 console->Printf(KTxtOK);
00070 console->Printf(KTxtPressAnyKey);
00071 console->Getch();
00072 CleanupStack::PopAndDestroy();
00073 }
00074
00075 LOCAL_C void doExampleL()
00076 {
00077 console->Printf(KHello);
00078 TInt num1=3;
00079 TInt num2=7;
00080
00081
00082 CNumberStore* numberstore=new (ELeave) CNumberStore();
00083 numberstore->SetNumber1(num1);
00084 numberstore->SetNumber2(num2);
00085 console->Printf(_L("Created CNumberStore with values %d & %d\n"),num1,num2);
00086 num1=numberstore->Number1();
00087 num2=numberstore->Number2();
00088 console->Printf(_L("CNumberStore has values %d & %d\n"),num1,num2);
00089
00090 TInt total=-1;
00091 TInt product=-1;
00092
00093
00094
00095
00096 total=numberstore->AddNumbers();
00097
00098
00099
00100
00101
00102 product=numberstore->MultiplyNumbers();
00103
00104 console->Printf(_L("CNumberStore extension gives total %d\n"),total);
00105 console->Printf(_L("CNumberStore extension gives product with magic multiplyer %d\n"),product);
00106
00107
00108 delete numberstore;
00109 }