]> sigrok.org Git - libsigrok.git/commitdiff
java: Make enum values available as normal constants.
authorMartin Ling <redacted>
Sun, 25 Oct 2015 01:39:16 +0000 (01:39 +0000)
committerDaniel Elstner <redacted>
Mon, 26 Oct 2015 06:17:01 +0000 (07:17 +0100)
bindings/cxx/enums.py

index 0d2887bc1fa5d257796cbeb0584ede0d7bf40dad..4e6be7ba2ae6d1a0d3f87a8a26c2150a6ca047ae 100644 (file)
@@ -134,11 +134,19 @@ for enum, (classname, classbrief) in classes.items():
             classname, classname, trimmed_name, classname, name, trimmed_name),
             file=code)
 
+    print('%%typemap(javacode) sigrok::%s %%{' % classname, file=swig)
+
     # Define public pointers for each enum value
     for trimmed_name in trimmed_names:
         print('const %s * const %s::%s = &%s::_%s;' % (
             classname, classname, trimmed_name, classname, trimmed_name),
             file=code)
+        print('public static final %s %s = new %s(classesJNI.%s_%s_get(), false);' % (
+            classname, trimmed_name, classname, classname, trimmed_name),
+            file=swig)
+
+    print ('%}', file=swig)
+
 
     # Define map of enum values to constants
     print('template<> const SR_API std::map<const enum %s, const %s * const> EnumValue<%s, enum %s>::_values = {' % (