aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/usrp/mpmd/mpmd_impl.cpp3
-rw-r--r--host/lib/utils/rpc.hpp19
2 files changed, 20 insertions, 2 deletions
diff --git a/host/lib/usrp/mpmd/mpmd_impl.cpp b/host/lib/usrp/mpmd/mpmd_impl.cpp
index 1caec550e..747bd87a6 100644
--- a/host/lib/usrp/mpmd/mpmd_impl.cpp
+++ b/host/lib/usrp/mpmd/mpmd_impl.cpp
@@ -118,6 +118,9 @@ mpmd_impl::mpmd_impl(const device_addr_t& device_addr)
UHD_HERE();
std::cout << ex.what() << std::endl;
}
+
+
+ // FIXME pass in a reference to the rpc client for all childs of rpc_block_ctrl
}
mpmd_impl::~mpmd_impl() {}
diff --git a/host/lib/utils/rpc.hpp b/host/lib/utils/rpc.hpp
index 946ce90ed..39acffa04 100644
--- a/host/lib/utils/rpc.hpp
+++ b/host/lib/utils/rpc.hpp
@@ -20,12 +20,27 @@
#include <rpc/client.h>
-namespace uhd
-{
+namespace uhd {
+
+/*! 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_client
{
public:
+ using sptr = std::shared_ptr<rpc_client>;
+
+ /*!
+ * \param addr An IP address to connect to
+ * \param port Port to connect to
+ */
rpc_client(std::string const& addr, uint16_t port) : _client(addr, port) {}
+
+ /*! Perform an RPC call
+ */
template <typename return_type, typename... Args>
return_type call(std::string const& func_name, Args&&... args)
{