1 //===-- MICmnLogMediumFile.h ------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 // File: MICmnLogMediumFile.h
13 // Overview: CMICmnLogMediumFile interface.
15 // Environment: Compilers: Visual C++ 12.
16 // gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
17 // Libraries: See MIReadmetxt.
25 #include "MIUtilFileStd.h"
26 #include "MIUtilString.h"
27 #include "MICmnBase.h"
29 #include "MIUtilDateTimeStd.h"
31 //++ ============================================================================
32 // Details: MI common code implementation class. Logs application fn trace/message/
33 // error messages to a file. Used as part of the CMICmnLog Logger
34 // system. When instantiated *this object is register with the Logger
35 // which the Logger when given data to write to registered medium comes
39 // Authors: Illya Rudkin 30/01/2014.
42 class CMICmnLogMediumFile
44 , public CMICmnLog::IMedium
48 static CMICmnLogMediumFile & Instance( void );
52 bool SetHeaderTxt( const CMIUtilString & vText );
53 bool SetVerbosity( const MIuint veType );
54 MIuint GetVerbosity( void ) const;
55 const CMIUtilString & GetFileName( void ) const;
56 const CMIUtilString & GetFileNamePath( void ) const;
57 bool IsOk( void ) const;
58 bool IsFileExist( void ) const;
59 const CMIUtilString & GetLineReturn( void ) const;
64 /* dtor */ virtual ~CMICmnLogMediumFile( void );
65 // From CMICmnLog::IMedium
66 virtual bool Initialize( void );
67 virtual const CMIUtilString & GetName( void ) const;
68 virtual bool Write( const CMIUtilString & vData, const CMICmnLog::ELogVerbosity veType );
69 virtual const CMIUtilString & GetError( void ) const;
70 virtual bool Shutdown( void );
74 /* ctor */ CMICmnLogMediumFile( void );
75 /* ctor */ CMICmnLogMediumFile( const CMICmnLogMediumFile & );
76 void operator=( const CMICmnLogMediumFile & );
78 bool FileWriteEnglish( const CMIUtilString & vData );
79 bool FileFormFileNamePath( void );
80 CMIUtilString MassagedData( const CMIUtilString & vData, const CMICmnLog::ELogVerbosity veType );
81 bool FileWriteHeader( void );
82 MIchar ConvertLogVerbosityTypeToId( const CMICmnLog::ELogVerbosity veType ) const;
83 CMIUtilString ConvertCr( const CMIUtilString & vData ) const;
87 const CMIUtilString m_constThisMediumName;
88 const CMIUtilString m_constMediumFileName;
90 CMIUtilString m_fileNamePath;
91 MIuint m_eVerbosityType;
92 CMIUtilString m_strDate;
93 CMIUtilString m_fileHeaderTxt;
94 CMIUtilFileStd m_file;
95 CMIUtilDateTimeStd m_dateTime;