Add missing Lua factory.i for patch #3219676
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13014 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
2f5fc8dd2d
commit
dc7818db81
1 changed files with 23 additions and 0 deletions
23
Lib/lua/factory.i
Normal file
23
Lib/lua/factory.i
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue