summaryrefslogtreecommitdiffstats
path: root/src/server/Engine.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/Engine.hpp')
-rw-r--r--src/server/Engine.hpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/server/Engine.hpp b/src/server/Engine.hpp
index 5f218078..042264e4 100644
--- a/src/server/Engine.hpp
+++ b/src/server/Engine.hpp
@@ -17,8 +17,6 @@
#ifndef INGEN_ENGINE_ENGINE_HPP
#define INGEN_ENGINE_ENGINE_HPP
-#include <vector>
-
#include <boost/utility.hpp>
#include "ingen/EngineBase.hpp"
@@ -38,10 +36,12 @@ class ClientBroadcaster;
class ControlBindings;
class Driver;
class EngineStore;
-class EventSource;
+class Event;
+class EventWriter;
class MessageContext;
class NodeFactory;
class PostProcessor;
+class PreProcessor;
class ProcessContext;
/**
@@ -69,11 +69,14 @@ public:
virtual bool unregister_client(const Raul::URI& uri);
void set_driver(SharedPtr<Driver> driver);
- void add_event_source(SharedPtr<EventSource> source);
+
+ bool pending_events();
+ void enqueue_event(Event* ev);
void process_events(ProcessContext& context);
Ingen::Shared::World* world() const { return _world; }
+ EventWriter* interface() const { return _event_writer; }
ClientBroadcaster* broadcaster() const { return _broadcaster; }
BufferFactory* buffer_factory() const { return _buffer_factory; }
ControlBindings* control_bindings() const { return _control_bindings; }
@@ -97,9 +100,9 @@ private:
Raul::Maid* _maid;
MessageContext* _message_context;
NodeFactory* _node_factory;
+ PreProcessor* _pre_processor;
PostProcessor* _post_processor;
-
- SharedPtr<EventSource> _event_sources; ///< Intrusive linked list
+ EventWriter* _event_writer;
bool _quit_flag;
};