summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib/swig
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src/lib/swig')
-rw-r--r--gnuradio-core/src/lib/swig/gr_swig_block_magic.i8
1 files changed, 8 insertions, 0 deletions
diff --git a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
index 4016ae772..6d1af6136 100644
--- a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
+++ b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
@@ -48,3 +48,11 @@ BASE_NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(),
BASE_NAME = BASE_NAME.make;
%}
%enddef
+
+%define GR_SWIG_BLOCK_MAGIC_FACTORY(PKG, BASE_NAME, FACTORY)
+%template(FACTORY ## _sptr) boost::shared_ptr<gr:: ## PKG ## :: ## BASE_NAME>;
+%pythoncode %{
+FACTORY ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
+FACTORY = BASE_NAME ## _make_ ## FACTORY;
+%}
+%enddef