summaryrefslogtreecommitdiffstats
path: root/src/engine/Engine.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-11-16 02:49:22 +0000
committerDavid Robillard <d@drobilla.net>2008-11-16 02:49:22 +0000
commit24d998447070dbfef3eaf7762dce7e97c3903801 (patch)
tree0feffd6ca3c4459e0a7ff6fad9cf48b7816f2cd7 /src/engine/Engine.hpp
parentfb6471ac9d5daefd3655bc19532a6028b5f0ead4 (diff)
downloadingen-24d998447070dbfef3eaf7762dce7e97c3903801.tar.gz
ingen-24d998447070dbfef3eaf7762dce7e97c3903801.tar.bz2
ingen-24d998447070dbfef3eaf7762dce7e97c3903801.zip
TCP notification stream support (not fully implemented yet, but transport stuff is working).
Support multiple event sources in the engine. Clean up HTTP/TCP stuff. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@1721 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine/Engine.hpp')
-rw-r--r--src/engine/Engine.hpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/engine/Engine.hpp b/src/engine/Engine.hpp
index 8edf37c3..261f135f 100644
--- a/src/engine/Engine.hpp
+++ b/src/engine/Engine.hpp
@@ -21,6 +21,7 @@
#include "config.h"
#include <cassert>
#include <vector>
+#include <set>
#include <boost/utility.hpp>
#include "raul/SharedPtr.hpp"
#include "module/global.hpp"
@@ -81,7 +82,6 @@ public:
virtual bool activated() { return _activated; }
Raul::Maid* maid() const { return _maid; }
- EventSource* event_source() const { return _event_source.get(); }
AudioDriver* audio_driver() const { return _audio_driver.get(); }
MidiDriver* midi_driver() const { return _midi_driver; }
OSCDriver* osc_driver() const { return _osc_driver; }
@@ -97,10 +97,10 @@ public:
/** Set the driver for the given data type (replacing the old) */
virtual void set_driver(DataType type, SharedPtr<Driver> driver);
-
- virtual void set_event_source(SharedPtr<EventSource> source);
virtual void set_midi_driver(MidiDriver* driver);
+ virtual void add_event_source(SharedPtr<EventSource> source);
+
Ingen::Shared::World* world() { return _world; }
typedef std::vector<ProcessSlave*> ProcessSlaves;
@@ -108,9 +108,11 @@ public:
inline ProcessSlaves& process_slaves() { return _process_slaves; }
private:
+ typedef std::set< SharedPtr<EventSource> > EventSources;
+ EventSources _event_sources;
+
ProcessSlaves _process_slaves;
Ingen::Shared::World* _world;
- SharedPtr<EventSource> _event_source;
SharedPtr<AudioDriver> _audio_driver;
MidiDriver* _midi_driver;
OSCDriver* _osc_driver;