From baeb3c1872a989b69eb89fae04f93c59b06f258e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 9 May 2012 01:14:30 +0000 Subject: Simply event interface design and make only one pre-process thread. This makes event pre-processing actually safe for multiple interfaces since multiple events will never be pre-processed simultaneously and the pre-process order is definitely the same as the execute order. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4323 a436a847-0d15-0410-975c-d299462d15a1 --- src/socket/SocketInterface.hpp | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) (limited to 'src/socket/SocketInterface.hpp') diff --git a/src/socket/SocketInterface.hpp b/src/socket/SocketInterface.hpp index b8d339f8..5e4daaf2 100644 --- a/src/socket/SocketInterface.hpp +++ b/src/socket/SocketInterface.hpp @@ -14,17 +14,10 @@ along with Ingen. If not, see . */ -#include - #include "ingen/Interface.hpp" -#include "raul/SharedPtr.hpp" #include "raul/Thread.hpp" #include "sord/sord.h" -#include "../server/EventSink.hpp" -#include "../server/EventSource.hpp" -#include "../server/EventWriter.hpp" - namespace Ingen { namespace Shared { class World; } @@ -32,18 +25,9 @@ namespace Shared { class World; } namespace Socket { class SocketInterface : public Raul::Thread - , public Server::EventSink - , public Server::EventSource { public: - SocketInterface(Shared::World& world, int conn); - - void event(Server::Event* ev); - - bool process(Server::PostProcessor& dest, - Server::ProcessContext& context, - bool limit = true); - + SocketInterface(Shared::World& world, Interface& iface, int conn); ~SocketInterface(); SordInserter* inserter() { return _inserter; } @@ -67,13 +51,12 @@ private: const SerdNode* object_datatype, const SerdNode* object_lang); - Shared::World& _world; - Server::EventWriter _iface; - SerdEnv* _env; - SordInserter* _inserter; - SordNode* _msg_node; - Server::Event* _event; - int _conn; + Shared::World& _world; + Interface& _iface; + SerdEnv* _env; + SordInserter* _inserter; + SordNode* _msg_node; + int _conn; }; } // namespace Ingen -- cgit v1.2.1