aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-05-30 14:33:15 -0700
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:03:58 -0800
commit2b864696b729783a0248c800e0a5b18bd881509c (patch)
tree856d233b8f2a41d38e4605ffaaf58a60d831631d /host/lib/rfnoc
parent823251a1969e1a3a9434e27acbbb9e3b8ea4715e (diff)
downloaduhd-2b864696b729783a0248c800e0a5b18bd881509c.tar.gz
uhd-2b864696b729783a0248c800e0a5b18bd881509c.tar.bz2
uhd-2b864696b729783a0248c800e0a5b18bd881509c.zip
mpmd: Added preliminary support for passing RPC client to blocks
Diffstat (limited to 'host/lib/rfnoc')
-rw-r--r--host/lib/rfnoc/rpc_block_ctrl.hpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/host/lib/rfnoc/rpc_block_ctrl.hpp b/host/lib/rfnoc/rpc_block_ctrl.hpp
new file mode 100644
index 000000000..99c0c8ce1
--- /dev/null
+++ b/host/lib/rfnoc/rpc_block_ctrl.hpp
@@ -0,0 +1,51 @@
+//
+// Copyright 2017 Ettus Research (National Instruments)
+//
+// This program 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 of the License, or
+// (at your option) any later version.
+//
+// This program 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, see <http://www.gnu.org/licenses/>.
+//
+
+#ifndef INCLUDED_LIBUHD_RFNOC_RPC_BLOCK_CTRL_HPP
+#define INCLUDED_LIBUHD_RFNOC_RPC_BLOCK_CTRL_HPP
+
+#include "../utils/rpc.hpp"
+
+namespace uhd {
+ namespace rfnoc {
+
+/*! Abstraction for RPC client
+ *
+ * Purpose of this class is to wrap the underlying RPC implementation.
+ * This class holds a connection to an RPC server (the connection is severed on
+ * destruction).
+ */
+class rpc_block_ctrl
+{
+public:
+ virtual ~rpc_block_ctrl() {}
+
+ /*! Pass in an RPC client for the block to use
+ *
+ * \param rpcc Reference to the RPC client
+ * \param block_args Additional block arguments
+ */
+ virtual void set_rpc_client(
+ uhd::rpc_client::sptr rpcc,
+ const uhd::device_addr_t &block_args
+ ) = 0;
+
+};
+
+}}
+
+#endif /* INCLUDED_LIBUHD_RFNOC_RPC_BLOCK_CTRL_HPP */