32 #ifndef OPENIMAGEIO_ERRORMANAGER_H
33 #define OPENIMAGEIO_ERRORMANAGER_H
60 class OIIO_API ErrorHandler {
84 ErrorHandler () : m_verbosity(NORMAL) { }
85 virtual ~ErrorHandler () { }
91 virtual void operator () (
int errcode,
const std::string &msg);
95 void info (
const char *format, ...) OPENIMAGEIO_PRINTF_ARGS(2,3);
100 void warning (const
char *format, ...) OPENIMAGEIO_PRINTF_ARGS(2,3);
104 void error (const
char *format, ...) OPENIMAGEIO_PRINTF_ARGS(2,3);
108 void severe (const
char *format, ...) OPENIMAGEIO_PRINTF_ARGS(2,3);
113 void message (const
char *format, ...) OPENIMAGEIO_PRINTF_ARGS(2,3);
119 void debug (
const char *format, ...) OPENIMAGEIO_PRINTF_ARGS(2,3);
121 void debug (
const char * , ...) OPENIMAGEIO_PRINTF_ARGS(2,3) { }
124 void vInfo (
const char *format, va_list argptr);
125 void vWarning (
const char *format, va_list argptr);
126 void vError (
const char *format, va_list argptr);
127 void vSevere (
const char *format, va_list argptr);
128 void vMessage (
const char *format, va_list argptr);
130 void vDebug (
const char *format, va_list argptr);
132 void vDebug (
const char *, va_list) { }
135 void info (
const std::string &msg) { (*this)(EH_INFO, msg); }
136 void warning (
const std::string &msg) { (*this)(EH_WARNING, msg); }
137 void error (
const std::string &msg) { (*this)(EH_ERROR, msg); }
138 void severe (
const std::string &msg) { (*this)(EH_SEVERE, msg); }
139 void message (
const std::string &msg) { (*this)(EH_MESSAGE, msg); }
141 void debug (
const std::string &msg) { (*this)(EH_DEBUG, msg); }
143 void debug (
const std::string &) { }
148 void verbosity (
int v) { m_verbosity = v; }
152 int verbosity ()
const {
return m_verbosity; }
157 static ErrorHandler & default_handler ();