diff options
author | Nicholas Corgan <nick.corgan@ettus.com> | 2015-08-12 12:19:20 -0700 |
---|---|---|
committer | Nicholas Corgan <nick.corgan@ettus.com> | 2015-08-12 12:19:20 -0700 |
commit | bc9dd05988454428de1b6efd235d980b8eaa9afe (patch) | |
tree | f61a72cfb1cfa81305e75e11a1646a12ed4b63cf /host/lib/types | |
parent | 95108f6f6ed6bf44fe38fc9e686fc9c5ae9c0e65 (diff) | |
download | uhd-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.txt | 2 | ||||
-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 ){ |