[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3998 - gnuradio/branches/developers/eb/mb/mblock/src/
From: |
eb |
Subject: |
[Commit-gnuradio] r3998 - gnuradio/branches/developers/eb/mb/mblock/src/lib |
Date: |
Thu, 16 Nov 2006 23:05:14 -0700 (MST) |
Author: eb
Date: 2006-11-16 23:05:14 -0700 (Thu, 16 Nov 2006)
New Revision: 3998
Removed:
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_class.cc
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_class.h
Modified:
gnuradio/branches/developers/eb/mb/mblock/src/lib/Makefile.am
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_common.h
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc
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:
simplified by merging mb_port_class into mb_port
Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/Makefile.am
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/Makefile.am
2006-11-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/Makefile.am
2006-11-17 06:05:14 UTC (rev 3998)
@@ -38,7 +38,6 @@
mb_mblock_impl.cc \
mb_message.cc \
mb_port.cc \
- mb_port_class.cc \
mb_protocol_class.cc \
mb_runtime.cc \
mb_runtime_impl.cc \
@@ -59,7 +58,6 @@
mb_mblock.h \
mb_message.h \
mb_port.h \
- mb_port_class.h \
mb_protocol_class.h \
mb_runtime.h \
mb_util.h
Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_common.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_common.h
2006-11-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_common.h
2006-11-17 06:05:14 UTC (rev 3998)
@@ -43,9 +43,6 @@
class mb_mblock_impl;
typedef boost::shared_ptr<mb_mblock_impl> mb_mblock_impl_sptr;
-class mb_port_class;
-typedef boost::shared_ptr<mb_port_class> mb_port_class_sptr;
-
class mb_port;
typedef boost::shared_ptr<mb_port> mb_port_sptr;
Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc
2006-11-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc
2006-11-17 06:05:14 UTC (rev 3998)
@@ -65,7 +65,7 @@
mb_mblock::define_port(const std::string &port_name_string,
const std::string &protocol_class_name,
bool conjugated,
- mb_port_class::port_type_t port_type)
+ mb_port::port_type_t port_type)
{
d_impl->define_port(port_name_string, protocol_class_name,
conjugated, port_type);
Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h
2006-11-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h
2006-11-17 06:05:14 UTC (rev 3998)
@@ -23,7 +23,7 @@
#include <mb_common.h>
#include <mb_message.h>
-#include <mb_port_class.h>
+#include <mb_port.h>
class mb_runtime;
@@ -95,7 +95,7 @@
define_port(const std::string &port_name,
const std::string &protocol_class_name,
bool conjugated,
- mb_port_class::port_type_t port_type);
+ mb_port::port_type_t port_type);
/*!
* \brief Define a subcomponent by name.
@@ -188,7 +188,7 @@
/*!
* \brief Return a vector that describes this mblock's peer-interface
*/
- // const std::vector<mb_port_class_sptr> peer_interface() const;
+ // const std::vector<mb_port_sptr> peer_interface() const;
};
Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc
2006-11-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc
2006-11-17 06:05:14 UTC (rev 3998)
@@ -63,9 +63,9 @@
mb_mblock_impl::define_port(const std::string &port_name,
const std::string &protocol_class_name,
bool conjugated,
- mb_port_class::port_type_t port_type)
+ mb_port::port_type_t port_type)
{
- if (port_type == mb_port_class::RELAY)
+ if (port_type == mb_port::RELAY)
throw mbe_base(d_mb, "mb_block_impl::define_port: RELAY ports are not
implemented: " + port_name);
if (port_is_defined(port_name))
@@ -148,7 +148,7 @@
// our EXTERNAL ports. Connections that include "self" as the
// component name must be either INTERNAL or RELAY.
- if (comp_name == "self" && port->port_type() == mb_port_class::EXTERNAL)
+ if (comp_name == "self" && port->port_type() == mb_port::EXTERNAL)
throw mbe_invalid_port_type(d_mb, comp_name, port_name);
// Is this endpoint already connected?
@@ -179,7 +179,7 @@
mb_port_sptr c_port = c_impl->d_port_map[port_name];
- if (c_port->port_type() == mb_port_class::INTERNAL) // can't
"see" a child's internal ports
+ if (c_port->port_type() == mb_port::INTERNAL) // can't "see" a
child's internal ports
throw mbe_no_such_port(d_mb, mb_util::join_names(comp_name, port_name));
return c_port;
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-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h
2006-11-17 06:05:14 UTC (rev 3998)
@@ -62,7 +62,7 @@
define_port(const std::string &port_name,
const std::string &protocol_class_name,
bool conjugated,
- mb_port_class::port_type_t port_type);
+ mb_port::port_type_t port_type);
/*!
* \brief Define a subcomponent by name.
@@ -150,7 +150,7 @@
/*
- * Our implemenation methods
+ * Our implementation methods
*/
private:
//bool port_is_defined(pmt_t name);
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-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.cc
2006-11-17 06:05:14 UTC (rev 3998)
@@ -22,24 +22,39 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
#include <mb_port.h>
+#include <mb_protocol_class.h>
-////////////////////////////////////////////////////////////////////////
-// mb_port //
-////////////////////////////////////////////////////////////////////////
mb_port::mb_port(const std::string &port_name,
const std::string &protocol_class_name,
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)
+ mb_port::port_type_t port_type)
+ : d_port_name(port_name),
+ d_conjugated(conjugated), d_port_type(port_type)
{
+ pmt_t pc = mb_protocol_class_lookup(pmt_intern(protocol_class_name));
+ if (pmt_is_null(pc)){
+ throw std::runtime_error("mb_port: unknown protocol class '" +
protocol_class_name + "'");
+ }
+ d_protocol_class = pc;
}
-mb_port::~mb_port()
+pmt_t
+mb_port::incoming_message_set() const
{
- // FIXME nop for now
+ if (!conjugated())
+ return mb_protocol_class_incoming(protocol_class());
+ else // swap the sets
+ return mb_protocol_class_outgoing(protocol_class());
}
+pmt_t
+mb_port::outgoing_message_set() const
+{
+ if (!conjugated())
+ return mb_protocol_class_outgoing(protocol_class());
+ else // swap the sets
+ return mb_protocol_class_incoming(protocol_class());
+}
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-17
05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h 2006-11-17
06:05:14 UTC (rev 3998)
@@ -22,42 +22,44 @@
#define INCLUDED_MB_PORT_H
#include <mb_common.h>
-#include <mb_port_class.h>
-// ----------------------------------------------------------------------
-// mb_port and friends
-// ----------------------------------------------------------------------
-
+/*!
+ * \brief Public port characteristics
+ */
class mb_port
{
- mb_port_class_sptr d_port_class;
+public:
- // 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
+ //! port classification
+ enum port_type_t {
+ EXTERNAL, //< Externally visible
+ RELAY, //< Externally visible but really connected to a sub-component
+ INTERNAL //< Visible to self only
+ };
-public:
+private:
+ friend class mb_mblock_impl;
+
+ std::string d_port_name;
+ pmt_t d_protocol_class;
+ bool d_conjugated;
+ port_type_t d_port_type;
+
+ // private constructor
mb_port(const std::string &port_name,
- const std::string &protocol_class_name,
- bool conjugated,
- mb_port_class::port_type_t port_type);
+ const std::string &protocol_class_name,
+ bool conjugated,
+ mb_port::port_type_t port_type);
- ~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; }
+public:
+ std::string port_name() const { return d_port_name; }
+ pmt_t protocol_class() const { return d_protocol_class; }
+ bool conjugated() const { return d_conjugated; }
+ port_type_t port_type() const { return d_port_type; }
- // delegations to d_port_class
-
- std::string port_name() const { return
d_port_class->port_name(); }
- pmt_t protocol_class() const { return
d_port_class->protocol_class(); }
- bool conjugated() const { return
d_port_class->conjugated(); }
- mb_port_class::port_type_t port_type() const { return
d_port_class->port_type(); }
- pmt_t incoming_message_set() const { return
d_port_class->incoming_message_set(); }
- pmt_t outgoing_message_set() const { return
d_port_class->outgoing_message_set(); }
+ pmt_t incoming_message_set() const;
+ pmt_t outgoing_message_set() const;
};
-
#endif /* INCLUDED_MB_PORT_H */
Deleted: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_class.cc
Deleted: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_class.h
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-17 05:53:44 UTC (rev 3997)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc
2006-11-17 06:05:14 UTC (rev 3998)
@@ -60,7 +60,7 @@
dp_2::dp_2()
{
- define_port("cs", "cs-protocol", false, mb_port_class::EXTERNAL);
+ define_port("cs", "cs-protocol", false, mb_port::EXTERNAL);
}
dp_2::~dp_2(){}
@@ -76,8 +76,8 @@
dp_3::dp_3()
{
- define_port("cs", "cs-protocol", false, mb_port_class::EXTERNAL);
- define_port("cs", "cs-protocol", false, mb_port_class::EXTERNAL); //
duplicate def
+ define_port("cs", "cs-protocol", false, mb_port::EXTERNAL);
+ define_port("cs", "cs-protocol", false, mb_port::EXTERNAL); // duplicate def
}
dp_3::~dp_3(){}
@@ -88,7 +88,7 @@
qa_mblock_prims::test_define_ports()
{
mb_runtime_sptr rt = mb_make_runtime();
- // std::vector<mb_port_class_sptr> intf;
+ // std::vector<mb_port_sptr> intf;
mb_mblock_sptr mb1 = mb_mblock_sptr(new dp_1());
// intf = mb1->peer_interface();
@@ -196,10 +196,10 @@
{
public:
tc_norm(){
- define_port("data", "i/o", false, mb_port_class::EXTERNAL);
- define_port("norm", "i/o", false, mb_port_class::EXTERNAL);
- define_port("conj", "i/o", true, mb_port_class::EXTERNAL);
- define_port("int", "i/o", false, mb_port_class::INTERNAL);
+ define_port("data", "i/o", false, mb_port::EXTERNAL);
+ define_port("norm", "i/o", false, mb_port::EXTERNAL);
+ define_port("conj", "i/o", true, mb_port::EXTERNAL);
+ define_port("int", "i/o", false, mb_port::INTERNAL);
}
~tc_norm();
@@ -213,9 +213,9 @@
{
public:
tc_0(){
- define_port("norm", "i/o", false, mb_port_class::EXTERNAL);
- define_port("conj", "i/o", true, mb_port_class::EXTERNAL);
- define_port("int", "i/o", false, mb_port_class::INTERNAL);
+ define_port("norm", "i/o", false, mb_port::EXTERNAL);
+ define_port("conj", "i/o", true, mb_port::EXTERNAL);
+ define_port("int", "i/o", false, mb_port::INTERNAL);
define_component("c0", mb_mblock_sptr(new tc_norm()));
define_component("c1", mb_mblock_sptr(new tc_norm()));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3998 - gnuradio/branches/developers/eb/mb/mblock/src/lib,
eb <=