bindings: Support per-language extensions to EnumValue wrappers.

This commit is contained in:
Martin Ling 2014-11-11 18:26:50 +00:00 committed by Uwe Hermann
parent 444d6a3975
commit 7a36ceacb9
3 changed files with 9 additions and 0 deletions

View File

@ -154,6 +154,9 @@ for enum, (classname, classbrief) in classes.items():
print >> swig, '%%template(EnumValue%s) sigrok::EnumValue<sigrok::%s, enum %s>;' % ( print >> swig, '%%template(EnumValue%s) sigrok::EnumValue<sigrok::%s, enum %s>;' % (
classname, classname, enum_name) classname, classname, enum_name)
# Apply any language-specific extras.
print >> swig, '%%enumextras(%s);' % classname
# Declare additional attributes if present # Declare additional attributes if present
filename = os.path.join(dirname, "%s_methods.i" % classname) filename = os.path.join(dirname, "%s_methods.i" % classname)
if os.path.exists(filename): if os.path.exists(filename):

View File

@ -386,4 +386,7 @@ typedef jobject jsourcecallback;
%attributeval(sigrok::Class, Type, Name, Get); %attributeval(sigrok::Class, Type, Name, Get);
%enddef %enddef
%define %enumextras(Class)
%enddef
%include "bindings/swig/classes.i" %include "bindings/swig/classes.i"

View File

@ -381,6 +381,9 @@ std::map<std::string, Glib::VariantBase> dict_to_map_options(PyObject *dict,
} }
%enddef %enddef
%define %enumextras(Class)
%enddef
%include "../../../swig/classes.i" %include "../../../swig/classes.i"
/* Support Driver.scan() with keyword arguments. */ /* Support Driver.scan() with keyword arguments. */