diff options
author | Nathan West <nathan.west@okstate.edu> | 2016-04-30 20:22:00 -0400 |
---|---|---|
committer | Nathan West <nathan.west@gnuradio.org> | 2016-08-04 11:37:43 -0400 |
commit | 00dc1778398ef09c61947ce14542fcd7503ed4a2 (patch) | |
tree | 5c6a81bcb9207ef211fa33b15982d4daf2e71f42 | |
parent | c8ffbf08723f10a2455d3de9e04f8a94bbf70c15 (diff) |
runtime: add interface to get log_level for blocks
-rw-r--r-- | gnuradio-runtime/include/gnuradio/basic_block.h | 3 | ||||
-rw-r--r-- | gnuradio-runtime/include/gnuradio/block.h | 5 | ||||
-rw-r--r-- | gnuradio-runtime/include/gnuradio/hier_block2.h | 5 | ||||
-rw-r--r-- | gnuradio-runtime/lib/block.cc | 8 | ||||
-rw-r--r-- | gnuradio-runtime/lib/hier_block2.cc | 6 | ||||
-rw-r--r-- | gnuradio-runtime/lib/hier_block2_detail.cc | 8 | ||||
-rw-r--r-- | gnuradio-runtime/lib/hier_block2_detail.h | 1 | ||||
-rw-r--r-- | gnuradio-runtime/swig/block.i | 1 | ||||
-rw-r--r-- | gnuradio-runtime/swig/hier_block2.i | 1 |
9 files changed, 38 insertions, 0 deletions
diff --git a/gnuradio-runtime/include/gnuradio/basic_block.h b/gnuradio-runtime/include/gnuradio/basic_block.h index 6e9b1fff3b..8d7308efe2 100644 --- a/gnuradio-runtime/include/gnuradio/basic_block.h +++ b/gnuradio-runtime/include/gnuradio/basic_block.h @@ -380,6 +380,9 @@ namespace gr { virtual void set_log_level(std::string level) { throw std::runtime_error("set_log_level not overloaded in child class."); } + + virtual std::string log_level() + { throw std::runtime_error("log_level not overloaded in child class."); } }; inline bool operator<(basic_block_sptr lhs, basic_block_sptr rhs) diff --git a/gnuradio-runtime/include/gnuradio/block.h b/gnuradio-runtime/include/gnuradio/block.h index 4e6f607e25..21d41c0b63 100644 --- a/gnuradio-runtime/include/gnuradio/block.h +++ b/gnuradio-runtime/include/gnuradio/block.h @@ -652,6 +652,11 @@ namespace gr { */ void set_log_level(std::string level); + /*! + * \brief Get the logger's output level + */ + std::string log_level(); + /*! * \brief returns true when execution has completed due to a message connection */ diff --git a/gnuradio-runtime/include/gnuradio/hier_block2.h b/gnuradio-runtime/include/gnuradio/hier_block2.h index 6666906bfc..b7c6be2441 100644 --- a/gnuradio-runtime/include/gnuradio/hier_block2.h +++ b/gnuradio-runtime/include/gnuradio/hier_block2.h @@ -287,6 +287,11 @@ namespace gr { void set_log_level(std::string level); /*! + * \brief Get the logger's output level + */ + std::string log_level(); + + /*! * \brief Get if all block min buffers should be set. * * \details this returns whether all the block min output buffers diff --git a/gnuradio-runtime/lib/block.cc b/gnuradio-runtime/lib/block.cc index 4a6529708a..4c408ab7ed 100644 --- a/gnuradio-runtime/lib/block.cc +++ b/gnuradio-runtime/lib/block.cc @@ -720,6 +720,14 @@ namespace gr { logger_set_level(d_logger, level); } + std::string + block::log_level() + { + std::string level; + logger_get_level(d_logger, level); + return level; + } + void block::notify_msg_neighbors() { diff --git a/gnuradio-runtime/lib/hier_block2.cc b/gnuradio-runtime/lib/hier_block2.cc index c9798c4324..8ebbbda587 100644 --- a/gnuradio-runtime/lib/hier_block2.cc +++ b/gnuradio-runtime/lib/hier_block2.cc @@ -185,6 +185,12 @@ namespace gr { } std::string + hier_block2::log_level() + { + return d_detail->log_level(); + } + + std::string dot_graph(hier_block2_sptr hierblock2) { return dot_graph_fg(hierblock2->flatten()); diff --git a/gnuradio-runtime/lib/hier_block2_detail.cc b/gnuradio-runtime/lib/hier_block2_detail.cc index 93fc67de32..e6d867b269 100644 --- a/gnuradio-runtime/lib/hier_block2_detail.cc +++ b/gnuradio-runtime/lib/hier_block2_detail.cc @@ -965,5 +965,13 @@ namespace gr { } } + std::string + hier_block2_detail::log_level() + { + // Assume that log_level was set for all hier_block2 blocks + basic_block_vector_t tmp = d_fg->calc_used_blocks(); + return tmp[0]->log_level(); + } + } /* namespace gr */ diff --git a/gnuradio-runtime/lib/hier_block2_detail.h b/gnuradio-runtime/lib/hier_block2_detail.h index 0298d392d5..aa419c49bd 100644 --- a/gnuradio-runtime/lib/hier_block2_detail.h +++ b/gnuradio-runtime/lib/hier_block2_detail.h @@ -59,6 +59,7 @@ namespace gr { std::vector<int> processor_affinity(); void set_log_level(std::string level); + std::string log_level(); // Track output buffer min/max settings std::vector<size_t> d_max_output_buffer; diff --git a/gnuradio-runtime/swig/block.i b/gnuradio-runtime/swig/block.i index bc6f7254ec..64500575fb 100644 --- a/gnuradio-runtime/swig/block.i +++ b/gnuradio-runtime/swig/block.i @@ -58,6 +58,7 @@ class gr::block : public gr::basic_block uint64_t nitems_written(unsigned int which_output); void set_log_level(std::string level); + std::string log_level(); // Methods to manage the block's max_noutput_items size. int max_noutput_items(); diff --git a/gnuradio-runtime/swig/hier_block2.i b/gnuradio-runtime/swig/hier_block2.i index 4bf283965c..6e964db8a1 100644 --- a/gnuradio-runtime/swig/hier_block2.i +++ b/gnuradio-runtime/swig/hier_block2.i @@ -92,6 +92,7 @@ namespace gr { std::vector<int> processor_affinity(); void set_log_level(std::string level); + std::string log_level(); // Methods to manage block's min/max buffer sizes. size_t max_output_buffer(int i); |