diff options
Diffstat (limited to 'usrp_uhd/include/usrp_uhd.hpp')
-rw-r--r-- | usrp_uhd/include/usrp_uhd.hpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/usrp_uhd/include/usrp_uhd.hpp b/usrp_uhd/include/usrp_uhd.hpp new file mode 100644 index 000000000..6bf97a5a4 --- /dev/null +++ b/usrp_uhd/include/usrp_uhd.hpp @@ -0,0 +1,43 @@ +// +// Copyright 2010 Ettus Research LLC +// + +#ifndef INCLUDED_USRP_UHD_HPP +#define INCLUDED_USRP_UHD_HPP + +#include <usrp_uhd/usrp_addr.hpp> +#include <usrp_uhd/wax.hpp> +#include <boost/shared_ptr.hpp> +#include <boost/function.hpp> +#include <vector> +#include <sys/uio.h> + +namespace usrp{ + + class uhd{ + + public: + typedef boost::shared_ptr<uhd> sptr; + typedef boost::function<bool(void *data, size_t len)> recv_hdlr_t; + uhd(usrp_addr_t usrp_addr); + ~uhd(void); + + //the io interface + void send(const std::vector<iovec> &iovs); + void send(void* data, size_t len); //wrapper + void recv(const recv_hdlr_t &recv_hdlr); + void recv(void* &data, size_t &len); //wrapper + + //connect dsps and subdevs + void connect(const wax::type &src, const wax::type &sink); + + //the properties interface + wax::proxy props(void); + + private: + wax::type d_mboard; + }; + +} //namespace usrp + +#endif /* INCLUDED_USRP_UHD_HPP */ |