From a5d091a6c0e4cfe6b40c9f9fc41c2baf6c9e0f1a Mon Sep 17 00:00:00 2001 From: Jürgen Knödlseder Date: Tue, 2 Mar 2021 22:06:04 +0100 Subject: [PATCH] Add typemap for automatic conversion of GOptimizer class --- pyext/ctlikelihood.i | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+), 0 deletions(-) diff --git a/pyext/ctlikelihood.i b/pyext/ctlikelihood.i index 761421a..04b226b 100755 --- a/pyext/ctlikelihood.i +++ b/pyext/ctlikelihood.i @@ -72,6 +72,27 @@ public: // arguments to GApplication constructor %include "argcargv.i" +/* __ Include interface classes __________________________________________ */ +%import(module="gammalib.opt") "GOptimizer.i"; + +/* __ Typemaps ___________________________________________________________ */ +%typemap(out) GOptimizer* { + char classname[80]; + strcpy(classname, "_p_"); + strcat(classname, result->classname().c_str()); + swig_type_info *myinfo = SWIGTYPE_p_GOptimizer; + swig_cast_info *mycast = 0; + mycast = myinfo->cast; + while (mycast != 0) { + if (strcmp(classname, mycast->type->name) == 0) { + myinfo = mycast->type; + break; + } + mycast = mycast->next; + } + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), myinfo, 0 | 0); +} + /***********************************************************************//** * @class ctlikelihood -- libgit2 0.21.4