From 20b765b8befa32eed913e16d68f03a65459a605d Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 21 Oct 2011 22:29:51 +0000 Subject: Make engine receivers depend only on ServerInterface. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3572 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/OSCEngineReceiver.cpp | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'src/server/OSCEngineReceiver.cpp') diff --git a/src/server/OSCEngineReceiver.cpp b/src/server/OSCEngineReceiver.cpp index 3151255c..6c462d7a 100644 --- a/src/server/OSCEngineReceiver.cpp +++ b/src/server/OSCEngineReceiver.cpp @@ -57,9 +57,9 @@ namespace Server { * See the "Client OSC Namespace Documentation" for details.

*/ -OSCEngineReceiver::OSCEngineReceiver(Engine& engine, - SharedPtr interface, - uint16_t port) +OSCEngineReceiver::OSCEngineReceiver(Engine& engine, + SharedPtr interface, + uint16_t port) : _engine(engine) , _interface(interface) , _server(NULL) @@ -190,19 +190,10 @@ OSCEngineReceiver::set_response_address_cb(const char* path, const char* types, const lo_address addr = lo_message_get_source(msg); char* const url = lo_address_get_url(addr); - const SharedPtr r = me->_interface->request(); - - /* Different address than last time, have to do a lookup */ - if (!r || !r->client() || strcmp(url, r->client()->uri().c_str())) { - ClientInterface* client = me->_engine.broadcaster()->client(url); - Request* req = (client) - ? new Request(client, id) - : new Request(); - me->_interface->set_request(SharedPtr(req)); - } - if (id != -1) { - me->_interface->set_next_response_id(id); + // TODO: Cache client + ClientInterface* client = me->_engine.broadcaster()->client(url); + me->_interface->respond_to(client, id); } else { me->_interface->disable_responses(); } -- cgit v1.2.1