build: fixed to compile for mac and linux again

* removed direct usage of MessageListener from lib parser
This commit is contained in:
malte_langkabel
2016-09-08 12:54:13 +02:00
parent f55d8a73f1
commit 8f6a7a1cca
5 changed files with 68 additions and 13 deletions
+2
View File
@@ -298,6 +298,8 @@ add_files(
utility/messaging/Message.h
utility/messaging/MessageBase.h
utility/messaging/MessageInterruptTasksCounter.cpp
utility/messaging/MessageInterruptTasksCounter.h
utility/messaging/MessageListener.h
utility/messaging/MessageListenerBase.cpp
utility/messaging/MessageListenerBase.h
@@ -0,0 +1,40 @@
#include "utility/messaging/MessageInterruptTasksCounter.h"
#include "utility/messaging/type/MessageInterruptTasks.h"
#include "utility/messaging/MessageListener.h"
MessageInterruptTasksCounter::MessageInterruptTasksCounter()
: m_count(0)
{
class InterruptListener: public MessageListener<MessageInterruptTasks>
{
public:
InterruptListener(size_t& counter)
: m_counter(counter)
{}
private:
virtual void handleMessage(MessageInterruptTasks* message)
{
m_counter++;
}
size_t& m_counter;
};
m_listener = std::make_shared<InterruptListener>(m_count);
}
MessageInterruptTasksCounter::~MessageInterruptTasksCounter()
{
}
void MessageInterruptTasksCounter::reset()
{
m_count = 0;
}
size_t MessageInterruptTasksCounter::getCount() const
{
return m_count;
}
@@ -0,0 +1,23 @@
#ifndef MESSAGE_INTERRUPT_TASKS_COUNTER_H
#define MESSAGE_INTERRUPT_TASKS_COUNTER_H
#include <memory>
class MessageListenerBase;
class MessageInterruptTasksCounter
{
public:
MessageInterruptTasksCounter();
virtual ~MessageInterruptTasksCounter();
void reset();
size_t getCount() const;
private:
std::shared_ptr<MessageListenerBase> m_listener;
size_t m_count;
};
#endif // MESSAGE_INTERRUPT_TASKS_COUNTER_H