summaryrefslogtreecommitdiff
path: root/gruel/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'gruel/src/include')
-rw-r--r--gruel/src/include/.gitignore2
-rw-r--r--gruel/src/include/Makefile.am22
-rw-r--r--gruel/src/include/gruel/.gitignore4
-rw-r--r--gruel/src/include/gruel/Makefile.am45
-rw-r--r--gruel/src/include/gruel/pmt.h19
5 files changed, 19 insertions, 73 deletions
diff --git a/gruel/src/include/.gitignore b/gruel/src/include/.gitignore
deleted file mode 100644
index b336cc7ce..000000000
--- a/gruel/src/include/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/Makefile
-/Makefile.in
diff --git a/gruel/src/include/Makefile.am b/gruel/src/include/Makefile.am
deleted file mode 100644
index 7a178810a..000000000
--- a/gruel/src/include/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright 2008 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.
-#
-
-SUBDIRS = gruel
diff --git a/gruel/src/include/gruel/.gitignore b/gruel/src/include/gruel/.gitignore
deleted file mode 100644
index bbe96391c..000000000
--- a/gruel/src/include/gruel/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/Makefile
-/Makefile.in
-/inet.h
-/pmt_serial_tags.h
diff --git a/gruel/src/include/gruel/Makefile.am b/gruel/src/include/gruel/Makefile.am
deleted file mode 100644
index fce739f08..000000000
--- a/gruel/src/include/gruel/Makefile.am
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# Copyright 2008-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 $(top_srcdir)/Makefile.common
-
-EXTRA_DIST += inet.h.in
-
-gruelincludedir = $(prefix)/include/gruel
-
-gruelinclude_HEADERS = \
- api.h \
- attributes.h \
- high_res_timer.h \
- inet.h \
- msg_accepter.h \
- msg_accepter_msgq.h \
- msg_queue.h \
- msg_passing.h \
- pmt.h \
- pmt_pool.h \
- pmt_serial_tags.h \
- pmt_sugar.h \
- realtime.h \
- sys_pri.h \
- thread_body_wrapper.h \
- thread_group.h \
- thread.h
diff --git a/gruel/src/include/gruel/pmt.h b/gruel/src/include/gruel/pmt.h
index 58533e54e..f904d37e1 100644
--- a/gruel/src/include/gruel/pmt.h
+++ b/gruel/src/include/gruel/pmt.h
@@ -32,6 +32,7 @@
#include <stdint.h>
#include <iosfwd>
#include <stdexcept>
+#include <boost/function.hpp>
namespace gruel {
class msg_accepter;
@@ -805,6 +806,24 @@ GRUEL_API std::string pmt_serialize_str(pmt_t obj);
*/
GRUEL_API pmt_t pmt_deserialize_str(std::string str);
+/*
+ * ------------------------------------------------------------------------
+ * advanced
+ * ------------------------------------------------------------------------
+ */
+
+#define GRUEL_PMT_HAVE_PMT_SET_DELETER
+
+/*!
+ * Set a deleter function to be called when the PMT dereferences.
+ * User beware! This function is for extremely advanced use.
+ * Use boost bind to bind extra parameters into the deleter function.
+ * Set an empty function type to reset the PMT to the default deleter.
+ * \param obj the pmt object in which to set the deleter function
+ * \param deleter a function that gets an opaque PMT pointer type
+ */
+GRUEL_API void pmt_set_deleter(pmt_t obj, boost::function<void(pmt_base *)> &deleter);
+
} /* namespace pmt */
#include <gruel/pmt_sugar.h>