From: <wsf...@us...> - 2012-04-24 18:37:59
|
Revision: 13014 http://swig.svn.sourceforge.net/swig/?rev=13014&view=rev Author: wsfulton Date: 2012-04-24 18:37:53 +0000 (Tue, 24 Apr 2012) Log Message: ----------- Add missing Lua factory.i for patch #3219676 Added Paths: ----------- trunk/Lib/lua/factory.i Added: trunk/Lib/lua/factory.i =================================================================== --- trunk/Lib/lua/factory.i (rev 0) +++ trunk/Lib/lua/factory.i 2012-04-24 18:37:53 UTC (rev 13014) @@ -0,0 +1,23 @@ +/* + A modification of factory.swg from the generic UTL library. +*/ + +%include <typemaps/swigmacros.swg> + +%define %_factory_dispatch(Type) +if (!dcast) { + Type *dobj = dynamic_cast<Type *>($1); + if (dobj) { + dcast = 1; + SWIG_NewPointerObj(L, dobj, $descriptor(Type *), $owner); SWIG_arg++; + } +}%enddef + +%define %factory(Method,Types...) +%typemap(out) Method { + int dcast = 0; + %formacro(%_factory_dispatch, Types) + if (!dcast) { + SWIG_NewPointerObj(L, $1, $descriptor, $owner); SWIG_arg++; + } +}%enddef This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |