summaryrefslogtreecommitdiffstats
path: root/src/server/EventSource.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-05-03 08:07:59 +0000
committerDavid Robillard <d@drobilla.net>2012-05-03 08:07:59 +0000
commit628e2f1606aead224c317d17b3e038122db61110 (patch)
treed1345665fbf3e36404ebe1bad3ba395bfe8e2fd1 /src/server/EventSource.hpp
parent02dcc06a1675e936ef85714827accb20a9f2a94c (diff)
downloadingen-628e2f1606aead224c317d17b3e038122db61110.tar.gz
ingen-628e2f1606aead224c317d17b3e038122db61110.tar.bz2
ingen-628e2f1606aead224c317d17b3e038122db61110.zip
Real-time safe event source management (oops).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4321 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/EventSource.hpp')
-rw-r--r--src/server/EventSource.hpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/EventSource.hpp b/src/server/EventSource.hpp
index 65afece4..320b6b7a 100644
--- a/src/server/EventSource.hpp
+++ b/src/server/EventSource.hpp
@@ -17,6 +17,9 @@
#ifndef INGEN_ENGINE_EVENTSOURCE_HPP
#define INGEN_ENGINE_EVENTSOURCE_HPP
+#include <raul/SharedPtr.hpp>
+#include <raul/Deletable.hpp>
+
namespace Ingen {
namespace Server {
@@ -30,9 +33,10 @@ class ProcessContext;
* executes them, then they are sent to the PostProcessor and finalised
* (post-processing thread).
*/
-class EventSource
+class EventSource : public Raul::Deletable
{
public:
+ EventSource() {}
virtual ~EventSource() {}
/** Process events for a cycle.
@@ -41,6 +45,10 @@ public:
virtual bool process(PostProcessor& dest,
ProcessContext& context,
bool limit = true) = 0;
+
+private:
+ friend class Engine;
+ SharedPtr<EventSource> _next; ///< Intrusive linked list for Engine
};
} // namespace Server