aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLane Kolbly <lane.kolbly@ni.com>2021-12-21 13:13:53 -0600
committerAaron Rossetto <aaron.rossetto@ni.com>2022-01-05 09:58:21 -0600
commit25d8d6f611851d587e98607cba79a5bb74db2cb1 (patch)
tree9ba230390c0e006b5a5dce1267ef1215a56fc85c
parent450a36eababc10e21b8af7bb130f41cec9e90d1e (diff)
downloaduhd-25d8d6f611851d587e98607cba79a5bb74db2cb1.tar.gz
uhd-25d8d6f611851d587e98607cba79a5bb74db2cb1.tar.bz2
uhd-25d8d6f611851d587e98607cba79a5bb74db2cb1.zip
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"); ```
-rw-r--r--host/include/uhd/types/device_addr.hpp6
-rw-r--r--host/lib/include/uhdlib/usrp/constrained_device_args.hpp6
-rw-r--r--host/lib/types/device_addr.cpp6
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
@@ -44,6 +44,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<std::string, std::string>& info)
{
for (auto& t : info) {