tracesrv/tracecompiler/internal/TraceCompiler_Test/HelloWorld/src/HelloWorld.cpp
changeset 62 1c2bb2fc7c87
equal deleted inserted replaced
56:aa2539c91954 62:1c2bb2fc7c87
       
     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