summaryrefslogtreecommitdiff
path: root/mblock/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'mblock/src/lib')
-rw-r--r--mblock/src/lib/Makefile.am21
-rw-r--r--mblock/src/lib/benchmark_send.cc4
-rw-r--r--mblock/src/lib/mb_class_registry.cc4
-rw-r--r--mblock/src/lib/mb_class_registry.h51
-rw-r--r--mblock/src/lib/mb_common.h94
-rw-r--r--mblock/src/lib/mb_endpoint.h4
-rw-r--r--mblock/src/lib/mb_exception.cc6
-rw-r--r--mblock/src/lib/mb_exception.h118
-rw-r--r--mblock/src/lib/mb_mblock.cc8
-rw-r--r--mblock/src/lib/mb_mblock.h318
-rw-r--r--mblock/src/lib/mb_mblock_impl.cc10
-rw-r--r--mblock/src/lib/mb_mblock_impl.h6
-rw-r--r--mblock/src/lib/mb_message.cc4
-rw-r--r--mblock/src/lib/mb_message.h88
-rw-r--r--mblock/src/lib/mb_msg_accepter.cc2
-rw-r--r--mblock/src/lib/mb_msg_accepter.h48
-rw-r--r--mblock/src/lib/mb_msg_accepter_msgq.cc4
-rw-r--r--mblock/src/lib/mb_msg_accepter_msgq.h6
-rw-r--r--mblock/src/lib/mb_msg_accepter_smp.cc8
-rw-r--r--mblock/src/lib/mb_msg_accepter_smp.h2
-rw-r--r--mblock/src/lib/mb_msg_queue.cc6
-rw-r--r--mblock/src/lib/mb_msg_queue.h82
-rw-r--r--mblock/src/lib/mb_port.cc6
-rw-r--r--mblock/src/lib/mb_port.h93
-rw-r--r--mblock/src/lib/mb_port_simple.cc8
-rw-r--r--mblock/src/lib/mb_port_simple.h4
-rw-r--r--mblock/src/lib/mb_protocol_class.cc4
-rw-r--r--mblock/src/lib/mb_protocol_class.h52
-rw-r--r--mblock/src/lib/mb_runtime.cc4
-rw-r--r--mblock/src/lib/mb_runtime.h68
-rw-r--r--mblock/src/lib/mb_runtime_base.cc2
-rw-r--r--mblock/src/lib/mb_runtime_base.h4
-rw-r--r--mblock/src/lib/mb_runtime_nop.cc8
-rw-r--r--mblock/src/lib/mb_runtime_thread_per_block.cc8
-rw-r--r--mblock/src/lib/mb_runtime_thread_per_block.h2
-rw-r--r--mblock/src/lib/mb_time.h27
-rw-r--r--mblock/src/lib/mb_timer_queue.h6
-rw-r--r--mblock/src/lib/mb_worker.cc8
-rw-r--r--mblock/src/lib/mb_worker.h6
-rw-r--r--mblock/src/lib/mbi_runtime_lock.h4
-rw-r--r--mblock/src/lib/qa_bitset.cc10
-rw-r--r--mblock/src/lib/qa_disconnect.cc10
-rw-r--r--mblock/src/lib/qa_mblock_prims.cc18
-rw-r--r--mblock/src/lib/qa_mblock_send.cc18
-rw-r--r--mblock/src/lib/qa_mblock_sys.cc18
-rw-r--r--mblock/src/lib/qa_timeouts.cc14
46 files changed, 122 insertions, 1174 deletions
diff --git a/mblock/src/lib/Makefile.am b/mblock/src/lib/Makefile.am
index e8e5f59af..269c8ae22 100644
--- a/mblock/src/lib/Makefile.am
+++ b/mblock/src/lib/Makefile.am
@@ -22,7 +22,8 @@
include $(top_srcdir)/Makefile.common
AM_CPPFLAGS = $(DEFINES) $(OMNITHREAD_INCLUDES) $(PMT_INCLUDES) \
- $(BOOST_CPPFLAGS) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
+ $(BOOST_CPPFLAGS) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES) \
+ $(MBLOCK_INCLUDES)
# disable test until we fix ticket:180
# TESTS = test_mblock
@@ -75,25 +76,11 @@ libmblock_la_LIBADD = \
$(PMT_LA) \
-lstdc++
-include_HEADERS = \
- mb_class_registry.h \
- mb_common.h \
- mb_exception.h \
+noinst_HEADERS = \
mb_gettid.h \
- mb_mblock.h \
- mb_message.h \
- mb_msg_accepter.h \
mb_msg_accepter_msgq.h \
- mb_msg_queue.h \
- mb_port.h \
mb_port_simple.h \
- mb_protocol_class.h \
- mb_runtime.h \
- mb_time.h \
- mb_util.h
-
-
-noinst_HEADERS = \
+ mb_util.h \
mb_connection.h \
mb_endpoint.h \
mb_mblock_impl.h \
diff --git a/mblock/src/lib/benchmark_send.cc b/mblock/src/lib/benchmark_send.cc
index 7b8f7cb76..fe873a69a 100644
--- a/mblock/src/lib/benchmark_send.cc
+++ b/mblock/src/lib/benchmark_send.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include <mb_runtime.h>
+#include <mblock/runtime.h>
#include <iostream>
int
diff --git a/mblock/src/lib/mb_class_registry.cc b/mblock/src/lib/mb_class_registry.cc
index 77cec8de6..7ccee2969 100644
--- a/mblock/src/lib/mb_class_registry.cc
+++ b/mblock/src/lib/mb_class_registry.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -22,7 +22,7 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <mb_class_registry.h>
+#include <mblock/class_registry.h>
#include <map>
static std::map<std::string, mb_mblock_maker_t> s_registry;
diff --git a/mblock/src/lib/mb_class_registry.h b/mblock/src/lib/mb_class_registry.h
deleted file mode 100644
index 713cc1e26..000000000
--- a/mblock/src/lib/mb_class_registry.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2007 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_CLASS_REGISTRY_H
-#define INCLUDED_MB_CLASS_REGISTRY_H
-
-#include <mb_common.h>
-
-//! conceptually, pointer to constructor
-typedef mb_mblock_sptr (*mb_mblock_maker_t)(mb_runtime *runtime,
- const std::string &instance_name,
- pmt_t user_arg);
-
-/*
- * \brief Maintain mapping between mblock class_name and factory (maker)
- */
-class mb_class_registry : public boost::noncopyable {
-public:
- static bool register_maker(const std::string &name, mb_mblock_maker_t maker);
- static bool lookup_maker(const std::string &name, mb_mblock_maker_t *maker);
-};
-
-template<class mblock>
-mb_mblock_sptr mb_mblock_maker(mb_runtime *runtime,
- const std::string &instance_name,
- pmt_t user_arg)
-{
- return mb_mblock_sptr(new mblock(runtime, instance_name, user_arg));
-}
-
-#define REGISTER_MBLOCK_CLASS(name) \
- bool __RBC__ ## name = mb_class_registry::register_maker(#name, &mb_mblock_maker<name>)
-
-#endif /* INCLUDED_MB_CLASS_REGISTRY_H */
diff --git a/mblock/src/lib/mb_common.h b/mblock/src/lib/mb_common.h
deleted file mode 100644
index 1f78d5a40..000000000
--- a/mblock/src/lib/mb_common.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2007 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_COMMON_H
-#define INCLUDED_MB_COMMON_H
-
-#include <pmt.h>
-#include <vector>
-#include <stdexcept>
-#include <boost/utility.hpp>
-#include <boost/enable_shared_from_this.hpp>
-#include <boost/weak_ptr.hpp>
-
-/*
- * The priority type and valid range
- */
-typedef unsigned int mb_pri_t;
-static const mb_pri_t MB_PRI_BEST = 0;
-static const mb_pri_t MB_PRI_DEFAULT = 4;
-static const mb_pri_t MB_PRI_WORST = 7;
-static const mb_pri_t MB_NPRI = MB_PRI_WORST + 1; // number of valid priorities
-
-/*!
- * \brief return true iff priority a is better than priority b
- */
-inline static bool
-mb_pri_better(mb_pri_t a, mb_pri_t b)
-{
- return a < b;
-}
-
-/*!
- * \brief return true iff priority a is worse than priority b
- */
-inline static bool
-mb_pri_worse(mb_pri_t a, mb_pri_t b)
-{
- return a > b;
-}
-
-/*!
- * \brief ensure that pri is valid
- */
-inline static mb_pri_t
-mb_pri_clamp(mb_pri_t p)
-{
- return p < MB_NPRI ? p : MB_NPRI - 1;
-}
-
-class mb_runtime;
-typedef boost::shared_ptr<mb_runtime> mb_runtime_sptr;
-
-//class mb_runtime_impl;
-//typedef boost::shared_ptr<mb_runtime_impl> mb_runtime_impl_sptr;
-
-class mb_mblock;
-typedef boost::shared_ptr<mb_mblock> mb_mblock_sptr;
-
-class mb_mblock_impl;
-typedef boost::shared_ptr<mb_mblock_impl> mb_mblock_impl_sptr;
-
-class mb_port;
-typedef boost::shared_ptr<mb_port> mb_port_sptr;
-
-//class mb_port_detail;
-//typedef boost::shared_ptr<mb_port_detail> mb_port_detail_sptr;
-
-class mb_msg_accepter;
-typedef boost::shared_ptr<mb_msg_accepter> mb_msg_accepter_sptr;
-
-class mb_message;
-typedef boost::shared_ptr<mb_message> mb_message_sptr;
-
-class mb_msg_queue;
-typedef boost::shared_ptr<mb_msg_queue> mb_msg_queue_sptr;
-
-#endif /* INCLUDED_MB_COMMON_H */
diff --git a/mblock/src/lib/mb_endpoint.h b/mblock/src/lib/mb_endpoint.h
index db55b3f44..aae376a5d 100644
--- a/mblock/src/lib/mb_endpoint.h
+++ b/mblock/src/lib/mb_endpoint.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,7 +23,7 @@
#define INCLUDED_MB_ENDPOINT_H
#include <string>
-#include <mb_port.h>
+#include <mblock/port.h>
/*!
* \brief Endpoint specification for connection
diff --git a/mblock/src/lib/mb_exception.cc b/mblock/src/lib/mb_exception.cc
index 3c08a01d0..810131840 100644
--- a/mblock/src/lib/mb_exception.cc
+++ b/mblock/src/lib/mb_exception.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,8 +23,8 @@
#include <config.h>
#endif
-#include <mb_exception.h>
-#include <mb_mblock.h>
+#include <mblock/exception.h>
+#include <mblock/mblock.h>
#include <mb_util.h>
diff --git a/mblock/src/lib/mb_exception.h b/mblock/src/lib/mb_exception.h
deleted file mode 100644
index 837e49f42..000000000
--- a/mblock/src/lib/mb_exception.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_EXCEPTION_H
-#define INCLUDED_MB_EXCEPTION_H
-
-#include <stdexcept>
-
-class mb_mblock;
-
-
-class mbe_base : public std::logic_error
-{
-public:
- mbe_base(mb_mblock *mb, const std::string &msg);
-};
-
-class mbe_not_implemented : public mbe_base
-{
-public:
- mbe_not_implemented(mb_mblock *mb, const std::string &msg);
-};
-
-class mbe_no_such_class : public mbe_base
-{
-public:
- mbe_no_such_class(mb_mblock *, const std::string &class_name);
-};
-
-class mbe_no_such_component : public mbe_base
-{
-public:
- mbe_no_such_component(mb_mblock *, const std::string &component_name);
-};
-
-class mbe_duplicate_component : public mbe_base
-{
-public:
- mbe_duplicate_component(mb_mblock *, const std::string &component_name);
-};
-
-class mbe_no_such_port : public mbe_base
-{
-public:
- mbe_no_such_port(mb_mblock *, const std::string &port_name);
-};
-
-
-class mbe_duplicate_port : public mbe_base
-{
-public:
- mbe_duplicate_port(mb_mblock *, const std::string &port_name);
-};
-
-class mbe_already_connected : public mbe_base
-{
-public:
- mbe_already_connected(mb_mblock *, const std::string &comp_name,
- const std::string &port_name);
-};
-
-class mbe_incompatible_ports : public mbe_base
-{
-public:
- mbe_incompatible_ports(mb_mblock *,
- const std::string &comp1_name,
- const std::string &port1_name,
- const std::string &comp2_name,
- const std::string &port2_name);
-};
-
-class mbe_invalid_port_type : public mbe_base
-{
-public:
- mbe_invalid_port_type(mb_mblock *, const std::string &comp_name,
- const std::string &port_name);
-};
-
-class mbe_mblock_failed : public mbe_base
-{
-public:
- mbe_mblock_failed(mb_mblock *, const std::string &msg);
-};
-
-
-
-// not derived from mbe_base to simplify try/catch
-class mbe_terminate
-{
-public:
- mbe_terminate();
-};
-
-// not derived from mbe_base to simplify try/catch
-class mbe_exit
-{
-public:
- mbe_exit();
-};
-
-#endif /* INCLUDED_MB_EXCEPTION_H */
diff --git a/mblock/src/lib/mb_mblock.cc b/mblock/src/lib/mb_mblock.cc
index 38d216ad4..b2f763623 100644
--- a/mblock/src/lib/mb_mblock.cc
+++ b/mblock/src/lib/mb_mblock.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,10 +23,10 @@
#include <config.h>
#endif
-#include <mb_mblock.h>
+#include <mblock/mblock.h>
#include <mb_mblock_impl.h>
-#include <mb_runtime.h>
-#include <mb_exception.h>
+#include <mblock/runtime.h>
+#include <mblock/exception.h>
#include <iostream>
diff --git a/mblock/src/lib/mb_mblock.h b/mblock/src/lib/mb_mblock.h
deleted file mode 100644
index 146e28008..000000000
--- a/mblock/src/lib/mb_mblock.h
+++ /dev/null
@@ -1,318 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_MBLOCK_H
-#define INCLUDED_MB_MBLOCK_H
-
-#include <mb_common.h>
-#include <mb_message.h>
-#include <mb_port.h>
-#include <mb_time.h>
-
-
-/*!
- * Abstract class implementing visitor pattern
- * \ingroup internal
- */
-class mb_visitor
-{
-public:
- virtual ~mb_visitor();
- virtual bool operator()(mb_mblock *mblock) = 0;
-};
-
-// ----------------------------------------------------------------------
-
-/*!
- * \brief Parent class for all message passing blocks
- *
- * Subclass this to define your mblocks.
- */
-class mb_mblock : boost::noncopyable,
- public boost::enable_shared_from_this<mb_mblock>
-{
-private:
- mb_mblock_impl_sptr d_impl; // implementation details
-
- friend class mb_runtime;
- friend class mb_mblock_impl;
- friend class mb_worker;
-
-protected:
- /*!
- * \brief mblock constructor.
- *
- * Initializing all mblocks in the system is a 3 step procedure.
- *
- * The top level mblock's constructor is run. That constructor
- * (a) registers all of its ports using define_port, (b) registers any
- * subcomponents it may have via the define_component method, and
- * then (c) issues connect calls to wire its subcomponents together.
- *
- * \param runtime the runtime associated with this mblock
- * \param instance_name specify the name of this instance
- * (for debugging, NUMA mapping, etc)
- * \param user_arg argument passed by user to constructor
- * (ignored by the mb_mblock base class)
- */
- mb_mblock(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg);
-
-public:
- /*!
- * \brief Called by the runtime system to execute the initial
- * transition of the finite state machine.
- *
- * This method is called by the runtime after all blocks are
- * constructed and before the first message is delivered. Override
- * this to initialize your finite state machine.
- */
- virtual void initial_transition();
-
-protected:
- /*!
- * \brief Called by the runtime system when there's a message to handle.
- *
- * Override this to define your behavior.
- *
- * Do not issue any potentially blocking calls in this method. This
- * includes things such reads or writes on sockets, pipes or slow
- * i/o devices.
- */
- virtual void handle_message(mb_message_sptr msg);
-
- /*!
- * \brief Define a port.
- *
- * EXTERNAL and RELAY ports are part of our peer interface.
- * INTERNAL ports are used to talk to sub-components.
- *
- * \param port_name The name of the port (must be unique within this mblock).
- * \param protocol_class_name The name of the protocol class associated with
- * this port. It must already be defined.
- * \param conjugated Are the incoming and outgoing message sets swapped?
- * \param port_type INTERNAL, EXTERNAL or RELAY.
- */
- mb_port_sptr
- define_port(const std::string &port_name,
- const std::string &protocol_class_name,
- bool conjugated,
- mb_port::port_type_t port_type);
-
- /*!
- * \brief Define a subcomponent by name.
- *
- * Called within the constructor to tell the system the
- * names and identities of our sub-component mblocks.
- *
- * \param component_name The name of the sub-component (must be unique with this mblock).
- * \param class_name The class of the instance that is to be created.
- * \param user_arg The argument to pass to the constructor of the component.
- */
- void
- define_component(const std::string &component_name,
- const std::string &class_name,
- pmt_t user_arg = PMT_NIL);
-
- /*!
- * \brief connect endpoint_1 to endpoint_2
- *
- * \param comp_name1 component on one end of the connection
- * \param port_name1 the name of the port on comp1
- * \param comp_name2 component on the other end of the connection
- * \param port_name2 the name of the port on comp2
- *
- * An endpoint is specified by the component's local name (given as
- * component_name in the call to register_component) and the name of
- * the port on that component.
- *
- * To connect an internal or relay port, use "self" as the component name.
- */
- void
- connect(const std::string &comp_name1, const std::string &port_name1,
- const std::string &comp_name2, const std::string &port_name2);
-
- /*!
- * \brief disconnect endpoint_1 from endpoint_2
- *
- * \param comp_name1 component on one end of the connection
- * \param port_name1 the name of the port on comp1
- * \param comp_name2 component on the other end of the connection
- * \param port_name2 the name of the port on comp2
- *
- * An endpoint is specified by the component's local name (given as
- * component_name in the call to register_component) and the name of
- * the port on that component.
- *
- * To disconnect an internal or relay port, use "self" as the component name.
- */
- void
- disconnect(const std::string &comp_name1, const std::string &port_name1,
- const std::string &comp_name2, const std::string &port_name2);
-
- /*!
- * \brief disconnect all connections to specified component
- * \param component_name component to disconnect
- */
- void
- disconnect_component(const std::string &component_name);
-
- /*!
- * \brief disconnect all connections to all components
- */
- void
- disconnect_all();
-
- /*!
- * \brief Return number of connections (QA mostly)
- */
- int
- nconnections() const;
-
- //! Set the class name
- void set_class_name(const std::string &name);
-
- /*!
- * \brief Tell runtime that we are done.
- *
- * This method does not return.
- */
- void exit();
-
- /*!
- * \brief Ask runtime to execute the shutdown procedure for all blocks.
- *
- * \param result sets value of \p result output argument of runtime->run(...)
- *
- * The runtime first sends a maximum priority %shutdown message to
- * all blocks. All blocks should handle the %shutdown message,
- * perform whatever clean up is required, and call this->exit();
- *
- * After a period of time (~100ms), any blocks which haven't yet
- * called this->exit() are sent a maximum priority %halt message.
- * %halt is detected in main_loop, and this->exit() is called.
- *
- * After an additional period of time (~100ms), any blocks which
- * still haven't yet called this->exit() are sent a SIG<FOO> (TBD)
- * signal, which will blow them out of any blocking system calls and
- * raise an mbe_terminate exception. The default top-level
- * runtime-provided exception handler will call this->exit() to
- * finish the process.
- *
- * runtime->run(...) returns when all blocks have called exit.
- */
- void shutdown_all(pmt_t result);
-
- /*!
- * \brief main event dispatching loop
- *
- * Although it is possible to override this, the default implementation
- * should work for virtually all cases.
- */
- virtual void main_loop();
-
-public:
- virtual ~mb_mblock();
-
- //! Return instance name of this block
- std::string instance_name() const;
-
- //! Return the class name of this block
- std::string class_name() const;
-
- //! Set the instance name of this block.
- void set_instance_name(const std::string &name);
-
- //! Return the parent of this mblock, or 0 if we're the top-level block.
- mb_mblock *parent() const;
-
- /*!
- * \brief Schedule a "one shot" timeout.
- *
- * \param abs_time the absolute time at which the timeout should fire
- * \param user_data the data passed in the %timeout message.
- *
- * When the timeout fires, a message will be sent to the mblock.
- *
- * The message will have port_id = %sys-port, signal = %timeout,
- * data = user_data, metadata = the handle returned from
- * schedule_one_shot_timeout, pri = MB_PRI_BEST.
- *
- * \returns a handle that can be used in cancel_timeout, and is passed
- * as the metadata field of the generated %timeout message.
- *
- * To cancel a pending timeout, call cancel_timeout.
- */
- pmt_t
- schedule_one_shot_timeout(const mb_time &abs_time, pmt_t user_data);
-
- /*!
- * \brief Schedule a periodic timeout.
- *
- * \param first_abs_time The absolute time at which the first timeout should fire.
- * \param delta_time The relative delay between the first and successive timeouts.
- * \param user_data the data passed in the %timeout message.
- *
- * When the timeout fires, a message will be sent to the mblock, and a
- * new timeout will be scheduled for previous absolute time + delta_time.
- *
- * The message will have port_id = %sys-port, signal = %timeout,
- * data = user_data, metadata = the handle returned from
- * schedule_one_shot_timeout, pri = MB_PRI_BEST.
- *
- * \returns a handle that can be used in cancel_timeout, and is passed
- * as the metadata field of the generated %timeout message.
- *
- * To cancel a pending timeout, call cancel_timeout.
- */
- pmt_t
- schedule_periodic_timeout(const mb_time &first_abs_time,
- const mb_time &delta_time,
- pmt_t user_data);
-
- /*!
- * \brief Attempt to cancel a pending timeout.
- *
- * Note that this only stops a future timeout from firing. It is
- * possible that a timeout may have already fired and enqueued a
- * %timeout message, but that that message has not yet been seen by
- * handle_message.
- *
- * \param handle returned from schedule_one_shot_timeout or schedule_periodic_timeout.
- */
- void cancel_timeout(pmt_t handle);
-
- /*!
- * \brief Perform a pre-order depth-first traversal of the hierarchy.
- *
- * The traversal stops and returns false if any call to visitor returns false.
- */
- bool
- walk_tree(mb_visitor *visitor);
-
-
- //! \implementation
- // internal use only
- mb_mblock_impl_sptr
- impl() const { return d_impl; }
-
-};
-
-
-#endif /* INCLUDED_MB_MBLOCK_H */
diff --git a/mblock/src/lib/mb_mblock_impl.cc b/mblock/src/lib/mb_mblock_impl.cc
index 90868cf4c..e11b00898 100644
--- a/mblock/src/lib/mb_mblock_impl.cc
+++ b/mblock/src/lib/mb_mblock_impl.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,11 +23,11 @@
#include <config.h>
#endif
#include <mb_mblock_impl.h>
-#include <mb_mblock.h>
-#include <mb_protocol_class.h>
-#include <mb_port.h>
+#include <mblock/mblock.h>
+#include <mblock/protocol_class.h>
+#include <mblock/port.h>
#include <mb_port_simple.h>
-#include <mb_exception.h>
+#include <mblock/exception.h>
#include <mb_util.h>
#include <mb_msg_accepter_smp.h>
#include <mbi_runtime_lock.h>
diff --git a/mblock/src/lib/mb_mblock_impl.h b/mblock/src/lib/mb_mblock_impl.h
index 374ee8fe0..ed8059b00 100644
--- a/mblock/src/lib/mb_mblock_impl.h
+++ b/mblock/src/lib/mb_mblock_impl.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2007 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -21,10 +21,10 @@
#ifndef INCLUDED_MB_MBLOCK_IMPL_H
#define INCLUDED_MB_MBLOCK_IMPL_H
-#include <mb_mblock.h>
+#include <mblock/mblock.h>
#include <mb_runtime_base.h>
#include <mb_connection.h>
-#include <mb_msg_queue.h>
+#include <mblock/msg_queue.h>
#include <list>
#include <map>
diff --git a/mblock/src/lib/mb_message.cc b/mblock/src/lib/mb_message.cc
index ce98a931e..664e369fa 100644
--- a/mblock/src/lib/mb_message.cc
+++ b/mblock/src/lib/mb_message.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -22,7 +22,7 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <mb_message.h>
+#include <mblock/message.h>
#include <stdio.h>
#include <pmt_pool.h>
diff --git a/mblock/src/lib/mb_message.h b/mblock/src/lib/mb_message.h
deleted file mode 100644
index f5e465530..000000000
--- a/mblock/src/lib/mb_message.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2007 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_MESSAGE_H
-#define INCLUDED_MB_MESSAGE_H
-
-#include <mb_common.h>
-#include <iosfwd>
-
-#define MB_MESSAGE_LOCAL_ALLOCATOR 0 // define to 0 or 1
-
-class mb_message;
-typedef boost::shared_ptr<mb_message> mb_message_sptr;
-
-/*!
- * \brief construct a message and return boost::shared_ptr
- *
- * \param signal identifier of the message
- * \param data the data to be operated on
- * \param metadata information about the data
- * \param priority urgency
- */
-mb_message_sptr
-mb_make_message(pmt_t signal,
- pmt_t data = PMT_NIL,
- pmt_t metadata = PMT_NIL,
- mb_pri_t priority = MB_PRI_DEFAULT);
-
-class mb_message {
- mb_message_sptr d_next; // link field for msg queue
- pmt_t d_signal;
- pmt_t d_data;
- pmt_t d_metadata;
- mb_pri_t d_priority;
- pmt_t d_port_id; // name of port msg was rcvd on (symbol)
-
- friend class mb_msg_queue;
-
- friend mb_message_sptr
- mb_make_message(pmt_t signal, pmt_t data, pmt_t metadata, mb_pri_t priority);
-
- // private constructor
- mb_message(pmt_t signal, pmt_t data, pmt_t metadata, mb_pri_t priority);
-
-public:
- ~mb_message();
-
- pmt_t signal() const { return d_signal; }
- pmt_t data() const { return d_data; }
- pmt_t metadata() const { return d_metadata; }
- mb_pri_t priority() const { return d_priority; }
- pmt_t port_id() const { return d_port_id; }
-
- void set_port_id(pmt_t port_id){ d_port_id = port_id; }
-
-#if (MB_MESSAGE_LOCAL_ALLOCATOR)
- void *operator new(size_t);
- void operator delete(void *, size_t);
-#endif
-};
-
-std::ostream& operator<<(std::ostream& os, const mb_message &msg);
-
-inline
-std::ostream& operator<<(std::ostream& os, const mb_message_sptr msg)
-{
- os << *(msg.get());
- return os;
-}
-
-#endif /* INCLUDED_MB_MESSAGE_H */
diff --git a/mblock/src/lib/mb_msg_accepter.cc b/mblock/src/lib/mb_msg_accepter.cc
index 001b1f11e..88b92394c 100644
--- a/mblock/src/lib/mb_msg_accepter.cc
+++ b/mblock/src/lib/mb_msg_accepter.cc
@@ -23,7 +23,7 @@
#include <config.h>
#endif
-#include <mb_msg_accepter.h>
+#include <mblock/msg_accepter.h>
mb_msg_accepter::~mb_msg_accepter()
{
diff --git a/mblock/src/lib/mb_msg_accepter.h b/mblock/src/lib/mb_msg_accepter.h
deleted file mode 100644
index 254b3b044..000000000
--- a/mblock/src/lib/mb_msg_accepter.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2007 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_MSG_ACCEPTER_H
-#define INCLUDED_MB_MSG_ACCEPTER_H
-
-#include <mb_common.h>
-
-/*!
- * \brief Abstract class that accepts messages
- *
- * The mb_port::send method ultimately resolves the (local)
- * destination of a send to an object of this type. The resulting
- * object is called to deliver the message.
- *
- * Expect derived classes such as these:
- *
- * smp : target is visible in this address space
- * mpi : target is on the other end of an MPI link
- * ppe->spe : sending from Cell PPE to Cell SPE
- * spe->ppe : sending from Cell SPE to Cell PPE
- */
-class mb_msg_accepter {
-public:
- mb_msg_accepter(){};
- virtual ~mb_msg_accepter();
-
- virtual void operator()(pmt_t signal, pmt_t data, pmt_t metadata, mb_pri_t priority) = 0;
-};
-
-#endif /* INCLUDED_MB_MSG_ACCEPTER_H */
diff --git a/mblock/src/lib/mb_msg_accepter_msgq.cc b/mblock/src/lib/mb_msg_accepter_msgq.cc
index 8220dbfee..fb97914e5 100644
--- a/mblock/src/lib/mb_msg_accepter_msgq.cc
+++ b/mblock/src/lib/mb_msg_accepter_msgq.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,7 +23,7 @@
#include <config.h>
#endif
#include <mb_msg_accepter_msgq.h>
-#include <mb_message.h>
+#include <mblock/message.h>
pmt_t s_sys_port = pmt_intern("%sys-port");
diff --git a/mblock/src/lib/mb_msg_accepter_msgq.h b/mblock/src/lib/mb_msg_accepter_msgq.h
index 1436e8c04..6c743bb4b 100644
--- a/mblock/src/lib/mb_msg_accepter_msgq.h
+++ b/mblock/src/lib/mb_msg_accepter_msgq.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -21,8 +21,8 @@
#ifndef INCLUDED_MB_MSG_ACCEPTER_MSGQ_H
#define INCLUDED_MB_MSG_ACCEPTER_MSGQ_H
-#include <mb_msg_accepter.h>
-#include <mb_msg_queue.h>
+#include <mblock/msg_accepter.h>
+#include <mblock/msg_queue.h>
/*!
* \brief Concrete class that accepts messages and inserts them into a message queue.
diff --git a/mblock/src/lib/mb_msg_accepter_smp.cc b/mblock/src/lib/mb_msg_accepter_smp.cc
index ac3b4cfdb..3b392a8c1 100644
--- a/mblock/src/lib/mb_msg_accepter_smp.cc
+++ b/mblock/src/lib/mb_msg_accepter_smp.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,10 +23,10 @@
#include <config.h>
#endif
#include <mb_msg_accepter_smp.h>
-#include <mb_common.h>
-#include <mb_mblock.h>
+#include <mblock/common.h>
+#include <mblock/mblock.h>
#include <mb_mblock_impl.h>
-#include <mb_message.h>
+#include <mblock/message.h>
mb_msg_accepter_smp::mb_msg_accepter_smp(mb_mblock_sptr mblock, pmt_t port_name)
: d_mb(mblock), d_port_name(port_name)
diff --git a/mblock/src/lib/mb_msg_accepter_smp.h b/mblock/src/lib/mb_msg_accepter_smp.h
index 39eedf8f0..0e0cd7c64 100644
--- a/mblock/src/lib/mb_msg_accepter_smp.h
+++ b/mblock/src/lib/mb_msg_accepter_smp.h
@@ -21,7 +21,7 @@
#ifndef INCLUDED_MB_MSG_ACCEPTER_SMP_H
#define INCLUDED_MB_MSG_ACCEPTER_SMP_H
-#include <mb_msg_accepter.h>
+#include <mblock/msg_accepter.h>
/*!
* \brief Concrete message acceptor that does an mb_msg_queue insertion
diff --git a/mblock/src/lib/mb_msg_queue.cc b/mblock/src/lib/mb_msg_queue.cc
index c5dd72fb5..c68c5fd64 100644
--- a/mblock/src/lib/mb_msg_queue.cc
+++ b/mblock/src/lib/mb_msg_queue.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -22,8 +22,8 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <mb_msg_queue.h>
-#include <mb_message.h>
+#include <mblock/msg_queue.h>
+#include <mblock/message.h>
mb_msg_queue::mb_msg_queue()
diff --git a/mblock/src/lib/mb_msg_queue.h b/mblock/src/lib/mb_msg_queue.h
deleted file mode 100644
index a1cd43f14..000000000
--- a/mblock/src/lib/mb_msg_queue.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2007 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_MSG_QUEUE_H
-#define INCLUDED_MB_MSG_QUEUE_H
-
-#include <mb_common.h>
-#include <omnithread.h>
-#include <mb_time.h>
-
-/*!
- * \brief priority queue for mblock messages
- */
-class mb_msg_queue : boost::noncopyable
-{
- // When empty both head and tail are zero.
- struct subq {
- mb_message_sptr head;
- mb_message_sptr tail;
-
- bool empty_p() const { return head == 0; }
- };
-
- omni_mutex d_mutex;
- omni_condition d_not_empty; // reader waits on this
-
- // FIXME add bitmap to indicate which queues are non-empty.
- subq d_queue[MB_NPRI];
-
- mb_message_sptr get_highest_pri_msg_helper();
-
-public:
- mb_msg_queue();
- ~mb_msg_queue();
-
- //! Insert \p msg into priority queue.
- void insert(mb_message_sptr msg);
-
- /*
- * \brief Delete highest pri message from the queue and return it.
- * Returns equivalent of zero pointer if queue is empty.
- */
- mb_message_sptr get_highest_pri_msg_nowait();
-
- /*
- * \brief Delete highest pri message from the queue and return it.
- * If the queue is empty, this call blocks until it can return a message.
- */
- mb_message_sptr get_highest_pri_msg();
-
- /*
- * \brief Delete highest pri message from the queue and return it.
- * If the queue is empty, this call blocks until it can return a message
- * or real-time exceeds the absolute time, abs_time.
- *
- * \param abs_time specifies the latest absolute time to wait until.
- * \sa mb_time::time
- *
- * \returns a valid mb_message_sptr, or the equivalent of a zero pointer
- * if the call timed out while waiting.
- */
- mb_message_sptr get_highest_pri_msg_timedwait(const mb_time &abs_time);
-};
-
-#endif /* INCLUDED_MB_MSG_QUEUE_H */
diff --git a/mblock/src/lib/mb_port.cc b/mblock/src/lib/mb_port.cc
index 959e89c72..a13f49f2c 100644
--- a/mblock/src/lib/mb_port.cc
+++ b/mblock/src/lib/mb_port.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,8 +23,8 @@
#include <config.h>
#endif
-#include <mb_port.h>
-#include <mb_protocol_class.h>
+#include <mblock/port.h>
+#include <mblock/protocol_class.h>
mb_port::mb_port(mb_mblock *mblock,
const std::string &port_name,
diff --git a/mblock/src/lib/mb_port.h b/mblock/src/lib/mb_port.h
deleted file mode 100644
index 0e9898bc4..000000000
--- a/mblock/src/lib/mb_port.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_PORT_H
-#define INCLUDED_MB_PORT_H
-
-#include <mb_common.h>
-
-/*!
- * \brief Abstract port characteristics
- */
-class mb_port : boost::noncopyable
-{
-public:
-
- //! port classification
- enum port_type_t {
- EXTERNAL, //< Externally visible
- RELAY, //< Externally visible but really connected to a sub-component
- INTERNAL //< Visible to self only
- };
-
-private:
-
- std::string d_port_name;
- pmt_t d_port_symbol; // the port_name as a pmt symbol
- pmt_t d_protocol_class;
- bool d_conjugated;
- port_type_t d_port_type;
-
-protected:
- mb_mblock *d_mblock; // mblock we're defined in
-
- // protected constructor
- mb_port(mb_mblock *mblock,
- const std::string &port_name,
- const std::string &protocol_class_name,
- bool conjugated,
- mb_port::port_type_t port_type);
-
- mb_mblock *mblock() const { return d_mblock; }
-
-public:
- std::string port_name() const { return d_port_name; }
- pmt_t port_symbol() const { return d_port_symbol; }
- 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; }
-
- pmt_t incoming_message_set() const;
- pmt_t outgoing_message_set() const;
-
- virtual ~mb_port();
-
- /*!
- * \brief send a message
- *
- * \param signal the event name
- * \param data optional data
- * \param metadata optional metadata
- * \param priority the urgency at which the message is sent
- */
- virtual void
- send(pmt_t signal,
- pmt_t data = PMT_F,
- pmt_t metadata = PMT_F,
- mb_pri_t priority = MB_PRI_DEFAULT) = 0;
-
- /*
- * \brief Invalidate any cached peer resolutions
- * \implementation
- */
- virtual void invalidate_cache() = 0;
-};
-
-#endif /* INCLUDED_MB_PORT_H */
diff --git a/mblock/src/lib/mb_port_simple.cc b/mblock/src/lib/mb_port_simple.cc
index 24a01b562..1b4b35cbf 100644
--- a/mblock/src/lib/mb_port_simple.cc
+++ b/mblock/src/lib/mb_port_simple.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -24,9 +24,9 @@
#endif
#include <mb_port_simple.h>
-#include <mb_msg_accepter.h>
-#include <mb_exception.h>
-#include <mb_mblock.h>
+#include <mblock/msg_accepter.h>
+#include <mblock/exception.h>
+#include <mblock/mblock.h>
#include <mb_mblock_impl.h>
#include <assert.h>
#include <mbi_runtime_lock.h>
diff --git a/mblock/src/lib/mb_port_simple.h b/mblock/src/lib/mb_port_simple.h
index db9e226e6..3041239ad 100644
--- a/mblock/src/lib/mb_port_simple.h
+++ b/mblock/src/lib/mb_port_simple.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -21,7 +21,7 @@
#ifndef INCLUDED_MB_PORT_SIMPLE_H
#define INCLUDED_MB_PORT_SIMPLE_H
-#include <mb_port.h>
+#include <mblock/port.h>
/*!
* \brief Concrete port realization
diff --git a/mblock/src/lib/mb_protocol_class.cc b/mblock/src/lib/mb_protocol_class.cc
index fb1f6531c..f076909e1 100644
--- a/mblock/src/lib/mb_protocol_class.cc
+++ b/mblock/src/lib/mb_protocol_class.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,7 +23,7 @@
#include <config.h>
#endif
-#include <mb_protocol_class.h>
+#include <mblock/protocol_class.h>
#include <iostream>
static pmt_t s_ALL_PROTOCOL_CLASSES = PMT_NIL;
diff --git a/mblock/src/lib/mb_protocol_class.h b/mblock/src/lib/mb_protocol_class.h
deleted file mode 100644
index 7a1d9afb6..000000000
--- a/mblock/src/lib/mb_protocol_class.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_PROTOCOL_CLASS_H
-#define INCLUDED_MB_PROTOCOL_CLASS_H
-
-#include <mb_common.h>
-
-/*!
- * \brief construct a protocol_class
- *
- * \param name the name of the class (symbol)
- * \param incoming incoming message set (list of symbols)
- * \param outgoing outgoing message set (list of symbols)
- */
-pmt_t mb_make_protocol_class(pmt_t name, pmt_t incoming, pmt_t outgoing);
-
-// Accessors
-pmt_t mb_protocol_class_name(pmt_t pc); //< return name of protocol class
-pmt_t mb_protocol_class_incoming(pmt_t pc); //< return incoming message set
-pmt_t mb_protocol_class_outgoing(pmt_t pc); //< return outgoing message set
-
-pmt_t mb_protocol_class_lookup(pmt_t name); //< lookup an existing protocol class by name
-
-
-/*!
- * \brief Initialize one or more protocol class from a serialized description.
- * Used by machine generated code.
- */
-class mb_protocol_class_init {
-public:
- mb_protocol_class_init(const char *data, size_t len);
-};
-
-#endif /* INCLUDED_MB_PROTOCOL_CLASS_H */
diff --git a/mblock/src/lib/mb_runtime.cc b/mblock/src/lib/mb_runtime.cc
index 56ae2869c..57a05c416 100644
--- a/mblock/src/lib/mb_runtime.cc
+++ b/mblock/src/lib/mb_runtime.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,7 +23,7 @@
#include <config.h>
#endif
-#include <mb_runtime.h>
+#include <mblock/runtime.h>
#include <mb_runtime_thread_per_block.h>
mb_runtime_sptr
diff --git a/mblock/src/lib/mb_runtime.h b/mblock/src/lib/mb_runtime.h
deleted file mode 100644
index 1c9ebcab0..000000000
--- a/mblock/src/lib/mb_runtime.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_RUNTIME_H
-#define INCLUDED_MB_RUNTIME_H
-
-#include <mb_common.h>
-#include <omnithread.h>
-
-/*!
- * \brief Public constructor (factory) for mb_runtime objects.
- */
-mb_runtime_sptr mb_make_runtime();
-
-/*!
- * \brief Abstract runtime support for m-blocks
- *
- * There should generally be only a single instance of this class.
- */
-class mb_runtime : boost::noncopyable,
- public boost::enable_shared_from_this<mb_runtime>
-{
-protected:
- mb_mblock_sptr d_top;
-
-public:
- mb_runtime(){}
- virtual ~mb_runtime();
-
- /*!
- * \brief Construct and run the specified mblock hierarchy.
- *
- * This routine turns into the m-block scheduler, and
- * blocks until the system is shutdown.
- *
- * \param name name of the top-level mblock (conventionally "top")
- * \param class_name The class of the top-level mblock to create.
- * \param user_arg The argument to pass to the top-level mblock constructor
- *
- * \returns true if the system ran successfully.
- */
- virtual bool run(const std::string &instance_name,
- const std::string &class_name,
- pmt_t user_arg,
- pmt_t *result = 0) = 0;
-
- // QA only...
- mb_mblock_sptr top() { return d_top; }
-};
-
-#endif /* INCLUDED_MB_RUNTIME_H */
diff --git a/mblock/src/lib/mb_runtime_base.cc b/mblock/src/lib/mb_runtime_base.cc
index c10c3168a..1dea4d46e 100644
--- a/mblock/src/lib/mb_runtime_base.cc
+++ b/mblock/src/lib/mb_runtime_base.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
diff --git a/mblock/src/lib/mb_runtime_base.h b/mblock/src/lib/mb_runtime_base.h
index 4872bd81e..019662bc2 100644
--- a/mblock/src/lib/mb_runtime_base.h
+++ b/mblock/src/lib/mb_runtime_base.h
@@ -22,9 +22,9 @@
#ifndef INCLUDED_MB_RUNTIME_BASE_H
#define INCLUDED_MB_RUNTIME_BASE_H
-#include <mb_runtime.h>
+#include <mblock/runtime.h>
#include <omnithread.h>
-#include <mb_time.h>
+#include <mblock/time.h>
/*
* \brief This is the runtime class used by the implementation.
diff --git a/mblock/src/lib/mb_runtime_nop.cc b/mblock/src/lib/mb_runtime_nop.cc
index 78bc0a1aa..603d5addb 100644
--- a/mblock/src/lib/mb_runtime_nop.cc
+++ b/mblock/src/lib/mb_runtime_nop.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,9 +23,9 @@
#include <config.h>
#endif
#include <mb_runtime_nop.h>
-#include <mb_mblock.h>
-#include <mb_class_registry.h>
-#include <mb_exception.h>
+#include <mblock/mblock.h>
+#include <mblock/class_registry.h>
+#include <mblock/exception.h>
mb_runtime_sptr
mb_make_runtime_nop()
diff --git a/mblock/src/lib/mb_runtime_thread_per_block.cc b/mblock/src/lib/mb_runtime_thread_per_block.cc
index f1e4d10af..d12014a16 100644
--- a/mblock/src/lib/mb_runtime_thread_per_block.cc
+++ b/mblock/src/lib/mb_runtime_thread_per_block.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,10 +23,10 @@
#include <config.h>
#endif
#include <mb_runtime_thread_per_block.h>
-#include <mb_mblock.h>
+#include <mblock/mblock.h>
#include <mb_mblock_impl.h>
-#include <mb_class_registry.h>
-#include <mb_exception.h>
+#include <mblock/class_registry.h>
+#include <mblock/exception.h>
#include <mb_worker.h>
#include <omnithread.h>
#include <iostream>
diff --git a/mblock/src/lib/mb_runtime_thread_per_block.h b/mblock/src/lib/mb_runtime_thread_per_block.h
index ed2dc046c..ef962911e 100644
--- a/mblock/src/lib/mb_runtime_thread_per_block.h
+++ b/mblock/src/lib/mb_runtime_thread_per_block.h
@@ -23,7 +23,7 @@
#include <mb_runtime_base.h>
#include <mb_worker.h>
-#include <mb_msg_queue.h>
+#include <mblock/msg_queue.h>
#include <mb_timer_queue.h>
/*!
diff --git a/mblock/src/lib/mb_time.h b/mblock/src/lib/mb_time.h
deleted file mode 100644
index cba6be785..000000000
--- a/mblock/src/lib/mb_time.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef INCLUDED_MB_TIME_H
-#define INCLUDED_MB_TIME_H
-
-#include <omni_time.h>
-typedef omni_time mb_time;
-
-#endif /* INCLUDED_MB_TIME_H */
diff --git a/mblock/src/lib/mb_timer_queue.h b/mblock/src/lib/mb_timer_queue.h
index 208e37d51..e8b8e1b64 100644
--- a/mblock/src/lib/mb_timer_queue.h
+++ b/mblock/src/lib/mb_timer_queue.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -22,11 +22,11 @@
#ifndef INCLUDED_MB_TIMER_QUEUE_H
#define INCLUDED_MB_TIMER_QUEUE_H
-#include <mb_time.h>
+#include <mblock/time.h>
#include <vector>
#include <queue>
#include <pmt.h>
-#include <mb_msg_accepter.h>
+#include <mblock/msg_accepter.h>
class mb_timeout {
public:
diff --git a/mblock/src/lib/mb_worker.cc b/mblock/src/lib/mb_worker.cc
index 4ac161e9d..e7ac6a9b4 100644
--- a/mblock/src/lib/mb_worker.cc
+++ b/mblock/src/lib/mb_worker.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -24,10 +24,10 @@
#endif
#include <mb_worker.h>
#include <mb_runtime_thread_per_block.h>
-#include <mb_exception.h>
-#include <mb_mblock.h>
+#include <mblock/exception.h>
+#include <mblock/mblock.h>
#include <mb_gettid.h>
-#include <mb_msg_accepter.h>
+#include <mblock/msg_accepter.h>
#include <iostream>
#ifdef HAVE_SCHED_H
#include <sched.h>
diff --git a/mblock/src/lib/mb_worker.h b/mblock/src/lib/mb_worker.h
index d5937144c..b840ae557 100644
--- a/mblock/src/lib/mb_worker.h
+++ b/mblock/src/lib/mb_worker.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -23,8 +23,8 @@
#define INCLUDED_MB_WORKER_H
#include <omnithread.h>
-#include <mb_common.h>
-#include <mb_class_registry.h>
+#include <mblock/common.h>
+#include <mblock/class_registry.h>
class mb_worker;
diff --git a/mblock/src/lib/mbi_runtime_lock.h b/mblock/src/lib/mbi_runtime_lock.h
index a4dec76f5..020cd733c 100644
--- a/mblock/src/lib/mbi_runtime_lock.h
+++ b/mblock/src/lib/mbi_runtime_lock.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -22,7 +22,7 @@
#ifndef INCLUDED_MBI_RUNTIME_LOCK_H
#define INCLUDED_MBI_RUNTIME_LOCK_H
-#include <mb_runtime.h>
+#include <mblock/runtime.h>
#include <mb_mblock_impl.h>
#include <boost/utility.hpp>
diff --git a/mblock/src/lib/qa_bitset.cc b/mblock/src/lib/qa_bitset.cc
index 85f388fc2..bc42ac8b0 100644
--- a/mblock/src/lib/qa_bitset.cc
+++ b/mblock/src/lib/qa_bitset.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -22,10 +22,10 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <mb_mblock.h>
-#include <mb_protocol_class.h>
-#include <mb_message.h>
-#include <mb_class_registry.h>
+#include <mblock/mblock.h>
+#include <mblock/protocol_class.h>
+#include <mblock/message.h>
+#include <mblock/class_registry.h>
#include <iostream>
#include <sstream>
#include <bitset>
diff --git a/mblock/src/lib/qa_disconnect.cc b/mblock/src/lib/qa_disconnect.cc
index ff263da84..e098e8b29 100644
--- a/mblock/src/lib/qa_disconnect.cc
+++ b/mblock/src/lib/qa_disconnect.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -22,10 +22,10 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <mb_mblock.h>
-#include <mb_protocol_class.h>
-#include <mb_message.h>
-#include <mb_class_registry.h>
+#include <mblock/mblock.h>
+#include <mblock/protocol_class.h>
+#include <mblock/message.h>
+#include <mblock/class_registry.h>
#include <iostream>
#include <sstream>
#include <bitset>
diff --git a/mblock/src/lib/qa_mblock_prims.cc b/mblock/src/lib/qa_mblock_prims.cc
index 6802986fa..2eed3afde 100644
--- a/mblock/src/lib/qa_mblock_prims.cc
+++ b/mblock/src/lib/qa_mblock_prims.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2007 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -26,15 +26,15 @@
#include <qa_mblock_prims.h>
#include <cppunit/TestAssert.h>
-#include <mb_mblock.h>
-#include <mb_runtime.h>
-#include <mb_protocol_class.h>
-#include <mb_exception.h>
-#include <mb_msg_queue.h>
-#include <mb_message.h>
+#include <mblock/mblock.h>
+#include <mblock/runtime.h>
+#include <mblock/protocol_class.h>
+#include <mblock/exception.h>
+#include <mblock/msg_queue.h>
+#include <mblock/message.h>
#include <mb_mblock_impl.h>
-#include <mb_msg_accepter.h>
-#include <mb_class_registry.h>
+#include <mblock/msg_accepter.h>
+#include <mblock/class_registry.h>
#include <stdio.h>
static pmt_t s_cs = pmt_intern("cs");
diff --git a/mblock/src/lib/qa_mblock_send.cc b/mblock/src/lib/qa_mblock_send.cc
index b9db971c7..114dbdc4e 100644
--- a/mblock/src/lib/qa_mblock_send.cc
+++ b/mblock/src/lib/qa_mblock_send.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2007 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -26,16 +26,16 @@
#include <qa_mblock_send.h>
#include <cppunit/TestAssert.h>
-#include <mb_mblock.h>
-#include <mb_runtime.h>
+#include <mblock/mblock.h>
+#include <mblock/runtime.h>
#include <mb_runtime_nop.h> // QA only
-#include <mb_protocol_class.h>
-#include <mb_exception.h>
-#include <mb_msg_queue.h>
-#include <mb_message.h>
+#include <mblock/protocol_class.h>
+#include <mblock/exception.h>
+#include <mblock/msg_queue.h>
+#include <mblock/message.h>
#include <mb_mblock_impl.h>
-#include <mb_msg_accepter.h>
-#include <mb_class_registry.h>
+#include <mblock/msg_accepter.h>
+#include <mblock/class_registry.h>
#include <stdio.h>
static pmt_t s_data = pmt_intern("data");
diff --git a/mblock/src/lib/qa_mblock_sys.cc b/mblock/src/lib/qa_mblock_sys.cc
index 5991b7ffc..58e48f715 100644
--- a/mblock/src/lib/qa_mblock_sys.cc
+++ b/mblock/src/lib/qa_mblock_sys.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2006,2007 Free Software Foundation, Inc.
+ * Copyright 2006,2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -26,16 +26,16 @@
#include <qa_mblock_sys.h>
#include <cppunit/TestAssert.h>
-#include <mb_mblock.h>
-#include <mb_runtime.h>
+#include <mblock/mblock.h>
+#include <mblock/runtime.h>
#include <mb_runtime_nop.h> // QA only
-#include <mb_protocol_class.h>
-#include <mb_exception.h>
-#include <mb_msg_queue.h>
-#include <mb_message.h>
+#include <mblock/protocol_class.h>
+#include <mblock/exception.h>
+#include <mblock/msg_queue.h>
+#include <mblock/message.h>
#include <mb_mblock_impl.h>
-#include <mb_msg_accepter.h>
-#include <mb_class_registry.h>
+#include <mblock/msg_accepter.h>
+#include <mblock/class_registry.h>
#include <stdio.h>
#include <string.h>
#include <iostream>
diff --git a/mblock/src/lib/qa_timeouts.cc b/mblock/src/lib/qa_timeouts.cc
index 4f1eb46ee..2505635c1 100644
--- a/mblock/src/lib/qa_timeouts.cc
+++ b/mblock/src/lib/qa_timeouts.cc
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2007 Free Software Foundation, Inc.
+ * Copyright 2007,2008 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -24,12 +24,12 @@
#endif
#include <qa_timeouts.h>
#include <cppunit/TestAssert.h>
-#include <mb_mblock.h>
-#include <mb_runtime.h>
-#include <mb_protocol_class.h>
-#include <mb_message.h>
-#include <mb_msg_accepter.h>
-#include <mb_class_registry.h>
+#include <mblock/mblock.h>
+#include <mblock/runtime.h>
+#include <mblock/protocol_class.h>
+#include <mblock/message.h>
+#include <mblock/msg_accepter.h>
+#include <mblock/class_registry.h>
#include <mb_timer_queue.h>
#include <string.h>
#include <iostream>