diff options
author | Andrej Rode <mail@andrejro.de> | 2018-08-22 00:25:18 +0200 |
---|---|---|
committer | Andrej Rode <mail@andrejro.de> | 2018-08-25 20:21:22 +0200 |
commit | b27dbcd2bbba3dc74d0b737977b0ff2919f50a2b (patch) | |
tree | cc201532053270e9c5f2a7d82665078e927c3a56 | |
parent | 52d93f7b1750e89561566d211eb5cb38e45f1a2c (diff) |
swig: add template block magic
-rw-r--r-- | gnuradio-runtime/swig/gr_swig_block_magic.i | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gnuradio-runtime/swig/gr_swig_block_magic.i b/gnuradio-runtime/swig/gr_swig_block_magic.i index 6d1af6136d..3a23487239 100644 --- a/gnuradio-runtime/swig/gr_swig_block_magic.i +++ b/gnuradio-runtime/swig/gr_swig_block_magic.i @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004,2010,2012 Free Software Foundation, Inc. + * Copyright 2004,2010,2012,2018 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -49,6 +49,16 @@ BASE_NAME = BASE_NAME.make; %} %enddef +%define GR_SWIG_BLOCK_MAGIC2_TMPL(PKG, BASE_NAME, TARGET_NAME...) +%template(BASE_NAME) gr:: ## PKG ## :: ## TARGET_NAME; +%template(BASE_NAME ## _sptr) boost::shared_ptr<gr:: ## PKG ## :: ## TARGET_NAME ## >; +%pythoncode %{ +BASE_NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id()) +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 %{ |