summaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-04-20 15:27:34 +0000
committerDavid Robillard <d@drobilla.net>2011-04-20 15:27:34 +0000
commit1f1758f4dda0ddaf01c0b1d3a756f9db8ddc979d (patch)
treebf97929a31ac38acc158aef045921ad1954acc9d /src/engine
parentbe78a679a950f1d1b07f8f16c358c33ac1ccda66 (diff)
downloadingen-1f1758f4dda0ddaf01c0b1d3a756f9db8ddc979d.tar.gz
ingen-1f1758f4dda0ddaf01c0b1d3a756f9db8ddc979d.tar.bz2
ingen-1f1758f4dda0ddaf01c0b1d3a756f9db8ddc979d.zip
Make disconnect take URI parameters (for wildcare URI towards killing disconnect_all).
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3183 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/ClientBroadcaster.hpp6
-rw-r--r--src/engine/HTTPClientSender.cpp3
-rw-r--r--src/engine/HTTPClientSender.hpp4
-rw-r--r--src/engine/OSCClientSender.cpp6
-rw-r--r--src/engine/OSCClientSender.hpp4
-rw-r--r--src/engine/QueuedEngineInterface.cpp12
-rw-r--r--src/engine/QueuedEngineInterface.hpp4
-rw-r--r--src/engine/events/DisconnectAll.hpp4
8 files changed, 25 insertions, 18 deletions
diff --git a/src/engine/ClientBroadcaster.hpp b/src/engine/ClientBroadcaster.hpp
index 6c371a50..c72cdeec 100644
--- a/src/engine/ClientBroadcaster.hpp
+++ b/src/engine/ClientBroadcaster.hpp
@@ -93,9 +93,9 @@ public:
BROADCAST(connect, src_port_path, dst_port_path);
}
- void disconnect(const Raul::Path& src_port_path,
- const Raul::Path& dst_port_path) {
- BROADCAST(disconnect, src_port_path, dst_port_path);
+ void disconnect(const Raul::URI& src,
+ const Raul::URI& dst) {
+ BROADCAST(disconnect, src, dst);
}
void disconnect_all(const Raul::Path& parent_patch_path,
diff --git a/src/engine/HTTPClientSender.cpp b/src/engine/HTTPClientSender.cpp
index 8a03e2bd..21dc11a3 100644
--- a/src/engine/HTTPClientSender.cpp
+++ b/src/engine/HTTPClientSender.cpp
@@ -96,7 +96,8 @@ HTTPClientSender::connect(const Path& src_path, const Path& dst_path)
}
void
-HTTPClientSender::disconnect(const Path& src_path, const Path& dst_path)
+HTTPClientSender::disconnect(const URI& src,
+ const URI& dst)
{
}
diff --git a/src/engine/HTTPClientSender.hpp b/src/engine/HTTPClientSender.hpp
index 501343a9..5b3cdc73 100644
--- a/src/engine/HTTPClientSender.hpp
+++ b/src/engine/HTTPClientSender.hpp
@@ -82,8 +82,8 @@ public:
virtual void connect(const Raul::Path& src_port_path,
const Raul::Path& dst_port_path);
- virtual void disconnect(const Raul::Path& src_port_path,
- const Raul::Path& dst_port_path);
+ virtual void disconnect(const Raul::URI& src,
+ const Raul::URI& dst);
virtual void disconnect_all(const Raul::Path& parent_patch_path,
const Raul::Path& path);
diff --git a/src/engine/OSCClientSender.cpp b/src/engine/OSCClientSender.cpp
index 88b979bf..bcd3be10 100644
--- a/src/engine/OSCClientSender.cpp
+++ b/src/engine/OSCClientSender.cpp
@@ -185,10 +185,10 @@ OSCClientSender::connect(const Path& src_port_path,
* Notification a connection has been unmade.
*/
void
-OSCClientSender::disconnect(const Path& src_port_path,
- const Path& dst_port_path)
+OSCClientSender::disconnect(const URI& src,
+ const URI& dst)
{
- send("/disconnect", "ss", src_port_path.c_str(), dst_port_path.c_str(), LO_ARGS_END);
+ send("/disconnect", "ss", src.c_str(), dst.c_str(), LO_ARGS_END);
}
/** @page client_osc_namespace
diff --git a/src/engine/OSCClientSender.hpp b/src/engine/OSCClientSender.hpp
index a3031258..96263263 100644
--- a/src/engine/OSCClientSender.hpp
+++ b/src/engine/OSCClientSender.hpp
@@ -85,8 +85,8 @@ public:
virtual void connect(const Raul::Path& src_port_path,
const Raul::Path& dst_port_path);
- virtual void disconnect(const Raul::Path& src_port_path,
- const Raul::Path& dst_port_path);
+ virtual void disconnect(const Raul::URI& src,
+ const Raul::URI& dst);
virtual void disconnect_all(const Raul::Path& parent_patch_path,
const Raul::Path& path);
diff --git a/src/engine/QueuedEngineInterface.cpp b/src/engine/QueuedEngineInterface.cpp
index 456a32ff..24042b27 100644
--- a/src/engine/QueuedEngineInterface.cpp
+++ b/src/engine/QueuedEngineInterface.cpp
@@ -156,10 +156,16 @@ QueuedEngineInterface::connect(const Path& src_port_path,
}
void
-QueuedEngineInterface::disconnect(const Path& src_port_path,
- const Path& dst_port_path)
+QueuedEngineInterface::disconnect(const URI& src,
+ const URI& dst)
{
- push_queued(new Events::Disconnect(_engine, _request, now(), src_port_path, dst_port_path));
+ if (!Path::is_path(src) && !Path::is_path(dst)) {
+ std::cerr << "Bad disconnect request " << src << " => " << dst << std::endl;
+ return;
+ }
+
+ push_queued(new Events::Disconnect(_engine, _request, now(),
+ Path(src.str()), Path(dst.str())));
}
void
diff --git a/src/engine/QueuedEngineInterface.hpp b/src/engine/QueuedEngineInterface.hpp
index 3cabf0a9..b9f4f7b7 100644
--- a/src/engine/QueuedEngineInterface.hpp
+++ b/src/engine/QueuedEngineInterface.hpp
@@ -79,8 +79,8 @@ public:
virtual void connect(const Raul::Path& src_port_path,
const Raul::Path& dst_port_path);
- virtual void disconnect(const Raul::Path& src_port_path,
- const Raul::Path& dst_port_path);
+ virtual void disconnect(const Raul::URI& src,
+ const Raul::URI& dst);
virtual void set_property(const Raul::URI& subject_path,
const Raul::URI& predicate,
diff --git a/src/engine/events/DisconnectAll.hpp b/src/engine/events/DisconnectAll.hpp
index c4f6e6b6..b5dc258c 100644
--- a/src/engine/events/DisconnectAll.hpp
+++ b/src/engine/events/DisconnectAll.hpp
@@ -48,8 +48,8 @@ public:
Engine& engine,
SharedPtr<Request> request,
SampleCount timestamp,
- const Raul::Path& parent_path,
- const Raul::Path& node_path);
+ const Raul::Path& parent,
+ const Raul::Path& object);
DisconnectAll(
Engine& engine,