summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan West <nathan.west@okstate.edu>2016-04-30 20:22:00 -0400
committerNathan West <nathan.west@gnuradio.org>2016-08-04 11:37:43 -0400
commit00dc1778398ef09c61947ce14542fcd7503ed4a2 (patch)
tree5c6a81bcb9207ef211fa33b15982d4daf2e71f42
parentc8ffbf08723f10a2455d3de9e04f8a94bbf70c15 (diff)
runtime: add interface to get log_level for blocks
-rw-r--r--gnuradio-runtime/include/gnuradio/basic_block.h3
-rw-r--r--gnuradio-runtime/include/gnuradio/block.h5
-rw-r--r--gnuradio-runtime/include/gnuradio/hier_block2.h5
-rw-r--r--gnuradio-runtime/lib/block.cc8
-rw-r--r--gnuradio-runtime/lib/hier_block2.cc6
-rw-r--r--gnuradio-runtime/lib/hier_block2_detail.cc8
-rw-r--r--gnuradio-runtime/lib/hier_block2_detail.h1
-rw-r--r--gnuradio-runtime/swig/block.i1
-rw-r--r--gnuradio-runtime/swig/hier_block2.i1
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);