tahoma2d/toonz/sources/include/toonz/logger.h
2016-06-15 15:43:10 +09:00

44 lines
734 B
C++

#pragma once
#ifndef LOGGER_INCLUDED
#define LOGGER_INCLUDED
#include "tcommon.h"
#undef DVAPI
#undef DVVAR
#ifdef TOONZLIB_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif
class DVAPI Logger { // singleton
public:
class Listener {
public:
virtual void onAdd() = 0;
virtual ~Listener() {}
};
private:
Logger();
std::vector<Listener *> m_listeners;
std::vector<std::wstring> m_rows;
public:
static Logger *instance();
void add(std::wstring s);
void clear();
int getRowCount() const;
std::wstring getRow(int i) const;
void addListener(Listener *listener);
void removeListener(Listener *listener);
};
#endif