27 lines
440 B
C++
27 lines
440 B
C++
#ifndef MESSAGEBUS_H
|
|
#define MESSAGEBUS_H
|
|
|
|
#include <queue>
|
|
#include <map>
|
|
#include <string>
|
|
|
|
#include "system.h"
|
|
|
|
class Message;
|
|
class System;
|
|
|
|
class MessageBus
|
|
{
|
|
std::map<SystemType,System*> systems;
|
|
std::queue<Message*> message_list; //message file
|
|
|
|
public:
|
|
MessageBus();
|
|
void registerSystem(SystemType,System*);
|
|
void postMessage(Message* msg);
|
|
void update();
|
|
void handleMessage();
|
|
};
|
|
|
|
#endif // MESSAGEBUS_H
|