[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3891 - in gnuradio/branches/developers/jcorgan/hier/g
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r3891 - in gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src: lib/runtime python/gnuradio/gr |
Date: |
Sun, 29 Oct 2006 13:13:04 -0700 (MST) |
Author: jcorgan
Date: 2006-10-29 13:13:03 -0700 (Sun, 29 Oct 2006)
New Revision: 3891
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.h
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
Log:
Work in progress.
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
2006-10-28 22:39:26 UTC (rev 3890)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
2006-10-29 20:13:03 UTC (rev 3891)
@@ -55,7 +55,11 @@
if (GR_HIER_BLOCK2_DEBUG)
std::cout << "Adding block '" << name << "' to container '" << d_name
<< "'" << std::endl;
- if (d_impl->lookup_component(name))
+ if (d_impl->get_component_by_name(name))
+ throw std::invalid_argument("Name already in use");
+
+ std::string result = d_impl->get_name_by_component(comp);
+ if (d_impl->get_name_by_component(comp) != std::string(""))
throw std::invalid_argument("Component already defined");
d_impl->d_components.push_back(gr_hier_component(name, comp));
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
2006-10-28 22:39:26 UTC (rev 3890)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
2006-10-29 20:13:03 UTC (rev 3891)
@@ -37,7 +37,7 @@
{
}
-gr_basic_block_sptr gr_hier_block2_impl::lookup_component(std::string name)
+gr_basic_block_sptr gr_hier_block2_impl::get_component_by_name(std::string
name)
{
for (std::vector<gr_hier_component>::const_iterator p =
d_components.begin();
p != d_components.end(); p++) {
@@ -47,3 +47,14 @@
return gr_basic_block_sptr();
}
+
+std::string gr_hier_block2_impl::get_name_by_component(gr_basic_block_sptr
component)
+{
+ for (std::vector<gr_hier_component>::const_iterator p =
d_components.begin();
+ p != d_components.end(); p++) {
+ if (component == p->component())
+ return p->name();
+ }
+
+ return std::string();
+}
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.h
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.h
2006-10-28 22:39:26 UTC (rev 3890)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.h
2006-10-29 20:13:03 UTC (rev 3891)
@@ -55,8 +55,9 @@
std::vector<gr_hier_component> d_components;
- gr_basic_block_sptr lookup_component(const std::string name);
-
+ gr_basic_block_sptr get_component_by_name(const std::string name);
+ std::string get_name_by_component(gr_basic_block_sptr component);
+
public:
~gr_hier_block2_impl();
};
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
2006-10-28 22:39:26 UTC (rev 3890)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
2006-10-29 20:13:03 UTC (rev 3891)
@@ -31,7 +31,7 @@
hblock.define_component("source", src1)
hblock.define_component("sink", sink1)
- def test_003_define_component_already_defined(self):
+ def test_003_define_component_name_in_use(self):
hblock = gr.hier_block2("test_block",
gr.io_signature(1,1,gr.sizeof_int),
gr.io_signature(1,1,gr.sizeof_int))
@@ -42,6 +42,15 @@
hblock.define_component("source", src1)
self.assertRaises(ValueError, lambda: hblock.define_component("source",
sink1))
+ def test_004_define_component_block_in_use(self):
+ hblock = gr.hier_block2("test_block",
+ gr.io_signature(1,1,gr.sizeof_int),
+ gr.io_signature(1,1,gr.sizeof_int))
+
+ nop1 = gr.nop(gr.sizeof_int)
+ nop2 = gr.nop(gr.sizeof_int)
+ hblock.define_component("nop1", nop1)
+ self.assertRaises(ValueError, lambda: hblock.define_component("nop2",
nop1))
if __name__ == "__main__":
gr_unittest.main()
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3891 - in gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src: lib/runtime python/gnuradio/gr,
jcorgan <=