diff options
-rw-r--r-- | lib/CMakeLists.txt | 13 | ||||
-rw-r--r-- | lib/gr_message.cc | 78 | ||||
-rw-r--r-- | lib/gr_msg_handler.cc | 30 | ||||
-rw-r--r-- | lib/gr_msg_queue.cc | 125 | ||||
-rw-r--r-- | lib/gr_sys_paths.cc | 55 |
5 files changed, 9 insertions, 292 deletions
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index b954182..43ea21a 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -9,10 +9,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../tests) # Append gnuradio-core library sources ######################################################################## list(APPEND gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sys_paths.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_message.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_queue.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_handler.cc ${CMAKE_CURRENT_SOURCE_DIR}/element.cpp ${CMAKE_CURRENT_SOURCE_DIR}/block.cpp ${CMAKE_CURRENT_SOURCE_DIR}/block_task.cpp @@ -26,6 +22,15 @@ list(APPEND gnuradio_core_sources ${CMAKE_CURRENT_SOURCE_DIR}/gr_top_block.cpp ) +#sources that are in tree that have not changed +set(runtime_srcs_dir ${CMAKE_SOURCE_DIR}/gnuradio-core/src/lib/runtime) +list(APPEND gnuradio_core_sources + ${runtime_srcs_dir}/gr_sys_paths.cc + ${runtime_srcs_dir}/gr_message.cc + ${runtime_srcs_dir}/gr_msg_queue.cc + ${runtime_srcs_dir}/gr_msg_handler.cc +) + ######################################################################## # Append gnuradio-core test sources ######################################################################## diff --git a/lib/gr_message.cc b/lib/gr_message.cc deleted file mode 100644 index a99dcd7..0000000 --- a/lib/gr_message.cc +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2005 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio 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, or (at your option) - * any later version. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <gr_message.h> -#include <assert.h> -#include <string.h> - -static long s_ncurrently_allocated = 0; - -gr_message_sptr -gr_make_message (long type, double arg1, double arg2, size_t length) -{ - return gr_message_sptr (new gr_message (type, arg1, arg2, length)); -} - -gr_message_sptr -gr_make_message_from_string(const std::string s, long type, double arg1, double arg2) -{ - gr_message_sptr m = gr_make_message(type, arg1, arg2, s.size()); - memcpy(m->msg(), s.data(), s.size()); - return m; -} - - -gr_message::gr_message (long type, double arg1, double arg2, size_t length) - : d_type(type), d_arg1(arg1), d_arg2(arg2) -{ - if (length == 0) - d_buf_start = d_msg_start = d_msg_end = d_buf_end = 0; - else { - d_buf_start = new unsigned char [length]; - d_msg_start = d_buf_start; - d_msg_end = d_buf_end = d_buf_start + length; - } - s_ncurrently_allocated++; -} - -gr_message::~gr_message () -{ - assert (d_next == 0); - delete [] d_buf_start; - d_msg_start = d_msg_end = d_buf_end = 0; - s_ncurrently_allocated--; -} - -std::string -gr_message::to_string() const -{ - return std::string((char *)d_msg_start, length()); -} - -long -gr_message_ncurrently_allocated () -{ - return s_ncurrently_allocated; -} diff --git a/lib/gr_msg_handler.cc b/lib/gr_msg_handler.cc deleted file mode 100644 index 0f93497..0000000 --- a/lib/gr_msg_handler.cc +++ /dev/null @@ -1,30 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2005 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio 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, or (at your option) - * any later version. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <gr_msg_handler.h> - -gr_msg_handler::~gr_msg_handler () -{ -} diff --git a/lib/gr_msg_queue.cc b/lib/gr_msg_queue.cc deleted file mode 100644 index 0cf0467..0000000 --- a/lib/gr_msg_queue.cc +++ /dev/null @@ -1,125 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2005,2009 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio 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, or (at your option) - * any later version. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <gr_msg_queue.h> -#include <stdexcept> - -gr_msg_queue_sptr -gr_make_msg_queue(unsigned int limit) -{ - return gr_msg_queue_sptr (new gr_msg_queue(limit)); -} - -gr_msg_queue::gr_msg_queue(unsigned int limit) - : d_not_empty(), d_not_full(), - /*d_head(0), d_tail(0),*/ d_count(0), d_limit(limit) -{ -} - -gr_msg_queue::~gr_msg_queue() -{ - flush (); -} - -void -gr_msg_queue::insert_tail(gr_message_sptr msg) -{ - if (msg->d_next) - throw std::invalid_argument("gr_msg_queue::insert_tail: msg already in queue"); - - gruel::scoped_lock guard(d_mutex); - - while (full_p()) - d_not_full.wait(guard); - - if (d_tail == 0){ - d_tail = d_head = msg; - //msg->d_next = 0; - msg->d_next.reset(); - } - else { - d_tail->d_next = msg; - d_tail = msg; - //msg->d_next = 0; - msg->d_next.reset(); - } - d_count++; - d_not_empty.notify_one(); -} - -gr_message_sptr -gr_msg_queue::delete_head() -{ - gruel::scoped_lock guard(d_mutex); - gr_message_sptr m; - - while ((m = d_head) == 0) - d_not_empty.wait(guard); - - d_head = m->d_next; - if (d_head == 0){ - //d_tail = 0; - d_tail.reset(); - } - - d_count--; - // m->d_next = 0; - m->d_next.reset(); - d_not_full.notify_one(); - return m; -} - -gr_message_sptr -gr_msg_queue::delete_head_nowait() -{ - gruel::scoped_lock guard(d_mutex); - gr_message_sptr m; - - if ((m = d_head) == 0){ - //return 0; - return gr_message_sptr(); - } - - d_head = m->d_next; - if (d_head == 0){ - //d_tail = 0; - d_tail.reset(); - } - - d_count--; - //m->d_next = 0; - m->d_next.reset(); - d_not_full.notify_one(); - return m; -} - -void -gr_msg_queue::flush() -{ - gr_message_sptr m; - - while ((m = delete_head_nowait ()) != 0) - ; -} diff --git a/lib/gr_sys_paths.cc b/lib/gr_sys_paths.cc deleted file mode 100644 index b4918af..0000000 --- a/lib/gr_sys_paths.cc +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2011 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio 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, or (at your option) - * any later version. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <gr_sys_paths.h> -#include <cstdlib> //getenv -#include <cstdio> //P_tmpdir (maybe) - -const char *gr_tmp_path(){ - const char *path; - - //first case, try TMP environment variable - path = getenv("TMP"); - if (path) return path; - - //second case, try P_tmpdir when its defined - #ifdef P_tmpdir - if (P_tmpdir) return P_tmpdir; - #endif /*P_tmpdir*/ - - //fall-through case, nothing worked - return "/tmp"; -} - -const char *gr_appdata_path(){ - const char *path; - - //first case, try HOME environment variable (unix) - path = getenv("HOME"); - if (path) return path; - - //second case, try APPDATA environment variable (windows) - path = getenv("APPDATA"); - if (path) return path; - - //fall-through case, nothing worked - return gr_tmp_path(); -} |