Rev 1 | Rev 8 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#pragma once
#include "../CyString.h"
#include <vector>
typedef struct {
CyString sText;
} SLog;
class SPKEXPORT CLog
{
public:
typedef std::vector<SLog *> LogList;
typedef LogList::iterator LogListItr;
protected:
// private constructor
CLog(void);
virtual ~CLog(void);
private:
LogList m_lLogs;
public:
static CLog *m_pInstance;
static CLog *create();
static void release();
static void log(const CyString &sLogText);
static void logf(const char *sLogText, ...);
void _log(const CyString &sLogText);
void _logf(const char *sLogText, ...);
virtual void displayLog(const CyString &sLogText) const;
void clear();
SLog *firstLog();
};
//TODO: move this
class SPKEXPORT CConsoleLog : public CLog
{
public:
static CLog *create()
{
if ( !CLog::m_pInstance ) {
CLog::m_pInstance = new CConsoleLog();
}
return CLog::m_pInstance;
}
virtual ~CConsoleLog(void)
{
}
virtual void displayLog(const CyString &sLogText) const
{
printf("%s", ((CyString)sLogText).c_str());
}
};