aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/types
diff options
context:
space:
mode:
authorNicholas Corgan <nick.corgan@ettus.com>2015-08-12 12:19:20 -0700
committerNicholas Corgan <nick.corgan@ettus.com>2015-08-12 12:19:20 -0700
commitbc9dd05988454428de1b6efd235d980b8eaa9afe (patch)
treef61a72cfb1cfa81305e75e11a1646a12ed4b63cf /host/lib/types
parent95108f6f6ed6bf44fe38fc9e686fc9c5ae9c0e65 (diff)
downloaduhd-bc9dd05988454428de1b6efd235d980b8eaa9afe.tar.gz
uhd-bc9dd05988454428de1b6efd235d980b8eaa9afe.tar.bz2
uhd-bc9dd05988454428de1b6efd235d980b8eaa9afe.zip
C API cleanup, feature additions
* Cleaned up usage of handles vs. handle pointers * Store global string for last error thrown * Removed uhd::device_addr_t handle, added std::vector<std::string> handle
Diffstat (limited to 'host/lib/types')
-rw-r--r--host/lib/types/CMakeLists.txt2
-rw-r--r--host/lib/types/string_vector_c.cpp (renamed from host/lib/types/device_addrs_c.cpp)38
2 files changed, 21 insertions, 19 deletions
diff --git a/host/lib/types/CMakeLists.txt b/host/lib/types/CMakeLists.txt
index 891977065..ebb788183 100644
--- a/host/lib/types/CMakeLists.txt
+++ b/host/lib/types/CMakeLists.txt
@@ -97,10 +97,10 @@ LIBUHD_APPEND_SOURCES(
IF(ENABLE_C_API)
LIBUHD_APPEND_SOURCES(
- ${CMAKE_CURRENT_SOURCE_DIR}/device_addrs_c.cpp
${CMAKE_CURRENT_SOURCE_DIR}/metadata_c.cpp
${CMAKE_CURRENT_SOURCE_DIR}/ranges_c.cpp
${CMAKE_CURRENT_SOURCE_DIR}/sensors_c.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/string_vector_c.cpp
${CMAKE_CURRENT_SOURCE_DIR}/tune_c.cpp
${CMAKE_CURRENT_SOURCE_DIR}/usrp_info_c.cpp
)
diff --git a/host/lib/types/device_addrs_c.cpp b/host/lib/types/string_vector_c.cpp
index 3a24551d3..b50c7cdff 100644
--- a/host/lib/types/device_addrs_c.cpp
+++ b/host/lib/types/string_vector_c.cpp
@@ -15,18 +15,20 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
-#include <uhd/types/device_addrs.h>
+#include <uhd/types/string_vector.h>
-uhd_error uhd_device_addrs_make(
- uhd_device_addrs_handle *h
+#include <string.h>
+
+uhd_error uhd_string_vector_make(
+ uhd_string_vector_handle *h
){
UHD_SAFE_C(
- (*h) = new uhd_device_addrs_t;
+ (*h) = new uhd_string_vector_t;
)
}
-uhd_error uhd_device_addrs_free(
- uhd_device_addrs_handle *h
+uhd_error uhd_string_vector_free(
+ uhd_string_vector_handle *h
){
UHD_SAFE_C(
delete (*h);
@@ -34,17 +36,17 @@ uhd_error uhd_device_addrs_free(
)
}
-uhd_error uhd_device_addrs_push_back(
- uhd_device_addrs_handle h,
+uhd_error uhd_string_vector_push_back(
+ uhd_string_vector_handle *h,
const char* value
){
- UHD_SAFE_C_SAVE_ERROR(h,
- h->device_addrs_cpp.push_back(uhd::device_addr_t(value));
+ UHD_SAFE_C_SAVE_ERROR((*h),
+ (*h)->string_vector_cpp.push_back(value);
)
}
-uhd_error uhd_device_addrs_at(
- uhd_device_addrs_handle h,
+uhd_error uhd_string_vector_at(
+ uhd_string_vector_handle h,
size_t index,
char* value_out,
size_t strbuffer_len
@@ -52,22 +54,22 @@ uhd_error uhd_device_addrs_at(
UHD_SAFE_C_SAVE_ERROR(h,
memset(value_out, '\0', strbuffer_len);
- std::string value_cpp = h->device_addrs_cpp.at(index).to_string();
+ const std::string& value_cpp = h->string_vector_cpp.at(index);
strncpy(value_out, value_cpp.c_str(), strbuffer_len);
)
}
-uhd_error uhd_device_addrs_size(
- uhd_device_addrs_handle h,
+uhd_error uhd_string_vector_size(
+ uhd_string_vector_handle h,
size_t *size_out
){
UHD_SAFE_C_SAVE_ERROR(h,
- *size_out = h->device_addrs_cpp.size();
+ *size_out = h->string_vector_cpp.size();
)
}
-uhd_error uhd_device_addrs_last_error(
- uhd_device_addrs_handle h,
+uhd_error uhd_string_vector_last_error(
+ uhd_string_vector_handle h,
char* error_out,
size_t strbuffer_len
){