MTK++ Latest version: 0.2.0

errorHandler.h
Go to the documentation of this file.
00001 
00033 #ifndef ERRORHANDLER_H
00034 #define ERRORHANDLER_H
00035 
00036 #include <iostream>
00037 #include <string>
00038 #include <deque>
00039 
00040 #include "Utils/constants.h"
00041 
00042 namespace MTKpp
00043 {
00044 
00045 class error;
00046 
00047 // ============================================================
00048 // Class : errorHandler()
00049 // ------------------------------------------------------------
00057 // ============================================================
00058 
00059 class errorHandler
00060 {
00061 public:
00062 
00064     errorHandler();
00065 
00067     virtual ~errorHandler();
00068 
00075     void throwError(const std::string &function, const std::string &message,
00076                     int type = 4);
00077 
00082     void setStream(std::ostream *os) { stream = os; }
00083 
00087     std::ostream* getStream() { return stream; }
00088 
00092     void flush() { stream->flush(); }
00093 
00098     void setLogging(bool l) { log = l; }
00099 
00104     void setLevel(int l) { level = l; }
00105 
00110     void setmaxMessages(int m) { this->maxMessages = m; }
00111 
00115     unsigned int getmaxMessages() { return this->maxMessages; }
00116 
00120     unsigned int getnMessages() { return this->nMessages; }
00121 
00122 protected:
00123 
00128     void throwError(error err);
00129 
00131     int level;
00132 
00134     std::ostream *stream;
00135 
00137     bool log;
00138 
00140     std::deque<error> messages;
00141 
00143     unsigned int nMessages;
00144 
00146     unsigned int maxMessages;
00147 };
00148 
00150 extern errorHandler errorLogger;
00151 
00152 } // MTKpp namespace
00153 
00154 #endif // ERRORHANDLER_H

Generated on Fri Dec 23 2011 09:28:50 for MTK++ by Doxygen 1.7.5.1