Merged r5950:5978 from features/pager into trunk. Trunk passes distcheck.
[debian/gnuradio] / gnuradio-core / src / lib / runtime / gr_hier_block2.cc
index 65dea95fbb6469186945ae0e7a5f24ca4b7d5175..fc74ff431b011e987ef9287f0adabf46b156f201 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2007 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -29,6 +29,8 @@
 #include <gr_hier_block2_detail.h>
 #include <iostream>
 
+#define GR_HIER_BLOCK2_DEBUG 0
+
 gr_hier_block2_sptr gr_make_hier_block2(const std::string &name, 
                                         gr_io_signature_sptr input_signature,
                                         gr_io_signature_sptr output_signature)
@@ -50,14 +52,35 @@ gr_hier_block2::~gr_hier_block2()
 }
 
 void 
-gr_hier_block2::define_component(const std::string &name, gr_basic_block_sptr block)
+gr_hier_block2::connect(gr_basic_block_sptr src, int src_port, 
+                        gr_basic_block_sptr dst, int dst_port)
 {
-    d_detail->define_component(name, block);
+    d_detail->connect(src, src_port, dst, dst_port);
 }
 
 void 
-gr_hier_block2::connect(const std::string &src_name, int src_port, 
-                        const std::string &dst_name, int dst_port)
+gr_hier_block2::disconnect(gr_basic_block_sptr src, int src_port, 
+                           gr_basic_block_sptr dst, int dst_port)
+{
+    d_detail->disconnect(src, src_port, dst, dst_port);
+}
+
+void
+gr_hier_block2::set_runtime(gr_runtime *runtime)
+{
+    if (GR_HIER_BLOCK2_DEBUG)
+      std::cout << "Setting runtime on " << this << " to " << runtime << std::endl;
+    d_detail->set_runtime(runtime);
+}
+
+void
+gr_hier_block2::lock()
+{
+    d_detail->lock();
+}
+
+void
+gr_hier_block2::unlock()
 {
-    d_detail->connect(src_name, src_port, dst_name, dst_port);
+    d_detail->unlock();
 }