os/ossrv/genericopenlibs/openenvcore/liblogger/inc/libloggerhandler.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:  Contained MRT library code tracing macros and class definition.
sl@0
    15
 *
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
#ifndef LIB_LOGGER_HANDLER_H
sl@0
    20
#define LIB_LOGGER_HANDLER_H
sl@0
    21
sl@0
    22
//  INCLUDES
sl@0
    23
#include <e32base.h>
sl@0
    24
#include "liblogger.h"
sl@0
    25
sl@0
    26
// FORWARD DECLARATIONS
sl@0
    27
 class RFile;
sl@0
    28
 class RFs;
sl@0
    29
sl@0
    30
// FORWARD DECLARATIONS
sl@0
    31
/*
sl@0
    32
 * Here, we are providing all utility functions that will be
sl@0
    33
 * used by all modules. We are expecting that all codes specific
sl@0
    34
 * to symbian will use active object for asynchronous handling
sl@0
    35
 * of all their functionalities. In case of thread provide
sl@0
    36
 * synchnorization for accessing the shared objects.
sl@0
    37
 */
sl@0
    38
sl@0
    39
NONSHARABLE_CLASS ( CLibLogger )
sl@0
    40
{
sl@0
    41
private:
sl@0
    42
	/*
sl@0
    43
	 * create one session with file server
sl@0
    44
	 */
sl@0
    45
	static int CreateFileSession(RFs &aFsSession, RFile &aFile);
sl@0
    46
sl@0
    47
	/*
sl@0
    48
	 * create one session with file server
sl@0
    49
	 */
sl@0
    50
    static void GetLogFilename(TDes& aFileName);
sl@0
    51
sl@0
    52
	/*
sl@0
    53
	 * Write message to the log file
sl@0
    54
	 */
sl@0
    55
    static TInt WriteMessage(const TDesC8& aMessage);
sl@0
    56
sl@0
    57
	/*
sl@0
    58
	 * Default constructor
sl@0
    59
	 */
sl@0
    60
	CLibLogger() {}
sl@0
    61
sl@0
    62
	/* all the methods within this class are public and static. */
sl@0
    63
public:
sl@0
    64
	/* logging related */
sl@0
    65
sl@0
    66
	/*
sl@0
    67
	 * Message logging interface
sl@0
    68
	 */
sl@0
    69
	static int LogMessage(TLibTraceMessageType aLogMessageType,
sl@0
    70
							char *aFileName,
sl@0
    71
							int aLine,
sl@0
    72
							char *aFormat,
sl@0
    73
							VA_LIST& aMarkerList);
sl@0
    74
sl@0
    75
	/*
sl@0
    76
	 * Only filename and line number with timestamp.
sl@0
    77
	 */
sl@0
    78
	static int LogMessage(char *aFileName, int aLine);
sl@0
    79
sl@0
    80
	/*
sl@0
    81
	 * Only message without timestamp
sl@0
    82
	 */
sl@0
    83
	static int LogMessage(TLibTraceMessageType aLogMessageType,
sl@0
    84
							char *aFormat,
sl@0
    85
							VA_LIST& aMarkerList);
sl@0
    86
sl@0
    87
	/*
sl@0
    88
	 * dumping the message in hex format
sl@0
    89
	 */
sl@0
    90
	static int DumpMessage(TLibTraceMessageType aLogMessageType,
sl@0
    91
	                        char *aFileName,
sl@0
    92
							int aLine,
sl@0
    93
							char* aMessage,
sl@0
    94
							char *aStr,
sl@0
    95
							int aStrLen = -1);
sl@0
    96
sl@0
    97
	/*
sl@0
    98
	 * dumping the message in hex format
sl@0
    99
	 */
sl@0
   100
    static int DumpMessage(char *aStr, int aStrLen);
sl@0
   101
sl@0
   102
	/*
sl@0
   103
	 * dumping the message in hex format
sl@0
   104
	 */
sl@0
   105
    static int DumpFormatMessage(TLibTraceMessageType aLogMessageType,
sl@0
   106
                            char *aFileName, 
sl@0
   107
							int aLine,  
sl@0
   108
							char *aMessage,
sl@0
   109
							char *aFormat,
sl@0
   110
							VA_LIST& aMarkerList);
sl@0
   111
	/*
sl@0
   112
	 * dumping the message in hex format
sl@0
   113
	 */
sl@0
   114
    static int DumpFormatMessage(TLibTraceMessageType aLogMessageType,
sl@0
   115
							char *aMessage,
sl@0
   116
							char *aFormat,
sl@0
   117
							VA_LIST& aMarkerList);
sl@0
   118
};
sl@0
   119
sl@0
   120
#endif //LIBC_LOGGER_HANDLER_H
sl@0
   121
sl@0
   122
sl@0
   123
// End of file