[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3880 - gnuradio/branches/developers/jcorgan/hier/gnur
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r3880 - gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime |
Date: |
Fri, 27 Oct 2006 16:00:50 -0600 (MDT) |
Author: jcorgan
Date: 2006-10-27 16:00:50 -0600 (Fri, 27 Oct 2006)
New Revision: 3880
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.h
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.i
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.cc
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.h
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-27 20:27:41 UTC (rev 3879)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.cc
2006-10-27 22:00:50 UTC (rev 3880)
@@ -33,9 +33,6 @@
gr_io_signature_sptr input_signature,
gr_io_signature_sptr output_signature)
{
- if (GR_HIER_BLOCK2_DEBUG)
- cout << "gr_make_hier_block2: entered" << endl;
-
return gr_hier_block2_sptr(new gr_hier_block2(name, input_signature,
output_signature));
}
@@ -45,11 +42,15 @@
: gr_basic_block(name, input_signature, output_signature)
{
if (GR_HIER_BLOCK2_DEBUG)
- cout << "gr_hier_block2::gr_hier_block2: constructor" << endl;
+ cout << "Constructing hier_block2 with name '" << name << "'." << endl;
}
gr_hier_block2::~gr_hier_block2 ()
{
+}
+
+void gr_hier_block2::define_component(const string name, gr_block_sptr comp)
+{
if (GR_HIER_BLOCK2_DEBUG)
- cout << "gr_hier_block2::~gr_hier_block2: destructor" << endl;
+ cout << "Adding block '" << name << "' to container." << endl;
}
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.h
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.h
2006-10-27 20:27:41 UTC (rev 3879)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.h
2006-10-27 22:00:50 UTC (rev 3880)
@@ -40,17 +40,21 @@
*/
class gr_hier_block2 : public gr_basic_block
{
-private:
+private:
+ friend gr_hier_block2_sptr gr_make_hier_block2(const std::string name,
+ gr_io_signature_sptr
input_signature,
+ gr_io_signature_sptr
output_signature);
+protected:
gr_hier_block2(const std::string name,
gr_io_signature_sptr input_signature,
gr_io_signature_sptr output_signature);
- friend gr_hier_block2_sptr gr_make_hier_block2(const std::string name,
- gr_io_signature_sptr
input_signature,
- gr_io_signature_sptr
output_signature);
public:
~gr_hier_block2();
+
+ // Add a named terminal block to container
+ void define_component(const std::string name, gr_block_sptr comp);
};
#endif /* INCLUDED_GR_HIER_BLOCK2_H */
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.i
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.i
2006-10-27 20:27:41 UTC (rev 3879)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2.i
2006-10-27 22:00:50 UTC (rev 3880)
@@ -41,4 +41,7 @@
public:
~gr_hier_block2 ();
+
+ // Add a named terminal block to the container
+ void define_component(const std::string name, gr_block_sptr comp);
};
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.cc
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.cc
2006-10-27 20:27:41 UTC (rev 3879)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.cc
2006-10-27 22:00:50 UTC (rev 3880)
@@ -27,7 +27,48 @@
#include <qa_gr_hier_block2.h>
#include <gr_hier_block2.h>
#include <gr_io_signature.h>
+#include <gr_null_source.h>
+#include <gr_null_sink.h>
+// gr_hier_block2 functionality only available from within derived class, so
make one
+class gr_test_block;
+typedef boost::shared_ptr<gr_test_block> gr_test_block_sptr;
+gr_test_block_sptr gr_make_test_block();
+
+class gr_test_block : public gr_hier_block2
+{
+private:
+ gr_test_block();
+ friend gr_test_block_sptr gr_make_test_block();
+
+ gr_block_sptr src1;
+ gr_block_sptr sink1;
+
+public:
+ ~gr_test_block();
+};
+
+gr_test_block_sptr gr_make_test_block()
+{
+ return gr_test_block_sptr(new gr_test_block());
+}
+
+gr_test_block::gr_test_block()
+ : gr_hier_block2("test_block",
+ gr_make_io_signature(1, 1, sizeof(int)),
+ gr_make_io_signature(1, 1, sizeof(int)))
+{
+ src1 = gr_make_null_source(sizeof(int));
+ sink1 = gr_make_null_sink(sizeof(int));
+
+ define_component("source", src1);
+ define_component("sink", sink1);
+}
+
+gr_test_block::~gr_test_block()
+{
+}
+
void qa_gr_hier_block2::test_make()
{
gr_hier_block2_sptr src1(gr_make_hier_block2("test",
@@ -42,3 +83,16 @@
CPPUNIT_ASSERT_EQUAL(sizeof(int),
src1->output_signature()->sizeof_stream_item(0));
}
+
+void qa_gr_hier_block2::test_derived()
+{
+ gr_test_block_sptr blk1(gr_make_test_block());
+
+ CPPUNIT_ASSERT(blk1);
+ CPPUNIT_ASSERT_EQUAL(std::string("test_block"), blk1->name());
+ CPPUNIT_ASSERT_EQUAL(1, blk1->input_signature()->max_streams());
+ CPPUNIT_ASSERT_EQUAL(1, blk1->output_signature()->min_streams());
+ CPPUNIT_ASSERT_EQUAL(1, blk1->output_signature()->max_streams());
+ CPPUNIT_ASSERT_EQUAL(sizeof(int),
+ blk1->output_signature()->sizeof_stream_item(0));
+}
Modified:
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.h
===================================================================
---
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.h
2006-10-27 20:27:41 UTC (rev 3879)
+++
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/qa_gr_hier_block2.h
2006-10-27 22:00:50 UTC (rev 3880)
@@ -32,11 +32,13 @@
CPPUNIT_TEST_SUITE(qa_gr_hier_block2);
CPPUNIT_TEST(test_make);
-
+ CPPUNIT_TEST(test_derived);
+
CPPUNIT_TEST_SUITE_END();
private:
void test_make();
+ void test_derived();
};
#endif /* INCLUDED_QA_GR_HIER_BLOCK2_H */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3880 - gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime,
jcorgan <=