From 3d157e09f642caa7a5d48c71468b444d0566cf8d Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Tue, 13 Aug 2019 15:28:13 -0700 Subject: x300: Introduce conn_manager This is a superclass to eth_manager and pcie_manager, since they usually do the same thing. This saves storing and passing multiple pointers. Also, x300_impl now stores a shared_ptr of the conn_manager, because we'll need to pass it around in the future. --- host/lib/usrp/x300/x300_conn_mgr.hpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 host/lib/usrp/x300/x300_conn_mgr.hpp (limited to 'host/lib/usrp/x300/x300_conn_mgr.hpp') diff --git a/host/lib/usrp/x300/x300_conn_mgr.hpp b/host/lib/usrp/x300/x300_conn_mgr.hpp new file mode 100644 index 000000000..8aca2eb06 --- /dev/null +++ b/host/lib/usrp/x300/x300_conn_mgr.hpp @@ -0,0 +1,35 @@ +// +// Copyright 2019 Ettus Research, a National Instruments Brand +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#ifndef INCLUDED_X300_CONN_MGR_HPP +#define INCLUDED_X300_CONN_MGR_HPP + +#include +#include +#include +#include +#include + +namespace uhd { namespace usrp { namespace x300 { + +/*! Helper base class to manage the connection to the device + */ +class conn_manager +{ +public: + using sptr = std::shared_ptr; + virtual ~conn_manager() {} + + /*! Return a reference to a ZPU ctrl interface object + */ + virtual uhd::wb_iface::sptr get_ctrl_iface() = 0; + + virtual size_t get_mtu(uhd::direction_t dir) = 0; +}; + +}}} // namespace uhd::usrp::x300 + +#endif /* INCLUDED_X300_CONN_MGR_HPP */ -- cgit v1.2.3