aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/utils
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/utils')
-rw-r--r--host/lib/utils/CMakeLists.txt6
-rw-r--r--host/lib/utils/paths.cpp18
-rw-r--r--host/lib/utils/platform.cpp4
-rw-r--r--host/lib/utils/thread_priority.cpp4
-rw-r--r--host/lib/utils/thread_priority_c.cpp33
5 files changed, 53 insertions, 12 deletions
diff --git a/host/lib/utils/CMakeLists.txt b/host/lib/utils/CMakeLists.txt
index 369920ac1..c5c975dfa 100644
--- a/host/lib/utils/CMakeLists.txt
+++ b/host/lib/utils/CMakeLists.txt
@@ -141,3 +141,9 @@ LIBUHD_APPEND_SOURCES(
${CMAKE_CURRENT_SOURCE_DIR}/tasks.cpp
${CMAKE_CURRENT_SOURCE_DIR}/thread_priority.cpp
)
+
+IF(ENABLE_C_API)
+ LIBUHD_APPEND_SOURCES(
+ ${CMAKE_CURRENT_SOURCE_DIR}/thread_priority_c.cpp
+ )
+ENDIF(ENABLE_C_API)
diff --git a/host/lib/utils/paths.cpp b/host/lib/utils/paths.cpp
index f29318ddd..eb9e69a49 100644
--- a/host/lib/utils/paths.cpp
+++ b/host/lib/utils/paths.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2015 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -111,6 +111,7 @@ static std::vector<std::string> get_env_paths(const std::string &var_name){
return paths;
}
+#ifndef UHD_PLATFORM_WIN32
/*! Expand a tilde character to the $HOME path.
*
* The path passed to this function must start with the tilde character in order
@@ -132,6 +133,7 @@ static std::string expand_home_directory(std::string path) {
return path;
}
+#endif
/***********************************************************************
* Implement the functions in paths.hpp
@@ -239,7 +241,7 @@ std::string _get_images_path_from_registry(const std::string& registry_key_path)
//Get a handle to the key location
HKEY hkey_location;
- if (RegOpenKeyExA(hkey_parent, reg_path.c_str(), NULL, KEY_QUERY_VALUE, &hkey_location) != ERROR_SUCCESS)
+ if (RegOpenKeyExA(hkey_parent, reg_path.c_str(), 0, KEY_QUERY_VALUE, &hkey_location) != ERROR_SUCCESS)
return std::string();
//Query key value
@@ -259,7 +261,7 @@ std::string _get_images_path_from_registry(const std::string& registry_key_path)
}
#endif /*UHD_PLATFORM_WIN32*/
-std::string uhd::get_images_dir(const std::string search_paths) {
+std::string uhd::get_images_dir(const std::string &search_paths) {
/* This function will check for the existence of directories in this
* order:
@@ -330,7 +332,7 @@ std::string uhd::get_images_dir(const std::string search_paths) {
}
}
-std::string uhd::find_image_path(const std::string &image_name, const std::string search_paths){
+std::string uhd::find_image_path(const std::string &image_name, const std::string &search_paths){
/* If a path was provided on the command-line or as a hint from the caller,
* we default to that. */
if (fs::exists(image_name)){
@@ -362,15 +364,15 @@ std::string uhd::find_image_path(const std::string &image_name, const std::strin
+ uhd::print_utility_error("uhd_images_downloader.py"));
}
-std::string uhd::find_utility(std::string name) {
+std::string uhd::find_utility(const std::string &name) {
return fs::path(fs::path(uhd::get_pkg_path()) / UHD_LIB_DIR / "uhd" / "utils" / name)
.string();
}
-std::string uhd::print_utility_error(std::string name){
+std::string uhd::print_utility_error(const std::string &name, const std::string &args){
#ifdef UHD_PLATFORM_WIN32
- return "As an Administrator, please run:\n\n\"" + find_utility(name) + "\"";
+ return "As an Administrator, please run:\n\n\"" + find_utility(name) + args + "\"";
#else
- return "Please run:\n\n \"" + find_utility(name) + "\"";
+ return "Please run:\n\n \"" + find_utility(name) + (args.empty() ? "" : (" " + args)) + "\"";
#endif
}
diff --git a/host/lib/utils/platform.cpp b/host/lib/utils/platform.cpp
index e2f92039e..a9cef663b 100644
--- a/host/lib/utils/platform.cpp
+++ b/host/lib/utils/platform.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
#include <uhd/config.hpp>
#include <boost/functional/hash.hpp>
#ifdef UHD_PLATFORM_WIN32
-#include <Windows.h>
+#include <windows.h>
#else
#include <unistd.h>
#endif
diff --git a/host/lib/utils/thread_priority.cpp b/host/lib/utils/thread_priority.cpp
index 7c3faa37a..98023c5aa 100644
--- a/host/lib/utils/thread_priority.cpp
+++ b/host/lib/utils/thread_priority.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2011 Ettus Research LLC
+// Copyright 2010-2011,2015 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -74,7 +74,7 @@ static void check_priority_range(float priority){
#ifdef HAVE_WIN_SETTHREADPRIORITY
#include <windows.h>
- void uhd::set_thread_priority(float priority, bool realtime){
+ void uhd::set_thread_priority(float priority, UHD_UNUSED(bool realtime)){
check_priority_range(priority);
/*
diff --git a/host/lib/utils/thread_priority_c.cpp b/host/lib/utils/thread_priority_c.cpp
new file mode 100644
index 000000000..fe019e51d
--- /dev/null
+++ b/host/lib/utils/thread_priority_c.cpp
@@ -0,0 +1,33 @@
+//
+// Copyright 2015 Ettus Research LLC
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+//
+
+#include <uhd/error.h>
+#include <uhd/utils/thread_priority.h>
+#include <uhd/utils/thread_priority.hpp>
+#include <uhd/utils/msg.hpp>
+#include <uhd/exception.hpp>
+#include <boost/format.hpp>
+#include <iostream>
+
+uhd_error uhd_set_thread_priority(
+ float priority,
+ bool realtime
+){
+ UHD_SAFE_C(
+ uhd::set_thread_priority(priority, realtime);
+ )
+}