commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] r3976 - gnuradio/branches/developers/eb/mb/mblock/src/


From: eb
Subject: [Commit-gnuradio] r3976 - gnuradio/branches/developers/eb/mb/mblock/src/lib
Date: Sun, 12 Nov 2006 22:13:04 -0700 (MST)

Author: eb
Date: 2006-11-12 22:13:03 -0700 (Sun, 12 Nov 2006)
New Revision: 3976

Modified:
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.cc
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h
   gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc
Log:
work-in-progress

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h  
2006-11-12 23:34:45 UTC (rev 3975)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h  
2006-11-13 05:13:03 UTC (rev 3976)
@@ -22,7 +22,10 @@
 #define INCLUDED_MB_MBLOCK_IMPL_H
 
 #include <mb_mblock.h>
+#include <list>
+#include <map>
 
+
 class mb_component
 {
   pmt_t                        d_name;
@@ -36,6 +39,9 @@
   mb_mblock_sptr component() const { return d_component; }
 };
 
+
+typedef std::map<pmt_t, mb_port_sptr, std::less<unsigned long int> > 
mb_port_map_t;
+
 /*!
  * \brief Endpoint specification for connection
  */
@@ -59,22 +65,48 @@
   mb_port_sptr port() const { return d_port; }
 };
 
-
 /*!
  * \brief Representation of a connection
  */
 class mb_connection {
-  mb_endpoint  d_ep0;
-  mb_endpoint  d_ep1;
+  mb_endpoint  d_ep[2];
 };
 
+typedef std::list<mb_connection>::iterator mb_conn_iter;
+
+/*!
+ * \brief data structure that keeps track of connections
+ */
 class mb_conn_table {
-  std::vector<mb_connection> d_connections;
+  std::list<mb_connection> d_connections;
 
 public:
+  mb_conn_iter
+  lookup_conn0_by_name(const std::string &component_name,
+                      const std::string &port_name) const;
+  mb_conn_iter
+  lookup_conn1_by_name(const std::string &component_name,
+                      const std::string &port_name) const;
+  mb_conn_iter
+  lookup_conn_by_name(const std::string &component_name,
+                     const std::string &port_name, int &which_ep) const;
+
+  mb_conn_iter
+  lookup_conn0_by_port(mb_port_sptr port) const;
+
+  mb_conn_iter
+  lookup_conn1_by_port(mb_port_sptr port) const;
+
+  mb_conn_iter
+  lookup_conn_by_port(mb_port_sptr port, int &which_ep) const;
+
+  void
+  create_conn(const mb_endpoint &ep0, const mb_endpoint &ep1);
 };
 
 
+
+
 /*!
  * \brief The private implementation details of the mblock system.
  */
@@ -85,6 +117,7 @@
   std::vector<mb_port_sptr>    d_ports;        // our ports
   std::vector<mb_component>    d_components;   // our components
 
+  mb_port_map_t                        d_port_map;
 
   mb_mblock_impl();
 

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.cc        
2006-11-12 23:34:45 UTC (rev 3975)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.cc        
2006-11-13 05:13:03 UTC (rev 3976)
@@ -33,8 +33,8 @@
                 bool conjugated,
                 mb_port_class::port_type_t port_type)
   : d_port_class(mb_make_port_class(port_name, protocol_class_name,
-                                   conjugated, port_type)),
-    d_remote_port_name(PMT_NIL)
+                                   conjugated, port_type))
+    //d_remote_port_name(PMT_NIL)
 {
 }
 

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h 2006-11-12 
23:34:45 UTC (rev 3975)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h 2006-11-13 
05:13:03 UTC (rev 3976)
@@ -34,8 +34,8 @@
 
   // FIXME cached shortcut to other end
   // These are only valid if this port is connected
-  mb_mblock_sptr       d_remote_mblock;        // mblock bound to other end 
this port
-  pmt_t                        d_remote_port_name;     // port_name on other 
end of this port
+  //mb_mblock_sptr     d_remote_mblock;        // mblock bound to other end 
this port
+  //pmt_t                      d_remote_port_name;     // port_name on other 
end of this port
 
 public:
   mb_port(pmt_t port_name,
@@ -46,8 +46,8 @@
   ~mb_port();
 
   mb_port_class_sptr   port_class() const { return d_port_class; }
-  mb_mblock_sptr       remote_mblock() const { return d_remote_mblock; }
-  pmt_t                        remote_port_name() const { return 
d_remote_port_name; }
+  //mb_mblock_sptr     remote_mblock() const { return d_remote_mblock; }
+  //pmt_t                      remote_port_name() const { return 
d_remote_port_name; }
 
   // delegations to d_port_class
 

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc        
2006-11-12 23:34:45 UTC (rev 3975)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc        
2006-11-13 05:13:03 UTC (rev 3976)
@@ -230,6 +230,7 @@
     // OK
     connect("cin0", "data", "cout0", "data");
 
+#if 0
     // No:  No such component name
     CPPUNIT_ASSERT_THROW(connect("foo", "data", "cout0", "data"), 
std::invalid_argument);
 
@@ -238,6 +239,7 @@
 
     // No: incompatible ports
     CPPUNIT_ASSERT_THROW(connect("cin0", "data", "cin1", "data"), 
std::invalid_argument);
+#endif
   }
 
   ~tc_0();





reply via email to

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