summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2015-10-07 07:15:56 -0400
committerTom Rondeau <tom@trondeau.com>2015-10-16 15:48:47 -0400
commit09b03871e81da2b09792a454ee3caf28bdad4c3c (patch)
tree577b2ca08026ce833963e7e494069e593b5a489f /gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
parentce28185909272d2aebc0e8279a4ab2c3cca16c02 (diff)
ctrlport: provides a ControlPort model that connects directly with a
block's message handler. We still need to register this in setup_rpc, but there might be a way to automate the registering of this during set_msg_handler if ControlPort is enabled.
Diffstat (limited to 'gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc')
-rw-r--r--gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc b/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
index 3ff553af69..e81a899626 100644
--- a/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
+++ b/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
@@ -74,6 +74,25 @@ rpcserver_aggregator::unregisterQueryCallback(const std::string &id)
unregisterQueryCallback_f<rpcmanager_base::rpcserver_booter_base_sptr, queryCallback_t>(id));
}
+
+
+void
+rpcserver_aggregator::registerHandlerCallback(const std::string &id,
+ const handlerCallback_t callback)
+{
+ std::for_each(d_serverlist.begin(), d_serverlist.end(),
+ registerHandlerCallback_f<rpcmanager_base::rpcserver_booter_base_sptr, handlerCallback_t>(id, callback));
+}
+
+void
+rpcserver_aggregator::unregisterHandlerCallback(const std::string &id)
+{
+ std::for_each(d_serverlist.begin(), d_serverlist.end(),
+ unregisterHandlerCallback_f<rpcmanager_base::rpcserver_booter_base_sptr, handlerCallback_t>(id));
+}
+
+
+
void
rpcserver_aggregator::registerServer(rpcmanager_base::rpcserver_booter_base_sptr server)
{