summaryrefslogtreecommitdiff
path: root/gnuradio-runtime
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2017-06-27 13:29:41 -0700
committerJohnathan Corgan <johnathan@corganlabs.com>2017-06-27 13:29:41 -0700
commit9e011f1d116daaf5abdd8d05a83341390159a21b (patch)
tree24b946d510a313f96c4427f0304ad7f145ea5df1 /gnuradio-runtime
parent99ee660ce3701a33efa1737ae341e5360661f900 (diff)
parent2577279fa5fe8d5ed93b62c2c83c523c99dfbbea (diff)
Merge branch 'master' into next
Diffstat (limited to 'gnuradio-runtime')
-rw-r--r--gnuradio-runtime/include/gnuradio/block.h12
-rw-r--r--gnuradio-runtime/include/gnuradio/block_gateway.h5
-rw-r--r--gnuradio-runtime/include/gnuradio/rpccallbackregister_base.h6
-rw-r--r--gnuradio-runtime/include/gnuradio/rpcserver_aggregator.h12
-rw-r--r--gnuradio-runtime/include/gnuradio/rpcserver_base.h6
-rw-r--r--gnuradio-runtime/lib/block_executor.cc4
-rw-r--r--gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc6
7 files changed, 28 insertions, 23 deletions
diff --git a/gnuradio-runtime/include/gnuradio/block.h b/gnuradio-runtime/include/gnuradio/block.h
index 533591930b..d23358cccb 100644
--- a/gnuradio-runtime/include/gnuradio/block.h
+++ b/gnuradio-runtime/include/gnuradio/block.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2007,2009,2010,2013 Free Software Foundation, Inc.
+ * Copyright 2004,2007,2009,2010,2013,2017 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -67,10 +67,14 @@ namespace gr {
WORK_DONE = -1
};
+ /*!
+ * \brief enum to represent different tag propagation policies.
+ */
enum tag_propagation_policy_t {
- TPP_DONT = 0,
- TPP_ALL_TO_ALL = 1,
- TPP_ONE_TO_ONE = 2
+ TPP_DONT = 0, /*!< Scheduler doesn't propagate tags from in- to output. The block itself is free to insert tags as it wants. */
+ TPP_ALL_TO_ALL = 1, /*!< Propagate tags from all in- to all outputs. The scheduler takes care of that. */
+ TPP_ONE_TO_ONE = 2, /*!< Propagate tags from n. input to n. output. Requires same number of in- and outputs */
+ TPP_CUSTOM = 3 /*!< Like TPP_DONT, but signals the block it should implement application-specific forwarding behaviour. */
};
virtual ~block();
diff --git a/gnuradio-runtime/include/gnuradio/block_gateway.h b/gnuradio-runtime/include/gnuradio/block_gateway.h
index bc04c0c915..060e525358 100644
--- a/gnuradio-runtime/include/gnuradio/block_gateway.h
+++ b/gnuradio-runtime/include/gnuradio/block_gateway.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2011-2013 Free Software Foundation, Inc.
+ * Copyright 2011-2013,2017 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -44,7 +44,8 @@ namespace gr {
enum tag_propagation_policy_t {
TPP_DONT = 0,
TPP_ALL_TO_ALL = 1,
- TPP_ONE_TO_ONE = 2
+ TPP_ONE_TO_ONE = 2,
+ TPP_CUSTOM = 3
};
/*!
diff --git a/gnuradio-runtime/include/gnuradio/rpccallbackregister_base.h b/gnuradio-runtime/include/gnuradio/rpccallbackregister_base.h
index 14e8772449..c136791994 100644
--- a/gnuradio-runtime/include/gnuradio/rpccallbackregister_base.h
+++ b/gnuradio-runtime/include/gnuradio/rpccallbackregister_base.h
@@ -104,11 +104,11 @@ struct callbackregister_base
callbackregister_base() {;}
virtual ~callbackregister_base() {;}
- virtual void registerConfigureCallback(const std::string &id, const configureCallback_t callback) = 0;
+ virtual void registerConfigureCallback(const std::string &id, const configureCallback_t &callback) = 0;
virtual void unregisterConfigureCallback(const std::string &id) = 0;
- virtual void registerQueryCallback(const std::string &id, const queryCallback_t callback) = 0;
+ virtual void registerQueryCallback(const std::string &id, const queryCallback_t &callback) = 0;
virtual void unregisterQueryCallback(const std::string &id) = 0;
- virtual void registerHandlerCallback(const std::string &id, const handlerCallback_t callback) = 0;
+ virtual void registerHandlerCallback(const std::string &id, const handlerCallback_t &callback) = 0;
virtual void unregisterHandlerCallback(const std::string &id) = 0;
};
diff --git a/gnuradio-runtime/include/gnuradio/rpcserver_aggregator.h b/gnuradio-runtime/include/gnuradio/rpcserver_aggregator.h
index 08426bb00c..c9c5356309 100644
--- a/gnuradio-runtime/include/gnuradio/rpcserver_aggregator.h
+++ b/gnuradio-runtime/include/gnuradio/rpcserver_aggregator.h
@@ -34,13 +34,13 @@ public:
rpcserver_aggregator();
virtual ~rpcserver_aggregator();
- void registerConfigureCallback(const std::string &id, const configureCallback_t callback);
+ void registerConfigureCallback(const std::string &id, const configureCallback_t &callback);
void unregisterConfigureCallback(const std::string &id);
- void registerQueryCallback(const std::string &id, const queryCallback_t callback);
+ void registerQueryCallback(const std::string &id, const queryCallback_t &callback);
void unregisterQueryCallback(const std::string &id);
- void registerHandlerCallback(const std::string &id, const handlerCallback_t callback);
+ void registerHandlerCallback(const std::string &id, const handlerCallback_t &callback);
void unregisterHandlerCallback(const std::string &id);
void registerServer(rpcmanager_base::rpcserver_booter_base_sptr server);
@@ -53,7 +53,7 @@ private:
template<class T, typename Tcallback>
struct registerConfigureCallback_f: public std::unary_function<T,void>
{
- registerConfigureCallback_f(const std::string &_id, const Tcallback _callback)
+ registerConfigureCallback_f(const std::string &_id, const Tcallback &_callback)
: id(_id), callback(_callback)
{;}
@@ -75,7 +75,7 @@ private:
template<class T, typename Tcallback>
struct registerQueryCallback_f: public std::unary_function<T,void>
{
- registerQueryCallback_f(const std::string &_id, const Tcallback _callback)
+ registerQueryCallback_f(const std::string &_id, const Tcallback &_callback)
: id(_id), callback(_callback)
{;}
@@ -99,7 +99,7 @@ private:
template<class T, typename Tcallback>
struct registerHandlerCallback_f: public std::unary_function<T,void>
{
- registerHandlerCallback_f(const std::string &_id, const Tcallback _callback)
+ registerHandlerCallback_f(const std::string &_id, const Tcallback &_callback)
: id(_id), callback(_callback)
{;}
diff --git a/gnuradio-runtime/include/gnuradio/rpcserver_base.h b/gnuradio-runtime/include/gnuradio/rpcserver_base.h
index 276dec5d1e..c85165bcad 100644
--- a/gnuradio-runtime/include/gnuradio/rpcserver_base.h
+++ b/gnuradio-runtime/include/gnuradio/rpcserver_base.h
@@ -31,13 +31,13 @@ public:
rpcserver_base() : cur_priv(RPC_PRIVLVL_ALL) {;}
virtual ~rpcserver_base() {;}
- virtual void registerConfigureCallback(const std::string &id, const configureCallback_t callback) = 0;
+ virtual void registerConfigureCallback(const std::string &id, const configureCallback_t &callback) = 0;
virtual void unregisterConfigureCallback(const std::string &id) = 0;
- virtual void registerQueryCallback(const std::string &id, const queryCallback_t callback) = 0;
+ virtual void registerQueryCallback(const std::string &id, const queryCallback_t &callback) = 0;
virtual void unregisterQueryCallback(const std::string &id) = 0;
- virtual void registerHandlerCallback(const std::string &id, const handlerCallback_t callback) = 0;
+ virtual void registerHandlerCallback(const std::string &id, const handlerCallback_t &callback) = 0;
virtual void unregisterHandlerCallback(const std::string &id) = 0;
virtual void setCurPrivLevel(const priv_lvl_t priv) { cur_priv = priv; }
diff --git a/gnuradio-runtime/lib/block_executor.cc b/gnuradio-runtime/lib/block_executor.cc
index 585e65fc6e..5c23df39a5 100644
--- a/gnuradio-runtime/lib/block_executor.cc
+++ b/gnuradio-runtime/lib/block_executor.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2004,2008-2010,2013 Free Software Foundation, Inc.
+ * Copyright 2004,2008-2010,2013,2017 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -103,8 +103,8 @@ namespace gr {
switch(policy) {
case block::TPP_DONT:
+ case block::TPP_CUSTOM:
return true;
- break;
case block::TPP_ALL_TO_ALL:
// every tag on every input propogates to everyone downstream
for(int i = 0; i < d->ninputs(); i++) {
diff --git a/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc b/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
index e81a899626..f546c2daab 100644
--- a/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
+++ b/gnuradio-runtime/lib/controlport/rpcserver_aggregator.cc
@@ -47,7 +47,7 @@ rpcserver_aggregator::registeredServers()
void
rpcserver_aggregator::registerConfigureCallback(const std::string &id,
- const configureCallback_t callback)
+ const configureCallback_t &callback)
{
std::for_each(d_serverlist.begin(), d_serverlist.end(),
registerConfigureCallback_f<rpcmanager_base::rpcserver_booter_base_sptr, configureCallback_t>(id, callback));
@@ -61,7 +61,7 @@ rpcserver_aggregator::unregisterConfigureCallback(const std::string &id)
}
void
-rpcserver_aggregator::registerQueryCallback(const std::string &id, const queryCallback_t callback)
+rpcserver_aggregator::registerQueryCallback(const std::string &id, const queryCallback_t &callback)
{
std::for_each(d_serverlist.begin(), d_serverlist.end(),
registerQueryCallback_f<rpcmanager_base::rpcserver_booter_base_sptr, queryCallback_t>(id, callback));
@@ -78,7 +78,7 @@ rpcserver_aggregator::unregisterQueryCallback(const std::string &id)
void
rpcserver_aggregator::registerHandlerCallback(const std::string &id,
- const handlerCallback_t callback)
+ 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));