|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 // Include Files |
|
19 #include "HelloWorld.h" |
|
20 #include <e32base.h> |
|
21 #include <e32debug.h> |
|
22 #include <e32std.h> |
|
23 #include <e32cons.h> |
|
24 #include "OstTraceDefinitions.h" |
|
25 #ifdef OST_TRACE_COMPILER_IN_USE |
|
26 #include "HelloWorldTraces.h" |
|
27 #endif |
|
28 // Console |
|
29 // Constants |
|
30 _LIT(KTextConsoleTitle, "Console"); |
|
31 _LIT(KTextFailed, " failed, leave code = %d"); |
|
32 _LIT(KTextPressAnyKey, " [press any key]\n"); |
|
33 |
|
34 _LIT(buf60, "123456789_123456789_123456789_123456789_123456789_123456789X"); |
|
35 _LIT(buf333, "123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_12X"); |
|
36 _LIT(buf600, "123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789X"); |
|
37 |
|
38 _LIT8(ascii_buf600, "123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789X"); |
|
39 |
|
40 |
|
41 // Global Variables |
|
42 LOCAL_D CConsoleBase* console; // write all messages to this |
|
43 |
|
44 |
|
45 // Local Functions |
|
46 |
|
47 LOCAL_C void MainL() |
|
48 { |
|
49 |
|
50 // |
|
51 // add your program code here, example code below |
|
52 // |
|
53 |
|
54 OstTrace0(UNICODE_STRING_TEST, TRACE0, "Test different kind of unicode strings."); |
|
55 OstTraceExt2( UNICODE_STRING_TEST , TRACE1, |
|
56 "ascii(5): %s ascii(4): %s", _L8( "STR08" ), _L8("STR8") ); |
|
57 |
|
58 OstTraceExt2( UNICODE_STRING_TEST, TRACE2, |
|
59 "unicode(5): %S unicode(5): %S", _L( "STR16" ), _L("STR16") ); |
|
60 |
|
61 OstTraceExt2( UNICODE_STRING_TEST, TRACE3, |
|
62 "ascii(4): %s unicode(5): %S", _L8( "STR8" ), _L("STR16") ); |
|
63 |
|
64 OstTraceExt2( UNICODE_STRING_TEST, TRACE4, |
|
65 "unicode(5): %S ascii (5): %s", _L( "STR16" ), _L8("STR08") ); |
|
66 |
|
67 OstTraceExt1( UNICODE_STRING_TEST, TRACE5, |
|
68 "ascii(5): %s", _L8( "STR08" )); |
|
69 |
|
70 OstTraceExt1( UNICODE_STRING_TEST, TRACE7, |
|
71 "unicode(5): %S", _L( "STR16" )); |
|
72 |
|
73 OstTraceExt1( UNICODE_STRING_TEST, TRACE8, |
|
74 "ascii(1): %s", _L8( "1" )); |
|
75 |
|
76 OstTraceExt1( UNICODE_STRING_TEST, TRACE9, |
|
77 "unicode(1): %S", _L( "1" )); |
|
78 |
|
79 OstTraceExt1( UNICODE_STRING_TEST, TRACE10, |
|
80 "ascii(4): %s", _L8( "STR8" )); |
|
81 |
|
82 OstTraceExt1( UNICODE_STRING_TEST, TRACE11, |
|
83 "unicode(4): %S", _L( "ST16" )); |
|
84 |
|
85 OstTraceExt2( UNICODE_STRING_TEST, TRACE12, |
|
86 "ascii(6): %s unicode (8): %S", _L8( "STR008" ), _L("STR00016") ); |
|
87 |
|
88 OstTraceExt2( UNICODE_STRING_TEST, TRACE13, |
|
89 "unicode(4): %S ascii(8): %s", _L( "ST16" ), _L8("STR00008") ); |
|
90 |
|
91 OstTraceExt3( UNICODE_STRING_TEST, TRACE14, "unicode(4): %S ascii(8): %s int: %d", _L( "ST16" ), _L8("STR00008"), 7 ); |
|
92 OstTraceExt3( UNICODE_STRING_TEST, TRACE15, "unicode(4): %S ascii(0): %s int: %d", _L( "ST16" ), _L8(""), 6 ); |
|
93 |
|
94 OstTraceExt1( UNICODE_STRING_TEST, TRACE16, "unicode(60): %S", buf60); |
|
95 OstTraceExt1( UNICODE_STRING_TEST, TRACE17, "unicode(333): %S", buf333); |
|
96 OstTraceExt1( UNICODE_STRING_TEST, TRACE18, "unicode(600): %S", buf600); |
|
97 |
|
98 OstTraceExt2( UNICODE_STRING_TEST, TRACE19, |
|
99 "unicode(5): %S ascii(0): %s", _L( "STR16" ), _L8("") ); |
|
100 |
|
101 OstTraceExt2( UNICODE_STRING_TEST, TRACE20, |
|
102 "unicode(0): %S ascii(5): %s", _L( "" ), _L8("STR08") ); |
|
103 |
|
104 OstTraceExt1( UNICODE_STRING_TEST, TRACE21, |
|
105 "ascii(0): %s", _L8( "" )); |
|
106 |
|
107 OstTraceExt1( UNICODE_STRING_TEST, TRACE22, |
|
108 "unicode(0): %S", _L( "" )); |
|
109 |
|
110 OstTraceExt2( UNICODE_STRING_TEST, TRACE23, |
|
111 "ascii(4): %s unicode(0): %S", _L8( "STR8" ), _L("") ); |
|
112 |
|
113 OstTraceExt2( UNICODE_STRING_TEST, TRACE24, |
|
114 "ascii(0): %s unicode(5): %S", _L8( "" ), _L("STR16") ); |
|
115 |
|
116 OstTraceExt2( UNICODE_STRING_TEST , TRACE25, |
|
117 "ascii(5): %s ascii(0): %s", _L8( "STR08" ), _L8("") ); |
|
118 |
|
119 OstTraceExt2( UNICODE_STRING_TEST, TRACE26, |
|
120 "unicode(5): %S unicode(0): %S", _L( "STR16" ), _L("") ); |
|
121 |
|
122 OstTraceExt2( UNICODE_STRING_TEST , TRACE27, |
|
123 "ascii(0): %s ascii(4): %s", _L8( "" ), _L8("STR8") ); |
|
124 |
|
125 OstTraceExt2( UNICODE_STRING_TEST, TRACE28, |
|
126 "unicode(0): %S unicode(5): %S", _L( "" ), _L("STR16") ); |
|
127 |
|
128 OstTraceExt3( UNICODE_STRING_TEST, TRACE29, "unicode(333): %S ascii(0): %s int: %d", buf333, _L8(""), 8 ); |
|
129 |
|
130 OstTraceExt2( UNICODE_STRING_TEST, TRACE30, "unicode(333): %S unicode(333): %S", buf333, buf333); |
|
131 |
|
132 OstTraceExt1( UNICODE_STRING_TEST, TRACE31, |
|
133 "unicode(65): %S", _L( "Application_FileBrowser_004401103753378_29575020080101_090257.bin" )); |
|
134 |
|
135 |
|
136 _LIT(KFmtTextFilePrs, "Application_%s_%s_%s.bin"); |
|
137 TBuf<120> fileName; |
|
138 |
|
139 TTime time; |
|
140 time.HomeTime(); |
|
141 TDateTime dateTime = time.DateTime(); |
|
142 TBuf<32> dt; |
|
143 _LIT(KDateTimeFormat,"%06d%04d%02d%02d_%02d%02d%02d"); |
|
144 |
|
145 dt.Format(KDateTimeFormat, dateTime.MicroSecond(), dateTime.Year(), dateTime.Month()+1, |
|
146 dateTime.Day()+1, dateTime.Hour(), dateTime.Minute(), dateTime.Second()); |
|
147 |
|
148 |
|
149 TBuf<60> prsName = _L("FileBrowser"); |
|
150 TBuf<60> imeiName = _L("004401103753378"); |
|
151 |
|
152 |
|
153 fileName.Format(KFmtTextFilePrs, prsName.PtrZ(), imeiName.PtrZ(), dt.PtrZ()); |
|
154 |
|
155 OstTraceExt1( UNICODE_STRING_TEST, TRACE32, "CDataOutPut::DumpL() %S", fileName); |
|
156 |
|
157 OstTraceExt1( UNICODE_STRING_TEST, TRACE33, "unicode abc = %S", _L("abc")); |
|
158 OstTraceExt1( UNICODE_STRING_TEST, TRACE34, "ascii abc = %s", _L8("abc")); |
|
159 |
|
160 OstTraceExt1( UNICODE_STRING_TEST, TRACE35, "unicode(333): %S", buf333); |
|
161 |
|
162 OstTraceExt1( UNICODE_STRING_TEST, TRACE36, "ascii(600): %s", ascii_buf600); |
|
163 |
|
164 |
|
165 console->Write(_L("Hello, world!\n")); |
|
166 |
|
167 } |
|
168 |
|
169 LOCAL_C void DoStartL() |
|
170 { |
|
171 // Create active scheduler (to run active objects) |
|
172 CActiveScheduler* scheduler = new (ELeave) CActiveScheduler(); |
|
173 CleanupStack::PushL(scheduler); |
|
174 CActiveScheduler::Install(scheduler); |
|
175 |
|
176 MainL(); |
|
177 |
|
178 // Delete active scheduler |
|
179 CleanupStack::PopAndDestroy(scheduler); |
|
180 |
|
181 } |
|
182 |
|
183 // Global Functions |
|
184 |
|
185 GLDEF_C TInt E32Main() |
|
186 { |
|
187 // Create cleanup stack |
|
188 __UHEAP_MARK; |
|
189 CTrapCleanup* cleanup = CTrapCleanup::New(); |
|
190 // Create output console |
|
191 TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize( |
|
192 KConsFullScreen, KConsFullScreen))); |
|
193 if (createError) |
|
194 return createError; |
|
195 // Run application code inside TRAP harness, wait keypress when terminated |
|
196 TRAPD(mainError, DoStartL()); |
|
197 if (mainError) |
|
198 console->Printf(KTextFailed, mainError); |
|
199 console->Printf(KTextPressAnyKey); |
|
200 console->Getch(); |
|
201 |
|
202 delete console; |
|
203 delete cleanup; |
|
204 __UHEAP_MARKEND; |
|
205 return KErrNone; |
|
206 } |
|
207 |