18 #include <QApplication> 31 retval->setMessageQueueMaxSize(size);
38 retval->mMessages = this->mMessages;
39 retval->mManager = this->mManager;
40 retval->mMessageHistoryMaxSize = this->mMessageHistoryMaxSize;
45 MessageListener::MessageListener(
LogPtr log) :
47 mMessageHistoryMaxSize(0)
57 mManager->installObserver(mObserver,
false);
64 mManager->uninstallObserver(mObserver);
68 void MessageListener::messageReceived(
Message message)
70 mMessages.push_back(message);
71 this->limitQueueSize();
75 void MessageListener::limitQueueSize()
77 if (mMessageHistoryMaxSize<0)
80 while (mMessages.size() > mMessageHistoryMaxSize)
82 mMessages.pop_front();
86 bool MessageListener::isError(MESSAGE_LEVEL level)
const 93 QApplication::processEvents();
95 for (QList<Message>::const_iterator i=mMessages.begin(); i!=mMessages.end(); ++i)
97 if (this->isError(i->getMessageLevel()))
99 std::cout <<
"MessageListener::containsErrors() Found Error: " << i->getText() <<
"\n";
108 QApplication::processEvents();
109 for (QList<Message>::const_iterator i=mMessages.begin(); i!=mMessages.end(); ++i)
111 QString message = i->
getText();
112 if(i->getText().contains(text, Qt::CaseInsensitive))
120 mManager->installObserver(mObserver,
true);
125 mObserver->installFilter(filter);
126 mManager->installObserver(mObserver,
false);
131 mMessageHistoryMaxSize = count;
136 return mMessageHistoryMaxSize;
static MessageListenerPtr create(LogPtr log=LogPtr())
int getMessageQueueMaxSize() const
void newChannel(QString channel)
void installFilter(MessageFilterPtr)
MessageListenerPtr clone()
QList< Message > getMessages() const
QString getText() const
The raw message.
bool containsText(const QString text) const
boost::shared_ptr< class MessageFilter > MessageFilterPtr
boost::shared_ptr< class Log > LogPtr
void newChannel(QString channel)
static MessageListenerPtr createWithQueue(LogPtr log=LogPtr(), int size=1000)
bool containsErrors() const
void setMessageQueueMaxSize(int count)
void newMessage(Message message)
boost::shared_ptr< class MessageListener > MessageListenerPtr
Namespace for all CustusX production code.
void newMessage(Message message)