summaryrefslogtreecommitdiff
path: root/mblock/src/lib/mb_mblock_impl.h
diff options
context:
space:
mode:
authorJohnathan Corgan <jcorgan@corganenterprises.com>2010-04-26 22:41:19 -0700
committerJohnathan Corgan <jcorgan@corganenterprises.com>2010-04-26 22:41:19 -0700
commitac2b84b93cad94f9a8830eeb5e62dace997c9a47 (patch)
treeb3968a52006382cf1f16071ffd8efb9452669888 /mblock/src/lib/mb_mblock_impl.h
parenta178f23be75489c1507060a8b0e9e59cd358dfba (diff)
Remove mblock library. We hardly knew 'ye.
Diffstat (limited to 'mblock/src/lib/mb_mblock_impl.h')
-rw-r--r--mblock/src/lib/mb_mblock_impl.h226
1 files changed, 0 insertions, 226 deletions
diff --git a/mblock/src/lib/mb_mblock_impl.h b/mblock/src/lib/mb_mblock_impl.h
deleted file mode 100644
index f460ecc5b1..0000000000
--- a/mblock/src/lib/mb_mblock_impl.h
+++ /dev/null
@@ -1,226 +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_MBLOCK_IMPL_H
-#define INCLUDED_MB_MBLOCK_IMPL_H
-
-#include <mblock/mblock.h>
-#include <mb_runtime_base.h>
-#include <mb_connection.h>
-#include <mblock/msg_queue.h>
-#include <list>
-#include <map>
-
-
-typedef std::map<std::string, mb_port_sptr> mb_port_map_t;
-typedef std::map<std::string, mb_mblock_sptr> mb_comp_map_t;
-
-
-/*!
- * \brief The private implementation details of the mblock system.
- */
-class mb_mblock_impl : boost::noncopyable
-{
- mb_runtime_base *d_runtime; // pointer to runtime
- mb_mblock *d_mb; // pointer to our associated mblock
- mb_mblock *d_mb_parent; // pointer to our parent
-
- std::string d_instance_name; // hierarchical name
- std::string d_class_name; // name of this (derived) class
-
- mb_port_map_t d_port_map; // our ports
- mb_comp_map_t d_comp_map; // our components
- mb_conn_table d_conn_table; // our connections
-
- mb_msg_queue d_msgq; // incoming messages for us
-
-public:
- mb_mblock_impl(mb_runtime_base *runtime, mb_mblock *mb,
- const std::string &instance_name);
- ~mb_mblock_impl();
-
- /*!
- * \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);
-
- /*!
- * \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();
-
- bool
- walk_tree(mb_visitor *visitor);
-
- mb_msg_accepter_sptr
- make_accepter(pmt::pmt_t port_name);
-
- mb_msg_queue &
- msgq() { return d_msgq; }
-
- //! Return instance name of this block
- std::string instance_name() const { return d_instance_name; }
-
- //! Set the instance name of this block
- void set_instance_name(const std::string &name);
-
- //! Return the class name of this block
- std::string class_name() const { return d_class_name; }
-
- //! Set the class name
- void set_class_name(const std::string &name);
-
- /*!
- * \brief If bound, store endpoint from the other end of the connection.
- *
- * \param port [in] port the port that we're searching for.
- * \param ep [out] the other end point from the matching connection.
- *
- * \returns true iff there's a matching connection.
- */
- bool
- lookup_other_endpoint(const mb_port *port, mb_endpoint *ep);
-
-
- //! Return point to associated mblock
- mb_mblock *mblock() const { return d_mb; }
-
- //! Return pointer to the parent of our mblock
- mb_mblock *mblock_parent() const { return d_mb_parent; }
-
- //! Lookup a component by name
- mb_mblock_sptr component(const std::string &comp_name);
-
- //! Return the runtime instance
- mb_runtime_base *runtime() { return d_runtime; }
-
- //! Set the runtime instance
- void set_runtime(mb_runtime_base *runtime) { d_runtime = runtime; }
-
- /*
- * Our implementation methods
- */
-private:
- //bool port_is_defined(pmt::pmt_t name);
- bool port_is_defined(const std::string &name);
- //bool comp_is_defined(pmt::pmt_t name);
- bool comp_is_defined(const std::string &name);
-
- mb_endpoint
- check_and_resolve_endpoint(const std::string &comp_name,
- const std::string &port_name);
-
-
- mb_port_sptr
- resolve_port(const std::string &comp_name,
- const std::string &port_name);
-
- static bool
- endpoints_are_compatible(const mb_endpoint &ep0,
- const mb_endpoint &ep1);
-
- /*!
- * \brief walk mblock tree and invalidate all port resolution caches.
- * \internal
- */
- void
- invalidate_all_port_caches();
-};
-
-
-#endif /* INCLUDED_MB_MBLOCK_IMPL_H */