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