From 25d8d6f611851d587e98607cba79a5bb74db2cb1 Mon Sep 17 00:00:00 2001 From: Lane Kolbly Date: Tue, 21 Dec 2021 13:13:53 -0600 Subject: host: Add char* overload for device_addr_t This allows constructing a multi_usrp using a string constant: ``` auto usrp = uhd::usrp::multi_usrp::make("type=x4xx"); ``` --- host/include/uhd/types/device_addr.hpp | 6 ++++++ host/lib/include/uhdlib/usrp/constrained_device_args.hpp | 6 ------ host/lib/types/device_addr.cpp | 6 ++++++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/host/include/uhd/types/device_addr.hpp b/host/include/uhd/types/device_addr.hpp index 869f4a862..87cce626d 100644 --- a/host/include/uhd/types/device_addr.hpp +++ b/host/include/uhd/types/device_addr.hpp @@ -43,6 +43,12 @@ public: */ device_addr_t(const std::string& args = ""); + /*! + * Create a device address from an args string. + * \param args the arguments string + */ + device_addr_t(const char* args); + /*! * Create a device address from a std::map * \param info the device info map diff --git a/host/lib/include/uhdlib/usrp/constrained_device_args.hpp b/host/lib/include/uhdlib/usrp/constrained_device_args.hpp index e0c2c9b90..d3b52ea01 100644 --- a/host/lib/include/uhdlib/usrp/constrained_device_args.hpp +++ b/host/lib/include/uhdlib/usrp/constrained_device_args.hpp @@ -244,12 +244,6 @@ public: // Methods constrained_device_args_t() {} virtual ~constrained_device_args_t() {} - void parse(const std::string& str_args) - { - device_addr_t dev_args(str_args); - _parse(dev_args); - } - void parse(const device_addr_t& dev_args) { _parse(dev_args); diff --git a/host/lib/types/device_addr.cpp b/host/lib/types/device_addr.cpp index 01dd46f5c..8f0fffa75 100644 --- a/host/lib/types/device_addr.cpp +++ b/host/lib/types/device_addr.cpp @@ -44,6 +44,12 @@ device_addr_t::device_addr_t(const std::string& args) } } +device_addr_t::device_addr_t(const char* args) : + device_addr_t(std::string(args)) +{ + // No additional construction is necessary +} + device_addr_t::device_addr_t(const std::map& info) { for (auto& t : info) { -- cgit v1.2.3