commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r6163 - gnuradio/branches/developers/jcorgan/fg/gnurad


From: jcorgan
Subject: [Commit-gnuradio] r6163 - gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime
Date: Wed, 22 Aug 2007 11:24:40 -0600 (MDT)

Author: jcorgan
Date: 2007-08-22 11:24:40 -0600 (Wed, 22 Aug 2007)
New Revision: 6163

Removed:
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_simple_flowgraph.h
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_simple_flowgraph_detail.cc
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_simple_flowgraph_detail.h
Modified:
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/Makefile.am
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.cc
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.h
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.h
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.cc
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.h
   
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_types.h
Log:
Substitute new flowgraph classes into runtime/hier_block2.

Passes 'make check'.


Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/Makefile.am
   2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/Makefile.am
   2007-08-22 17:24:40 UTC (rev 6163)
@@ -33,8 +33,6 @@
        gr_basic_block.cc                       \
        gr_flowgraph.cc                         \
        gr_flat_flowgraph.cc                    \
-       gr_simple_flowgraph.cc                  \
-       gr_simple_flowgraph_detail.cc           \
        gr_block.cc                             \
        gr_block_detail.cc                      \
        gr_hier_block2.cc                       \
@@ -76,8 +74,6 @@
        gr_basic_block.h                        \
        gr_flowgraph.h                          \
        gr_flat_flowgraph.h                     \
-       gr_simple_flowgraph.h                   \
-       gr_simple_flowgraph_detail.h            \
        gr_block.h                              \
        gr_block_detail.h                       \
        gr_hier_block2.h                        \
@@ -139,3 +135,5 @@
        gr_sync_interpolator.i          \
        gr_swig_block_magic.i           \
        runtime.i
+
+MOSTLYCLEANFILES = *~ *.loT

Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.cc
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.cc
       2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.cc
       2007-08-22 17:24:40 UTC (rev 6163)
@@ -31,6 +31,10 @@
 
 #define GR_FLOWGRAPH_DEBUG 1
 
+gr_edge::~gr_edge()
+{
+}
+
 gr_flowgraph_sptr gr_make_flowgraph()
 {
   return gr_flowgraph_sptr(new gr_flowgraph());

Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.h
        2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_flowgraph.h
        2007-08-22 17:24:40 UTC (rev 6163)
@@ -119,6 +119,8 @@
   gr_basic_block_vector_t calc_used_blocks();
 
 protected:
+  friend class gr_hier_block2_detail; // TODO: remove the need for this
+
   gr_flowgraph();
 
   gr_basic_block_vector_t d_blocks;

Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
      2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
      2007-08-22 17:24:40 UTC (rev 6163)
@@ -24,7 +24,6 @@
 #endif
 
 #include <gr_hier_block2_detail.h>
-#include <gr_simple_flowgraph.h>
 #include <gr_io_signature.h>
 #include <gr_runtime.h>
 #include <stdexcept>
@@ -35,7 +34,7 @@
 gr_hier_block2_detail::gr_hier_block2_detail(gr_hier_block2 *owner) :
   d_owner(owner), 
   d_parent_detail(0),
-  d_fg(gr_make_simple_flowgraph()),
+  d_fg(gr_make_flowgraph()),
   d_inputs(owner->input_signature()->max_streams()),
   d_outputs(owner->output_signature()->max_streams()),
   d_runtime()
@@ -228,22 +227,22 @@
 }
 
 void
-gr_hier_block2_detail::flatten(gr_simple_flowgraph_sptr sfg)
+gr_hier_block2_detail::flatten(gr_flat_flowgraph_sptr sfg)
 {
   if (GR_HIER_BLOCK2_DETAIL_DEBUG)
     std::cout << "flattening " << d_owner->name() << std::endl;
 
   // Add my edges to the flow graph, resolving references to actual endpoints
-  for (gr_edge_viter_t p = d_fg->d_detail->d_edges.begin(); p != 
d_fg->d_detail->d_edges.end(); p++) {
+  for (gr_edge_viter_t p = d_fg->d_edges.begin(); p != d_fg->d_edges.end(); 
p++) {
     if (GR_HIER_BLOCK2_DETAIL_DEBUG)
       std::cout << "Flattening edge " << (*p) << std::endl;
 
-    gr_endpoint src_endp = resolve_endpoint((*p)->src(), false);
-    gr_endpoint dst_endp = resolve_endpoint((*p)->dst(), true);
+    gr_endpoint src_endp = resolve_endpoint(p->src(), false);
+    gr_endpoint dst_endp = resolve_endpoint(p->dst(), true);
     sfg->connect(src_endp, dst_endp);
   }
 
-  gr_basic_block_vector_t blocks = d_fg->d_detail->calc_used_blocks();
+  gr_basic_block_vector_t blocks = d_fg->calc_used_blocks();
 
   // Recurse hierarchical children
   for (gr_basic_block_viter_t p = blocks.begin(); p != blocks.end(); p++) {

Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.h
       2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.h
       2007-08-22 17:24:40 UTC (rev 6163)
@@ -22,7 +22,7 @@
 #define INCLUDED_GR_HIER_BLOCK2_DETAIL_H
 
 #include <gr_hier_block2.h>
-#include <gr_simple_flowgraph_detail.h>
+#include <gr_flat_flowgraph.h>
 #include <boost/utility.hpp>
 
 class gr_hier_block2_detail : boost::noncopyable
@@ -37,7 +37,7 @@
     // Private implementation data
     gr_hier_block2 *d_owner;
     gr_hier_block2_detail *d_parent_detail;
-    gr_simple_flowgraph_sptr d_fg;
+    gr_flowgraph_sptr d_fg;
     gr_endpoint_vector_t d_inputs;
     gr_endpoint_vector_t d_outputs;
     gr_runtime *d_runtime;
@@ -51,7 +51,7 @@
     void connect_output(int my_port, int port, gr_basic_block_sptr block);
     void disconnect_input(int my_port, int port, gr_basic_block_sptr block);
     void disconnect_output(int my_port, int port, gr_basic_block_sptr block);
-    void flatten(gr_simple_flowgraph_sptr sfg);
+    void flatten(gr_flat_flowgraph_sptr sfg);
     gr_endpoint resolve_port(int port, bool is_input);
     gr_endpoint resolve_endpoint(const gr_endpoint &endp, bool is_input);
     void set_runtime(gr_runtime *runtime) { d_runtime = runtime; }

Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.cc
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.cc
    2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.cc
    2007-08-22 17:24:40 UTC (rev 6163)
@@ -26,7 +26,7 @@
 
 #include <gr_runtime.h>
 #include <gr_runtime_impl.h>
-#include <gr_simple_flowgraph.h>
+#include <gr_flat_flowgraph.h>
 #include <gr_hier_block2.h>
 #include <gr_hier_block2_detail.h>
 #include <gr_local_sighandler.h>
@@ -56,7 +56,7 @@
 gr_runtime_impl::gr_runtime_impl(gr_hier_block2_sptr top_block, gr_runtime 
*owner) 
   : d_running(false),
     d_top_block(top_block),
-    d_sfg(gr_make_simple_flowgraph()),
+    d_ffg(gr_make_flat_flowgraph()),
     d_owner(owner)
 {
   s_runtime = this;
@@ -79,12 +79,12 @@
     throw std::runtime_error("already running");
 
   // Create new simple flow graph by flattening hierarchical block
-  d_sfg->d_detail->reset();
-  d_top_block->d_detail->flatten(d_sfg);
+  d_ffg->clear();
+  d_top_block->d_detail->flatten(d_ffg);
 
   // Validate new simple flow graph and wire it up
-  d_sfg->d_detail->validate();
-  d_sfg->d_detail->setup_connections();
+  d_ffg->validate();
+  d_ffg->setup_connections();
 
   // Execute scheduler threads
   start_threads();
@@ -96,7 +96,7 @@
   if (GR_RUNTIME_IMPL_DEBUG)
     std::cout << "start_threads: entered" << std::endl;
 
-  d_graphs = d_sfg->d_detail->partition();
+  d_graphs = d_ffg->partition();
   for (std::vector<gr_block_vector_t>::iterator p = d_graphs.begin();
        p != d_graphs.end(); p++) {
     gr_scheduler_thread *thread = new gr_scheduler_thread(*p);
@@ -188,14 +188,14 @@
     std::cout << "restart: threads stopped" << std::endl;
 
   // Create new simple flow graph 
-  gr_simple_flowgraph_sptr new_sfg = gr_make_simple_flowgraph();
-  d_top_block->d_detail->flatten(new_sfg);
-  new_sfg->validate();
-  new_sfg->d_detail->merge_connections(d_sfg);
+  gr_flat_flowgraph_sptr new_ffg = gr_make_flat_flowgraph();
+  d_top_block->d_detail->flatten(new_ffg);
+  new_ffg->validate();
+  new_ffg->merge_connections(d_ffg);
 
   if (GR_RUNTIME_IMPL_DEBUG)
     std::cout << "restart: replacing old flow graph with new" << std::endl;
-  d_sfg = new_sfg;
+  d_ffg = new_ffg;
 
   start_threads();
 }

Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.h
     2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_impl.h
     2007-08-22 17:24:40 UTC (rev 6163)
@@ -72,7 +72,7 @@
     
   bool                           d_running;
   gr_hier_block2_sptr            d_top_block;
-  gr_simple_flowgraph_sptr       d_sfg;
+  gr_flat_flowgraph_sptr         d_ffg;
   std::vector<gr_block_vector_t> d_graphs;
   gr_scheduler_thread_vector_t   d_threads;
   gr_runtime                    *d_owner;

Modified: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_types.h
===================================================================
--- 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_types.h
    2007-08-22 15:58:16 UTC (rev 6162)
+++ 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_runtime_types.h
    2007-08-22 17:24:40 UTC (rev 6163)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004 Free Software Foundation, Inc.
+ * Copyright 2004,2007 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -36,9 +36,8 @@
 class gr_io_signature;
 class gr_buffer;
 class gr_buffer_reader;
-class gr_simple_flowgraph;
-class gr_flat_flowgraph;
 class gr_flowgraph;
+class gr_flat_flowgraph;
 class gr_runtime;
 
 typedef boost::shared_ptr<gr_basic_block>       gr_basic_block_sptr;
@@ -49,7 +48,6 @@
 typedef boost::shared_ptr<gr_buffer>           gr_buffer_sptr;
 typedef boost::shared_ptr<gr_buffer_reader>    gr_buffer_reader_sptr;
 typedef boost::shared_ptr<gr_runtime>          gr_runtime_sptr;
-typedef boost::shared_ptr<gr_simple_flowgraph>  gr_simple_flowgraph_sptr;
 typedef boost::shared_ptr<gr_flowgraph>         gr_flowgraph_sptr;
 typedef boost::shared_ptr<gr_flat_flowgraph>    gr_flat_flowgraph_sptr;
 

Deleted: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_simple_flowgraph.h

Deleted: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_simple_flowgraph_detail.cc

Deleted: 
gnuradio/branches/developers/jcorgan/fg/gnuradio-core/src/lib/runtime/gr_simple_flowgraph_detail.h





reply via email to

[Prev in Thread] Current Thread [Next in Thread]