1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
/*
Copyright (C) 2005-2007 Feeling Software Inc.
Portions of the code are:
Copyright (C) 2005-2007 Sony Computer Entertainment America
MIT License: http://www.opensource.org/licenses/mit-license.php
*/
/**
@file FULogFile.h
This file contains the FULogFile class.
*/
#ifndef _FU_LOG_FILE_H_
#define _FU_LOG_FILE_H_
class FUFile;
/**
A log file.
This class simply makes writing out text file easier.
@ingroup FUtils
*/
class FCOLLADA_EXPORT FULogFile
{
private:
FUFile* file;
public:
/** Constructor.
This opens, for writing, the file with the given filename.
Relative filepaths are recommended for log files.
@param filename The log filename. */
FULogFile(const fchar* filename);
/** Destructor. */
~FULogFile();
/** Returns the underlying FUFile.
@return The FUFile.*/
inline FUFile* GetFile() { return file; }
inline const FUFile* GetFile() const { return file; } /**< See above.*/
/** Writes out a log message.
This version of this function is useful for code-base assertions and
error messages aimed at programmers.
@param filename A filename.
@param linenum A line number.
@param message The message to write out. */
void WriteLine(const char* filename, uint32 linenum, const char* message, ...);
#ifdef UNICODE
void WriteLine(const char* filename, uint32 line, const fchar* message, ...); /**< See above. */
#endif // UNICODE
/** Writes out a log message.
This version of this function is useful for messages aimed at users.
@param message The message to write out. */
void WriteLine(const char* message, ...);
#ifdef UNICODE
void WriteLine(const fchar* message, ...); /**< See above. */
#endif // UNICODE
/** Writes out a log message.
The variable-list version of this function.
@param message The message to write out.
@param vars A variable list object. */
void WriteLineV(const char* message, va_list& vars);
#ifdef UNICODE
void WriteLineV(const fchar* message, va_list& vars); /**< See above. */
#endif // UNICODE
/** Flushes the log file. */
void Flush();
};
#endif // _FU_LOG_FILE_H_
|