diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2017-06-27 13:28:58 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2017-06-27 13:28:58 -0700 |
commit | d725f978a4cf21f5a9fc3dd4e02c2b7753c683d2 (patch) | |
tree | f8ac162459aafef8b051376fdb41b41594435314 /gnuradio-runtime | |
parent | 54e89c6431c249bbe560568d76800fef6a245506 (diff) | |
parent | 4a7c612bdebe268cacd60cf137252c5d1753a701 (diff) |
Merge branch 'maint'
Diffstat (limited to 'gnuradio-runtime')
7 files changed, 28 insertions, 23 deletions
diff --git a/gnuradio-runtime/include/gnuradio/block.h b/gnuradio-runtime/include/gnuradio/block.h index 10742e093..3e74dd8c9 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 bc04c0c91..060e52535 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 14e877244..c13679199 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 08426bb00..c9c535630 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 276dec5d1..c85165bca 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 585e65fc6..5c23df39a 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 e81a89962..f546c2daa 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)); |