sdkcreationmw/sdkexamples/cppexamples/S60Ex/helperfunctions/logfile.cpp
author rajpuroh
Mon, 08 Mar 2010 12:09:11 +0530
changeset 0 b26acd06ea60
permissions -rw-r--r--
First Contribution of SDK components
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     1
/*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     2
* Copyright (c) 2004, 2006 Nokia Corporation and/or its subsidiary(-ies).
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     3
* All rights reserved.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     8
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     9
* Initial Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    11
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    12
* Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    13
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    14
* Description: 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    15
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    16
*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    17
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    18
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    19
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    20
// INCLUDE FILES
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    21
#include <hal.h>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    22
#include <charconv.h>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    23
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    24
#include "logfile.h"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    25
#include "logfile.pan"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    26
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    27
// ============================ MEMBER FUNCTIONS ==============================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    28
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    29
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    30
// CLogFile::NewL()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    31
// Two-phased constructor.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    32
// Standard Symbian OS construction sequence.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    33
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    34
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    35
CLogFile* CLogFile::NewL( const TDesC& aFileName, TBool aInitialiseLog )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    36
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    37
    CLogFile* self = NewLC( aFileName, aInitialiseLog );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    38
    CleanupStack::Pop();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    39
    return( self );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    40
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    41
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    42
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    43
// CLogFile::NewLC()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    44
// Two-phased constructor.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    45
// Standard Symbian OS construction sequence.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    46
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    47
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    48
CLogFile* CLogFile::NewLC( const TDesC& aFileName, TBool aInitialiseLog )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    49
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    50
    CLogFile* self = new ( ELeave ) CLogFile();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    51
    CleanupStack::PushL( self );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    52
    self->ConstructL( aFileName, aInitialiseLog );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    53
    return( self );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    54
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    55
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    56
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    57
// CLogFile::CLogFile()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    58
// Constructor.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    59
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    60
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    61
CLogFile::CLogFile()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    62
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    63
    // No implementation required
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    64
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    65
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
// CLogFile::CLogFile()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    68
// Destructor.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
CLogFile::~CLogFile()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
    iLogFile.Flush();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
    iLogFile.Close();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    75
    iSession.Close();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
    delete iCharacterConverter;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
    iCharacterConverter = NULL;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    79
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
// CLogFile::ConstructL()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
// Symbian 2nd phase constructor can leave.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    84
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    85
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    86
void CLogFile::ConstructL( const TDesC& aFileName, TBool aInitialiseLog )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    87
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    88
    TInt period;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    89
    User::LeaveIfError( HAL::Get( HALData::ESystemTickPeriod, period ) );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    90
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    91
    iLogMillisecsPerTick = period / 1000;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    92
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    93
    if ( iLogMillisecsPerTick == 0 )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    94
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    95
        iLogMillisecsPerTick = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    96
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    97
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    98
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    99
    iSession.Connect();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   100
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   101
    if ( aInitialiseLog )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   102
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   103
        User::LeaveIfError( iLogFile.Replace( iSession,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   104
                                              aFileName,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   105
                                              EFileShareExclusive ) );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   106
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   107
    else
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   108
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   109
        TInt err = iLogFile.Open( iSession, aFileName,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   110
                                  EFileShareExclusive | EFileWrite );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   111
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   112
        switch ( err )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   113
            {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   114
            case KErrNone: // Opened ok, so seek to end of file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   115
                {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   116
                TInt position = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   117
                User::LeaveIfError( iLogFile.Seek( ESeekEnd, position ) );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   118
                }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   119
                break;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   120
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   121
            case KErrNotFound: // File doesn't exist, so create it
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   122
                User::LeaveIfError( iLogFile.Create( iSession,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   123
                                                     aFileName,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   124
                                                     EFileShareExclusive |
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   125
                                                     EFileWrite ) );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   126
                break;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   127
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   128
            default: // Unexepected error
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   129
                User::Leave( err );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   130
                break;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   131
            }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   132
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   133
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   134
    // Create character converter
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   135
    iCharacterConverter = CCnvCharacterSetConverter::NewL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   136
    CCnvCharacterSetConverter::TAvailability iConverterAvailability;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   137
    iConverterAvailability = iCharacterConverter->PrepareToConvertToOrFromL(
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   138
                             KCharacterSetIdentifierAscii, iSession );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   139
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   140
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   141
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   142
// CLogFile::LogTime()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   143
// Append a timestamp to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   144
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   145
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   146
void CLogFile::LogTime()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   147
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   148
    StartWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   149
    LogTimeInternal();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   150
    EndWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   151
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   152
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   153
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   154
// CLogFile::Log()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   155
// Append text to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   156
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   157
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   158
void CLogFile::Log( const TDesC8& aText )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   159
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   160
    StartWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   161
    LogTextInternal( aText );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   162
    EndWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   163
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   164
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   165
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   166
// CLogFile::Log()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   167
// Append text to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   168
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   169
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   170
void CLogFile::Log( const TDesC& aText )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   171
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   172
    StartWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   173
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   174
    for ( TInt i = 0; i < aText.Length(); i++ )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   175
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   176
        if ( aText.Mid(i).Find( KCrLf ) == 0 )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   177
            {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   178
            LogNewline();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   179
            i++;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   180
            }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   181
        else if ( iConverterAvailability ==
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   182
                  CCnvCharacterSetConverter::EAvailable )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   183
            {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   184
            // Convert character from unicode
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   185
            TBuf<1> unicodeBuffer;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   186
            TBuf8<10> asciiBuffer;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   187
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   188
            unicodeBuffer.Append(aText[i]);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   189
            TInt status = iCharacterConverter->ConvertFromUnicode(
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   190
                                               asciiBuffer, unicodeBuffer );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   191
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   192
            if ( status >= 0 )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   193
                {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   194
                LogTextInternal( asciiBuffer );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   195
                }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   196
            }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   197
        else // character converter not available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   198
            {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   199
                TBuf8<1> asciiBuffer;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   200
                asciiBuffer.Append( static_cast<TUint8>( aText[i] ) );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   201
                LogTextInternal( asciiBuffer );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   202
            }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   203
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   204
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   205
    EndWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   206
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   207
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   208
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   209
// CLogFile::Log()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   210
// Append the byte to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   211
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   212
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   213
void CLogFile::Log( TUint8 aByte )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   214
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   215
    StartWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   216
    LogByteInternal( aByte );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   217
    EndWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   218
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   219
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   220
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   221
// CLogFile::Log()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   222
// Append the integer to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   223
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   224
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   225
void CLogFile::Log( TUint aNumber )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   226
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   227
    StartWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   228
    LogIntInternal( aNumber );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   229
    EndWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   230
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   231
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   232
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   233
// CLogFile::LogBytes()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   234
// Append the bytes to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   235
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   236
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   237
void CLogFile::LogBytes( const TDesC8& aBuffer )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   238
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   239
    StartWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   240
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   241
    for ( TInt i = 0; i < aBuffer.Length(); i++ )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   242
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   243
        LogByteInternal( aBuffer[i] );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   244
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   245
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   246
    EndWrite();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   247
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   248
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   249
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   250
// CLogFile::LogTimeInternal()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   251
// Internal function to log time.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   252
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   253
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   254
void CLogFile::LogTimeInternal()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   255
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   256
    TBuf8<50> text;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   257
    TInt timeInMillisecs = User::TickCount() * iLogMillisecsPerTick;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   258
    TInt secs = timeInMillisecs / 1000;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   259
    TInt millisecs = timeInMillisecs % 1000;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   260
    text.Num( secs );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   261
    text.Append( '.' );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   262
    Write( text );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   263
    text.Num( millisecs );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   264
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   265
    while ( text.Length() < KNumberOfDecimalPlaces )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   266
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   267
        text.Insert( 0, _L8( "0" ) );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   268
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   269
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   270
    text.Append( '-' );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   271
    Write( text );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   272
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   273
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   274
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   275
// CLogFile::LogTextInternal()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   276
// Internal function to log text.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   277
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   278
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   279
void CLogFile::LogTextInternal( const TDesC8& aText )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   280
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   281
    TPtrC8 tail( aText.Ptr(), aText.Length() );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   282
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   283
    TInt newLinePosition = tail.Find( KCrLf8 );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   284
    while ( newLinePosition != KErrNotFound )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   285
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   286
        if ( newLinePosition > 0 )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   287
            {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   288
            Write( tail.Left( newLinePosition ) );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   289
            tail.Set( aText.Ptr() + newLinePosition, tail.Length() -
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   290
                                                     newLinePosition );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   291
            }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   292
        LogNewline();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   293
        tail.Set( aText.Ptr() + KCrLf8.iTypeLength, tail.Length() -
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   294
                                                    KCrLf8.iTypeLength );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   295
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   296
        newLinePosition = tail.Find( KCrLf8 );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   297
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   298
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   299
    //  No more newlines left so print remainder
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   300
    Write( tail );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   301
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   302
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   303
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   304
// CLogFile::LogByteInternal()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   305
// internal function to log a byte.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   306
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   307
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   308
void CLogFile::LogByteInternal( TUint8 aByte )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   309
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   310
    if ( ( aByte >= KAsciiStart ) && ( aByte < KAsciiEnd ) )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   311
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   312
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   313
        // Display as ASCII char
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   314
        TBuf8<1> str;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   315
        str.Append( aByte );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   316
        Write( str );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   317
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   318
    else
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   319
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   320
        // Display as hex number
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   321
        TBuf8<4> str;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   322
        str.Append( KHexCharLeft );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   323
        str.AppendNum( ( TUint )aByte, EHex );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   324
        str.Append( KHexCharRight );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   325
        Write( str );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   326
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   327
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   328
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   329
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   330
// CLogFile::LogIntInternal()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   331
// Internal function to log an integer.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   332
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   333
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   334
void CLogFile::LogIntInternal( TUint aNumber )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   335
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   336
    // Display as ASCII char
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   337
    TBuf8<20> str;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   338
    str.Append( KHexCharLeft );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   339
    str.AppendNum( aNumber, EHex );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   340
    str.Append( KHexCharRight );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   341
    Write( str );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   342
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   343
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   344
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   345
// CLogFile::LogNewline()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   346
// Start a newline in the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   347
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   348
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   349
void CLogFile::LogNewline()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   350
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   351
    Write( KCrLf8 );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   352
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   353
    if ( iAutoTimestamp )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   354
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   355
        LogTimeInternal();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   356
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   357
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   358
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   359
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   360
// CLogFile::StartWrite()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   361
// Perform any initial operation before the main log operation.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   362
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   363
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   364
void CLogFile::StartWrite()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   365
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   366
    ASSERT( iCheckNestDepth == 0 );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   367
    iCheckNestDepth++;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   368
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   369
    if ( iAutoNewline )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   370
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   371
        LogNewline();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   372
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   373
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   374
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   375
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   376
// CLogFile::EndWrite()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   377
// Perform any tidying up operations after the main log operation.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   378
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   379
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   380
void CLogFile::EndWrite()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   381
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   382
    if ( iAutoFlush )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   383
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   384
        iLogFile.Flush();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   385
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   386
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   387
    iCheckNestDepth--;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   388
    ASSERT( iCheckNestDepth == 0 );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   389
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   390
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   391
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   392
// CLogFile::Write()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   393
// Do the actual writing, and associated error checking.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   394
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   395
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   396
void CLogFile::Write( const TDesC8& aText )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   397
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   398
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   399
    if ( iLogFile.Write( aText ) != KErrNone )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   400
        {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   401
        //  As the framework may be trapping User::Panic we need to
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   402
        //  produce the panic at a lower level.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   403
        RThread().Panic( KLogFilePanic, TLogFileWriteFailed );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   404
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   405
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   406
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   407
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   408
// CLogFile::SetAutoFlush()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   409
// Set AutoFlush on.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   410
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   411
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   412
void CLogFile::SetAutoFlush( TBool aOn )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   413
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   414
    iAutoFlush = aOn;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   415
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   416
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   417
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   418
// CLogFile::SetAutoTimeStamp()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   419
// Set AutoTimeStamp on.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   420
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   421
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   422
void CLogFile::SetAutoTimeStamp( TBool aOn )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   423
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   424
    iAutoTimestamp = aOn;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   425
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   426
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   427
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   428
// CLogFile::SetAutoNewline()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   429
// Set AutoNewline on.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   430
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   431
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   432
void CLogFile::SetAutoNewline( TBool aOn )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   433
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   434
    iAutoNewline = aOn;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   435
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   436
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   437
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   438
// CLogFile::StaticLogL()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   439
// Static option to append text to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   440
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   441
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   442
void CLogFile::StaticLogL( const TDesC& aFileName, const TDesC8& aText )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   443
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   444
    CLogFile* logFile = NewLC( aFileName, EFalse );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   445
    logFile->Log( aText );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   446
    CleanupStack::Pop( logFile );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   447
    delete logFile;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   448
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   449
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   450
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   451
// CLogFile::StaticLogL()
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   452
// Static option to append text to the log file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   453
// ----------------------------------------------------------------------------
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   454
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   455
void CLogFile::StaticLogL( const TDesC& aFileName, const TDesC& aText )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   456
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   457
    CLogFile* logFile = NewLC( aFileName, EFalse );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   458
    logFile->Log( aText );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   459
    CleanupStack::Pop( logFile );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   460
    delete logFile;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   461
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   462
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   463
// End of File