diff options
| -rw-r--r-- | host/include/uhd/usrp/dboard_base.hpp | 2 | ||||
| -rw-r--r-- | host/include/uhd/utils/pimpl.hpp | 3 | ||||
| -rw-r--r-- | host/lib/usrp/dboard_base.cpp | 6 | ||||
| -rw-r--r-- | host/lib/usrp/dboard_ctor_args.hpp | 20 | ||||
| -rw-r--r-- | host/lib/usrp/dboard_manager.cpp | 2 | 
5 files changed, 19 insertions, 14 deletions
| diff --git a/host/include/uhd/usrp/dboard_base.hpp b/host/include/uhd/usrp/dboard_base.hpp index e88d39876..9b75d791f 100644 --- a/host/include/uhd/usrp/dboard_base.hpp +++ b/host/include/uhd/usrp/dboard_base.hpp @@ -40,7 +40,7 @@ public:       * Derived classes should pass the args into the base class,       * but should not deal with the internals of the args.       */ -    struct ctor_args_impl; typedef ctor_args_impl* ctor_args_t; +    typedef void * ctor_args_t;      //structors      dboard_base(ctor_args_t); diff --git a/host/include/uhd/utils/pimpl.hpp b/host/include/uhd/utils/pimpl.hpp index 09bf0c0a2..18454f0c4 100644 --- a/host/include/uhd/utils/pimpl.hpp +++ b/host/include/uhd/utils/pimpl.hpp @@ -20,6 +20,7 @@  #include <uhd/config.hpp>  #include <boost/shared_ptr.hpp> +#include <boost/make_shared.hpp>  /*! \file pimpl.hpp   * "Pimpl idiom" (pointer to implementation idiom). @@ -50,6 +51,6 @@   * \param _args the constructor args for the pimpl   */  #define UHD_PIMPL_MAKE(_name, _args) \ -    boost::shared_ptr<_name>(new _name _args) +    boost::make_shared<_name> _args  #endif /* INCLUDED_UHD_UTILS_PIMPL_HPP */ diff --git a/host/lib/usrp/dboard_base.cpp b/host/lib/usrp/dboard_base.cpp index eafb8897f..6c4e29d9e 100644 --- a/host/lib/usrp/dboard_base.cpp +++ b/host/lib/usrp/dboard_base.cpp @@ -26,12 +26,12 @@ using namespace uhd::usrp;   * dboard_base dboard dboard_base class   **********************************************************************/  struct dboard_base::impl{ -    ctor_args_impl args; -    impl(ctor_args_t args) : args(*args){} +    dboard_ctor_args_t args;  };  dboard_base::dboard_base(ctor_args_t args){ -    _impl = UHD_PIMPL_MAKE(impl, (args)); +    _impl = UHD_PIMPL_MAKE(impl, ()); +    _impl->args = *static_cast<dboard_ctor_args_t *>(args);  }  dboard_base::~dboard_base(void){ diff --git a/host/lib/usrp/dboard_ctor_args.hpp b/host/lib/usrp/dboard_ctor_args.hpp index 13abe79e8..708f2ea08 100644 --- a/host/lib/usrp/dboard_ctor_args.hpp +++ b/host/lib/usrp/dboard_ctor_args.hpp @@ -15,18 +15,22 @@  // along with this program.  If not, see <http://www.gnu.org/licenses/>.  // -#ifndef INCLUDED_DBOARD_CTOR_ARGS_HPP -#define INCLUDED_DBOARD_CTOR_ARGS_HPP +#ifndef INCLUDED_LIBUHD_USRP_DBOARD_CTOR_ARGS_HPP +#define INCLUDED_LIBUHD_USRP_DBOARD_CTOR_ARGS_HPP  #include <uhd/usrp/dboard_id.hpp>  #include <uhd/usrp/dboard_base.hpp>  #include <uhd/usrp/dboard_iface.hpp>  #include <string> -struct uhd::usrp::dboard_base::ctor_args_impl{ -    std::string               sd_name; -    dboard_iface::sptr        db_iface; -    dboard_id_t               rx_id, tx_id; -}; +namespace uhd{ namespace usrp{ -#endif /* INCLUDED_DBOARD_CTOR_ARGS_HPP */ +    struct dboard_ctor_args_t{ +        std::string               sd_name; +        dboard_iface::sptr        db_iface; +        dboard_id_t               rx_id, tx_id; +    }; + +}} //namespace + +#endif /* INCLUDED_LIBUHD_USRP_DBOARD_CTOR_ARGS_HPP */ diff --git a/host/lib/usrp/dboard_manager.cpp b/host/lib/usrp/dboard_manager.cpp index 6321e018f..bfaaf0969 100644 --- a/host/lib/usrp/dboard_manager.cpp +++ b/host/lib/usrp/dboard_manager.cpp @@ -242,7 +242,7 @@ dboard_manager_impl::dboard_manager_impl(      set_nice_dboard_if();      //dboard constructor args -    dboard_base::ctor_args_impl db_ctor_args; +    dboard_ctor_args_t db_ctor_args;      db_ctor_args.db_iface = iface;      //make xcvr subdevs (make one subdev for both rx and tx dboards) | 
