[Top][All Lists]
[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();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3976 - gnuradio/branches/developers/eb/mb/mblock/src/lib,
eb <=