summaryrefslogtreecommitdiff
path: root/mblock/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'mblock/src/include')
-rw-r--r--mblock/src/include/.gitignore2
-rw-r--r--mblock/src/include/Makefile.am24
-rw-r--r--mblock/src/include/mblock/.gitignore2
-rw-r--r--mblock/src/include/mblock/Makefile.am37
-rw-r--r--mblock/src/include/mblock/class_registry.h51
-rw-r--r--mblock/src/include/mblock/common.h94
-rw-r--r--mblock/src/include/mblock/exception.h118
-rw-r--r--mblock/src/include/mblock/mblock.h318
-rw-r--r--mblock/src/include/mblock/message.h88
-rw-r--r--mblock/src/include/mblock/msg_accepter.h48
-rw-r--r--mblock/src/include/mblock/msg_queue.h82
-rw-r--r--mblock/src/include/mblock/port.h93
-rw-r--r--mblock/src/include/mblock/protocol_class.h52
-rw-r--r--mblock/src/include/mblock/runtime.h69
-rw-r--r--mblock/src/include/mblock/time.h27
15 files changed, 0 insertions, 1105 deletions
diff --git a/mblock/src/include/.gitignore b/mblock/src/include/.gitignore
deleted file mode 100644
index b336cc7cec..0000000000
--- a/mblock/src/include/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/Makefile
-/Makefile.in
diff --git a/mblock/src/include/Makefile.am b/mblock/src/include/Makefile.am
deleted file mode 100644
index d5672989c6..0000000000
--- a/mblock/src/include/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# 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 GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-SUBDIRS = mblock
diff --git a/mblock/src/include/mblock/.gitignore b/mblock/src/include/mblock/.gitignore
deleted file mode 100644
index b336cc7cec..0000000000
--- a/mblock/src/include/mblock/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/Makefile
-/Makefile.in
diff --git a/mblock/src/include/mblock/Makefile.am b/mblock/src/include/mblock/Makefile.am
deleted file mode 100644
index e36215aa40..0000000000
--- a/mblock/src/include/mblock/Makefile.am
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# 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 GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-mbincludedir = $(includedir)/mblock
-
-mbinclude_HEADERS = \
- common.h \
- class_registry.h \
- exception.h \
- mblock.h \
- message.h \
- msg_accepter.h \
- msg_queue.h \
- port.h \
- protocol_class.h \
- runtime.h \
- time.h
diff --git a/mblock/src/include/mblock/class_registry.h b/mblock/src/include/mblock/class_registry.h
deleted file mode 100644
index e4341f7d14..0000000000
--- a/mblock/src/include/mblock/class_registry.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2007,2008,2009 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 <mblock/common.h>
-
-//! conceptually, pointer to constructor
-typedef mb_mblock_sptr (*mb_mblock_maker_t)(mb_runtime *runtime,
- const std::string &instance_name,
- pmt::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::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/include/mblock/common.h b/mblock/src/include/mblock/common.h
deleted file mode 100644
index 054b9987eb..0000000000
--- a/mblock/src/include/mblock/common.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2007,2008,2009 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 <gruel/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/include/mblock/exception.h b/mblock/src/include/mblock/exception.h
deleted file mode 100644
index 6cc4566569..0000000000
--- a/mblock/src/include/mblock/exception.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,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_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/include/mblock/mblock.h b/mblock/src/include/mblock/mblock.h
deleted file mode 100644
index 2f036e4145..0000000000
--- a/mblock/src/include/mblock/mblock.h
+++ /dev/null
@@ -1,318 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2008,2009 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 <mblock/common.h>
-#include <mblock/message.h>
-#include <mblock/port.h>
-#include <mblock/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::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::pmt_t user_arg = pmt::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::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::pmt_t
- schedule_one_shot_timeout(const mb_time &abs_time, pmt::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::pmt_t
- schedule_periodic_timeout(const mb_time &first_abs_time,
- const mb_time &delta_time,
- pmt::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::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);
-
-
- //! \internal
- // internal use only
- mb_mblock_impl_sptr
- impl() const { return d_impl; }
-
-};
-
-
-#endif /* INCLUDED_MB_MBLOCK_H */
diff --git a/mblock/src/include/mblock/message.h b/mblock/src/include/mblock/message.h
deleted file mode 100644
index 4051d0c8e6..0000000000
--- a/mblock/src/include/mblock/message.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2007,2008,2009 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 <mblock/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::pmt_t signal,
- pmt::pmt_t data = pmt::PMT_NIL,
- pmt::pmt_t metadata = pmt::PMT_NIL,
- mb_pri_t priority = MB_PRI_DEFAULT);
-
-class mb_message {
- mb_message_sptr d_next; // link field for msg queue
- pmt::pmt_t d_signal;
- pmt::pmt_t d_data;
- pmt::pmt_t d_metadata;
- mb_pri_t d_priority;
- pmt::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::pmt_t signal, pmt::pmt_t data, pmt::pmt_t metadata, mb_pri_t priority);
-
- // private constructor
- mb_message(pmt::pmt_t signal, pmt::pmt_t data, pmt::pmt_t metadata, mb_pri_t priority);
-
-public:
- ~mb_message();
-
- pmt::pmt_t signal() const { return d_signal; }
- pmt::pmt_t data() const { return d_data; }
- pmt::pmt_t metadata() const { return d_metadata; }
- mb_pri_t priority() const { return d_priority; }
- pmt::pmt_t port_id() const { return d_port_id; }
-
- void set_port_id(pmt::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/include/mblock/msg_accepter.h b/mblock/src/include/mblock/msg_accepter.h
deleted file mode 100644
index 7dc1e50cb2..0000000000
--- a/mblock/src/include/mblock/msg_accepter.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2007,2008,2009 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 <mblock/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::pmt_t signal, pmt::pmt_t data, pmt::pmt_t metadata, mb_pri_t priority) = 0;
-};
-
-#endif /* INCLUDED_MB_MSG_ACCEPTER_H */
diff --git a/mblock/src/include/mblock/msg_queue.h b/mblock/src/include/mblock/msg_queue.h
deleted file mode 100644
index a23397081a..0000000000
--- a/mblock/src/include/mblock/msg_queue.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2007,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_MSG_QUEUE_H
-#define INCLUDED_MB_MSG_QUEUE_H
-
-#include <mblock/common.h>
-#include <gnuradio/omnithread.h>
-#include <mblock/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/include/mblock/port.h b/mblock/src/include/mblock/port.h
deleted file mode 100644
index 1664765db1..0000000000
--- a/mblock/src/include/mblock/port.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2008,2009 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 <mblock/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::pmt_t d_port_symbol; // the port_name as a pmt::pmt symbol
- pmt::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::pmt_t port_symbol() const { return d_port_symbol; }
- pmt::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::pmt_t incoming_message_set() const;
- pmt::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::pmt_t signal,
- pmt::pmt_t data = pmt::PMT_F,
- pmt::pmt_t metadata = pmt::PMT_F,
- mb_pri_t priority = MB_PRI_DEFAULT) = 0;
-
- /*
- * \brief Invalidate any cached peer resolutions
- * \internal
- */
- virtual void invalidate_cache() = 0;
-};
-
-#endif /* INCLUDED_MB_PORT_H */
diff --git a/mblock/src/include/mblock/protocol_class.h b/mblock/src/include/mblock/protocol_class.h
deleted file mode 100644
index a01e68d8f5..0000000000
--- a/mblock/src/include/mblock/protocol_class.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2008,2009 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 <mblock/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::pmt_t mb_make_protocol_class(pmt::pmt_t name, pmt::pmt_t incoming, pmt::pmt_t outgoing);
-
-// Accessors
-pmt::pmt_t mb_protocol_class_name(pmt::pmt_t pc); //< return name of protocol class
-pmt::pmt_t mb_protocol_class_incoming(pmt::pmt_t pc); //< return incoming message set
-pmt::pmt_t mb_protocol_class_outgoing(pmt::pmt_t pc); //< return outgoing message set
-
-pmt::pmt_t mb_protocol_class_lookup(pmt::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/include/mblock/runtime.h b/mblock/src/include/mblock/runtime.h
deleted file mode 100644
index 9afc38b767..0000000000
--- a/mblock/src/include/mblock/runtime.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2006,2008,2009 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 <mblock/common.h>
-#include <gnuradio/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 instance_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
- * \param result The value passed to shutdown_all.
- *
- * \returns true if the system ran successfully.
- */
- virtual bool run(const std::string &instance_name,
- const std::string &class_name,
- pmt::pmt_t user_arg,
- pmt::pmt_t *result = 0) = 0;
-
- // QA only...
- mb_mblock_sptr top() { return d_top; }
-};
-
-#endif /* INCLUDED_MB_RUNTIME_H */
diff --git a/mblock/src/include/mblock/time.h b/mblock/src/include/mblock/time.h
deleted file mode 100644
index 630fa845c1..0000000000
--- a/mblock/src/include/mblock/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 <gnuradio/omni_time.h>
-typedef omni_time mb_time;
-
-#endif /* INCLUDED_MB_TIME_H */