summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
m---------Apology0
-rw-r--r--include/gnuradio/gr_top_block.h4
-rw-r--r--include/gnuradio/hier_block.hpp20
-rw-r--r--lib/gr_top_block.cpp10
-rw-r--r--lib/hier_block.cpp5
5 files changed, 25 insertions, 14 deletions
diff --git a/Apology b/Apology
-Subproject 132718e729bbb6e9d18a6f776eca4a3187978f0
+Subproject 7fabc009441ef1bb7396e71d927c02ce0e86276
diff --git a/include/gnuradio/gr_top_block.h b/include/gnuradio/gr_top_block.h
index 16adb13..b50b35b 100644
--- a/include/gnuradio/gr_top_block.h
+++ b/include/gnuradio/gr_top_block.h
@@ -27,10 +27,6 @@ struct GRAS_API gr_top_block : gnuradio::TopBlock
gr_top_block(const std::string &name);
- void lock(void);
-
- void unlock(void);
-
void start(void);
void start(const size_t max_items);
diff --git a/include/gnuradio/hier_block.hpp b/include/gnuradio/hier_block.hpp
index 8c337e3..c981b03 100644
--- a/include/gnuradio/hier_block.hpp
+++ b/include/gnuradio/hier_block.hpp
@@ -48,6 +48,26 @@ struct GRAS_API HierBlock : Element
void disconnect_all(void);
+ /*!
+ * Commit changes to the overall flow graph.
+ * Call this after modifying connections.
+ */
+ virtual void commit(void);
+
+ /*!
+ * The lock() call is deprecated.
+ * Topology can be changed duing design execution.
+ * The underlying implementation is literally a NOP.
+ */
+ inline void lock(void){}
+
+ /*!
+ * The unlock() call is deprecated.
+ * Topology can be changed duing design execution.
+ * The underlying implementation is this->commit().
+ */
+ inline void unlock(void){this->commit();}
+
};
} //namespace gnuradio
diff --git a/lib/gr_top_block.cpp b/lib/gr_top_block.cpp
index 6c023b1..c51f9b3 100644
--- a/lib/gr_top_block.cpp
+++ b/lib/gr_top_block.cpp
@@ -34,16 +34,6 @@ gr_top_block_sptr gr_make_top_block(const std::string &name)
return gr_top_block_sptr(new gr_top_block(name));
}
-void gr_top_block::lock(void)
-{
- //NOP
-}
-
-void gr_top_block::unlock(void)
-{
- this->commit();
-}
-
void gr_top_block::start(void)
{
gnuradio::TopBlock::start();
diff --git a/lib/hier_block.cpp b/lib/hier_block.cpp
index ef29cc2..422ed77 100644
--- a/lib/hier_block.cpp
+++ b/lib/hier_block.cpp
@@ -76,3 +76,8 @@ void HierBlock::disconnect_all(void)
{
(*this)->topology->clear_all();
}
+
+void HierBlock::commit(void)
+{
+ (*this)->topology->commit();
+}