diff options
Diffstat (limited to 'src/Printer.cc')
-rw-r--r-- | src/Printer.cc | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/src/Printer.cc b/src/Printer.cc index fda9952..cb94084 100644 --- a/src/Printer.cc +++ b/src/Printer.cc @@ -2,14 +2,8 @@ #include "Main.h" #include "Local.h" -class PrinterLocal : public Balau::Local { - public: - PrinterLocal() { } - Balau::Printer * getGlobal() { return reinterpret_cast<Balau::Printer *>(Local::getGlobal()); } - Balau::Printer * get() { return reinterpret_cast<Balau::Printer *>(Local::get()); } - void setGlobal(Balau::Printer * printer) { Local::setGlobal(printer); } - void set(Balau::Printer * printer) { Local::set(printer); } -} printerLocal; +static Balau::DefaultTmpl<Balau::Printer> defaultPrinter(10); +static Balau::LocalTmpl<Balau::Printer> localPrinter; static const char * prefixes[] = { "(DD) ", @@ -21,11 +15,11 @@ static const char * prefixes[] = { }; Balau::Printer::Printer() : m_verbosity(M_STATUS | M_WARNING | M_ERROR) { - if (!printerLocal.getGlobal()) - printerLocal.setGlobal(this); + if (!localPrinter.getGlobal()) + localPrinter.setGlobal(this); } -Balau::Printer * Balau::Printer::getPrinter() { return printerLocal.get(); } +Balau::Printer * Balau::Printer::getPrinter() { return localPrinter.get(); } void Balau::Printer::_log(uint32_t level, const char * fmt, va_list ap) { if (!(level & m_verbosity)) @@ -45,16 +39,3 @@ void Balau::Printer::_log(uint32_t level, const char * fmt, va_list ap) { void Balau::Printer::_print(const char * fmt, va_list ap) { vfprintf(stderr, fmt, ap); } - -class DefaultPrinter : public Balau::AtStart { - public: - DefaultPrinter() : AtStart(10) { } - protected: - virtual void doStart(); -}; - -static DefaultPrinter defaultPrinter; - -void DefaultPrinter::doStart() { - new Balau::Printer(); -} |