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

/*
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: 
*
*/

//  Include Files  
#include "HelloWorld.h"
#include <e32base.h>
#include <e32debug.h>
#include <e32std.h>
#include <e32cons.h>
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "HelloWorldTraces.h"
#endif
// Console
//  Constants
_LIT(KTextConsoleTitle, "Console");
_LIT(KTextFailed, " failed, leave code = %d");
_LIT(KTextPressAnyKey, " [press any key]\n");

_LIT(buf60, "123456789_123456789_123456789_123456789_123456789_123456789X");
_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");
_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");

_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");


//  Global Variables
LOCAL_D CConsoleBase* console; // write all messages to this


//  Local Functions

LOCAL_C void MainL()
    {
        
    //
    // add your program code here, example code below
    //

    OstTrace0(UNICODE_STRING_TEST, TRACE0, "Test different kind of unicode strings.");
    OstTraceExt2( UNICODE_STRING_TEST , TRACE1,
            "ascii(5): %s ascii(4): %s", _L8( "STR08" ), _L8("STR8") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE2,
            "unicode(5): %S unicode(5): %S", _L( "STR16" ), _L("STR16") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE3,
            "ascii(4): %s unicode(5): %S", _L8( "STR8" ), _L("STR16") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE4,
            "unicode(5): %S ascii (5): %s", _L( "STR16" ), _L8("STR08") );

    OstTraceExt1( UNICODE_STRING_TEST, TRACE5,
            "ascii(5): %s", _L8( "STR08" ));

    OstTraceExt1( UNICODE_STRING_TEST, TRACE7,
            "unicode(5): %S", _L( "STR16" ));

    OstTraceExt1( UNICODE_STRING_TEST, TRACE8,
            "ascii(1): %s", _L8( "1" ));

    OstTraceExt1( UNICODE_STRING_TEST, TRACE9,
            "unicode(1): %S", _L( "1" ));

    OstTraceExt1( UNICODE_STRING_TEST, TRACE10,
            "ascii(4): %s", _L8( "STR8" ));

    OstTraceExt1( UNICODE_STRING_TEST, TRACE11,
            "unicode(4): %S", _L( "ST16" ));

    OstTraceExt2( UNICODE_STRING_TEST, TRACE12,
            "ascii(6): %s unicode (8): %S", _L8( "STR008" ), _L("STR00016") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE13,
            "unicode(4): %S ascii(8): %s", _L( "ST16" ), _L8("STR00008") );

    OstTraceExt3( UNICODE_STRING_TEST, TRACE14, "unicode(4): %S ascii(8): %s int: %d", _L( "ST16" ), _L8("STR00008"), 7 );
    OstTraceExt3( UNICODE_STRING_TEST, TRACE15, "unicode(4): %S ascii(0): %s int: %d", _L( "ST16" ), _L8(""), 6 );

    OstTraceExt1( UNICODE_STRING_TEST, TRACE16, "unicode(60): %S", buf60);
    OstTraceExt1( UNICODE_STRING_TEST, TRACE17, "unicode(333): %S", buf333);
    OstTraceExt1( UNICODE_STRING_TEST, TRACE18, "unicode(600): %S", buf600);

    OstTraceExt2( UNICODE_STRING_TEST, TRACE19,
            "unicode(5): %S ascii(0): %s", _L( "STR16" ), _L8("") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE20,
            "unicode(0): %S ascii(5): %s", _L( "" ), _L8("STR08") );

    OstTraceExt1( UNICODE_STRING_TEST, TRACE21,
            "ascii(0): %s", _L8( "" ));

    OstTraceExt1( UNICODE_STRING_TEST, TRACE22,
            "unicode(0): %S", _L( "" ));

    OstTraceExt2( UNICODE_STRING_TEST, TRACE23,
            "ascii(4): %s unicode(0): %S", _L8( "STR8" ), _L("") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE24,
            "ascii(0): %s unicode(5): %S", _L8( "" ), _L("STR16") );

    OstTraceExt2( UNICODE_STRING_TEST , TRACE25,
            "ascii(5): %s ascii(0): %s", _L8( "STR08" ), _L8("") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE26,
            "unicode(5): %S unicode(0): %S", _L( "STR16" ), _L("") );
            
    OstTraceExt2( UNICODE_STRING_TEST , TRACE27,
            "ascii(0): %s ascii(4): %s", _L8( "" ), _L8("STR8") );

    OstTraceExt2( UNICODE_STRING_TEST, TRACE28,
            "unicode(0): %S unicode(5): %S", _L( "" ), _L("STR16") );

    OstTraceExt3( UNICODE_STRING_TEST, TRACE29, "unicode(333): %S ascii(0): %s int: %d", buf333, _L8(""), 8 );
 
    OstTraceExt2( UNICODE_STRING_TEST, TRACE30, "unicode(333): %S unicode(333): %S", buf333, buf333);
    
    OstTraceExt1( UNICODE_STRING_TEST, TRACE31,
            "unicode(65): %S", _L( "Application_FileBrowser_004401103753378_29575020080101_090257.bin" ));
    
    
    _LIT(KFmtTextFilePrs, "Application_%s_%s_%s.bin");
    TBuf<120> fileName;
    
    TTime time;
    time.HomeTime();
    TDateTime dateTime = time.DateTime(); 
    TBuf<32> dt;
    _LIT(KDateTimeFormat,"%06d%04d%02d%02d_%02d%02d%02d");
    
    dt.Format(KDateTimeFormat, dateTime.MicroSecond(), dateTime.Year(), dateTime.Month()+1, 
                 dateTime.Day()+1, dateTime.Hour(), dateTime.Minute(), dateTime.Second());


	TBuf<60> prsName = _L("FileBrowser");
    TBuf<60> imeiName = _L("004401103753378");

   
    fileName.Format(KFmtTextFilePrs, prsName.PtrZ(), imeiName.PtrZ(), dt.PtrZ());
    
    OstTraceExt1( UNICODE_STRING_TEST, TRACE32, "CDataOutPut::DumpL() %S", fileName);
    
    OstTraceExt1( UNICODE_STRING_TEST, TRACE33, "unicode abc =  %S", _L("abc"));
    OstTraceExt1( UNICODE_STRING_TEST, TRACE34, "ascii abc =  %s", _L8("abc"));

    OstTraceExt1( UNICODE_STRING_TEST, TRACE35, "unicode(333): %S", buf333);
 
    OstTraceExt1( UNICODE_STRING_TEST, TRACE36, "ascii(600): %s", ascii_buf600);

   
    console->Write(_L("Hello, world!\n"));

    }

LOCAL_C void DoStartL()
    {
    // Create active scheduler (to run active objects)
    CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
    CleanupStack::PushL(scheduler);
    CActiveScheduler::Install(scheduler);

    MainL();

    // Delete active scheduler
    CleanupStack::PopAndDestroy(scheduler);

    }

//  Global Functions

GLDEF_C TInt E32Main()
    {
    // Create cleanup stack
    __UHEAP_MARK;
    CTrapCleanup* cleanup = CTrapCleanup::New();
    // Create output console
    TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(
                            KConsFullScreen, KConsFullScreen)));
    if (createError)
        return createError;
    // Run application code inside TRAP harness, wait keypress when terminated
    TRAPD(mainError, DoStartL());
    if (mainError)
        console->Printf(KTextFailed, mainError);
    console->Printf(KTextPressAnyKey);
    console->Getch();

    delete console;
    delete cleanup;
    __UHEAP_MARKEND;
    return KErrNone;
    }