bindings: Expose EnumValue::id and EnumValue::name as attributes.

This commit is contained in:
Martin Ling 2014-11-11 01:18:58 +00:00 committed by Uwe Hermann
parent fe4096fde6
commit 189461b251
2 changed files with 9 additions and 3 deletions

View File

@ -146,6 +146,11 @@ for enum, (classname, classbrief) in classes.items():
if os.path.exists(filename): if os.path.exists(filename):
print >> code, str.join('', open(filename).readlines()) print >> code, str.join('', open(filename).readlines())
# Instantiate EnumValue template for SWIG wrappers # Map EnumValue::id() and EnumValue::name() as SWIG attributes.
print >> swig, '%%template(EnumValue%s) EnumValue<%s, enum %s>;' % ( print >> swig, '%%attribute(sigrok::%s, int, id, id);' % classname
print >> swig, '%%attributestring(sigrok::%s, std::string, name, name);' % classname
# Instantiate EnumValue template for SWIG
print >> swig, '%%template(EnumValue%s) sigrok::EnumValue<sigrok::%s, enum %s>;' % (
classname, classname, enum_name) classname, classname, enum_name)

View File

@ -272,7 +272,8 @@ typedef std::map<const sigrok::ConfigKey *, Glib::VariantBase>
%include "libsigrok/libsigrok.hpp" %include "libsigrok/libsigrok.hpp"
namespace sigrok {
%include "enums.i" %include "enums.i"
namespace sigrok {
%include "libsigrok/enums.hpp" %include "libsigrok/enums.hpp"
} }