]> sigrok.org Git - libsigrok.git/commitdiff
java: Don't use SWIG attribute mechanism.
authorMartin Ling <redacted>
Tue, 20 Oct 2015 23:29:50 +0000 (00:29 +0100)
committerUwe Hermann <redacted>
Sat, 24 Oct 2015 20:12:41 +0000 (22:12 +0200)
Using the attribute mechanism results in badly named wrappers like
getLog_level(), as well as incompletely applied typemaps for templated
container types. If we just avoid this mechanism entirely, we get the
same foo() and set_foo() accessors as we have in the C++ API.

bindings/java/org/sigrok/core/classes/classes.i
bindings/swig/classes.i

index ba95144b74e4827554f1bc10727071aca271394b..c5d9b27b6a36478d679156d2c3324931bc5ec5ff 100644 (file)
@@ -293,20 +293,13 @@ typedef jobject jdatafeedcallback;
 
 %include "doc.i"
 
-%define %attributevector(Class, Type, Name, Get)
-%attributeval(sigrok::Class, Type, Name, Get);
-%enddef
-
-%define %attributemap(Class, Type, Name, Get)
-%attributeval(sigrok::Class, Type, Name, Get);
-%enddef
-
 %define %enumextras(Class)
 %enddef
 
 /* Ignore these for now, need fixes. */
 %ignore sigrok::Context::create_analog_packet;
 %ignore sigrok::Context::create_meta_packet;
+%ignore sigrok::Meta::config;
 
 %include "bindings/swig/classes.i"
 
index f556ba1a2371c9084db9ae4897acad3a1aa0c915..b87bbe1b06a33c3566c19e62a188fcb45078536c 100644 (file)
@@ -81,6 +81,8 @@ template< class T > class enable_shared_from_this;
 
 %ignore sigrok::DatafeedCallbackData;
 
+#ifndef SWIGJAVA
+
 #define SWIG_ATTRIBUTE_TEMPLATE
 
 %include "attribute.i"
@@ -209,6 +211,8 @@ typedef std::map<const sigrok::ConfigKey *, Glib::VariantBase>
 %attribute(sigrok::Analog, const sigrok::Unit *, unit, unit);
 %attributevector(Analog, std::vector<const sigrok::QuantityFlag *>, mq_flags, mq_flags);
 
+#endif
+
 %include <libsigrokcxx/libsigrokcxx.hpp>
 
 %include "swig/enums.i"