107 void inform(std::string msg,
bool addType =
true);
153 inline std::string
build(
const std::string& msg,
bool addType) {
159 return "Warning: " + msg;
162 return "Error: " + msg;
165 return "Debug: " + msg;
168 return "GLDebug: " + msg;
241 #define WRITE_WARNING(msg) MsgHandler::getWarningInstance()->inform(msg); 242 #define WRITE_MESSAGE(msg) MsgHandler::getMessageInstance()->inform(msg); 243 #define PROGRESS_BEGIN_MESSAGE(msg) MsgHandler::getMessageInstance()->beginProcessMsg((msg) + std::string("...")); 244 #define PROGRESS_DONE_MESSAGE() MsgHandler::getMessageInstance()->endProcessMsg("done."); 245 #define PROGRESS_TIME_MESSAGE(before) MsgHandler::getMessageInstance()->endProcessMsg("done (" + toString(SysUtils::getCurrentMillis() - before) + "ms)."); 246 #define PROGRESS_FAILED_MESSAGE() MsgHandler::getMessageInstance()->endProcessMsg("failed."); 247 #define WRITE_ERROR(msg) MsgHandler::getErrorInstance()->inform(msg); 248 #define WRITE_DEBUG(msg) if(MsgHandler::writeDebugMessages()){MsgHandler::getDebugInstance()->inform(msg);}; 249 #define WRITE_GLDEBUG(msg) if(MsgHandler::writeDebugGLMessages()){MsgHandler::getGLDebugInstance()->inform(msg);}; MsgHandler & operator<<(const T &t)
Generic output operator.
static MsgHandler * getWarningInstance()
Returns the instance to add warnings to.
std::vector< OutputDevice * > RetrieverVector
Definition of the list of retrievers to inform.
The message is only something to show.
static bool myWriteDebugGLMessages
static MsgHandler * getErrorInstance()
Returns the instance to add errors to.
MsgType myType
The type of the instance.
bool isRetriever(OutputDevice *retriever) const
Returns whether the given output device retrieves messages from the handler.
MsgHandler(MsgType type)
standard constructor
static MsgHandler * getGLDebugInstance()
Returns the instance to add GLdebug to.
static MsgHandler * myDebugInstance
The instance to handle debug.
static MsgHandler * myWarningInstance
The instance to handle warnings.
static bool writeDebugGLMessages()
check whether to enable/disable gl-debug messages
An abstract class for encapsulating mutex implementations.
void addRetriever(OutputDevice *retriever)
Adds a further retriever to the instance responsible for a certain msg type.
static void assignLock(AbstractMutex *lock)
Sets the lock to use The lock will not be deleted.
RetrieverVector myRetrievers
The list of retrievers that shall be informed about new messages or errors.
bool wasInformed() const
Returns the information whether any messages were added.
static void removeRetrieverFromAllInstances(OutputDevice *out)
ensure that that given output device is no longer used as retriever by any instance ...
static bool myWriteDebugMessages
Flag to enable or disable debug GL Functions.
static void cleanupOnEnd()
Removes pending handler.
static MsgHandler * myGLDebugInstance
The instance to handle glDebug.
static MsgHandler * getDebugInstance()
Returns the instance to add debug to.
static AbstractMutex * myLock
The lock if any has to be used. The lock will not be deleted.
void removeRetriever(OutputDevice *retriever)
Removes the retriever from the handler.
static MsgHandler * getMessageInstance()
Returns the instance to add normal messages to.
void beginProcessMsg(std::string msg, bool addType=true)
Begins a process information.
The message is a warning.
static bool writeDebugMessages()
check whether to enable/disable debug messages
static MsgHandler * myMessageInstance
The instance to handle normal messages.
static bool myAmProcessingProcess
Information whether a process information is printed to cout.
void inform(std::string msg, bool addType=true)
adds a new error to the list
MsgHandler & operator=(const MsgHandler &s)=delete
invalid assignment operator
std::string build(const std::string &msg, bool addType)
Builds the string which includes the mml-message type.
bool myWasInformed
information wehther an error occurred at all
static void enableDebugGLMessages(bool enable)
enable/disable gl-debug messages
static void enableDebugMessages(bool enable)
enable/disable debug messages
Static storage of an output device and its base (abstract) implementation.
static MsgHandler * myErrorInstance
The instance to handle errors.
void clear()
Clears information whether an error occurred previously.
static void initOutputOptions()
init output options
void endProcessMsg(std::string msg)
Ends a process information.