summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/CMakeLists.txt13
-rw-r--r--lib/gr_message.cc78
-rw-r--r--lib/gr_msg_handler.cc30
-rw-r--r--lib/gr_msg_queue.cc125
-rw-r--r--lib/gr_sys_paths.cc55
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();
-}