aboutsummaryrefslogtreecommitdiff
path: root/plugin/src/sbt-test/sbt-jni/multiclasses/native1/src/library.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/src/sbt-test/sbt-jni/multiclasses/native1/src/library.c')
-rw-r--r--plugin/src/sbt-test/sbt-jni/multiclasses/native1/src/library.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/plugin/src/sbt-test/sbt-jni/multiclasses/native1/src/library.c b/plugin/src/sbt-test/sbt-jni/multiclasses/native1/src/library.c
new file mode 100644
index 0000000..8b45660
--- /dev/null
+++ b/plugin/src/sbt-test/sbt-jni/multiclasses/native1/src/library.c
@@ -0,0 +1,28 @@
+#include <jni.h>
+#include "multiclasses_Adder.h"
+#include "multiclasses_Adder__.h"
+
+/*
+ * Class: multiclasses_Adder
+ * Method: plus
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_multiclasses_Adder_plus
+ (JNIEnv* env, jobject instance, jint term)
+{
+ jclass clazz = (*env)->GetObjectClass(env, instance);
+ jfieldID field = (*env)->GetFieldID(env, clazz, "base", "I");
+ jint base = (*env)->GetIntField(env, instance, field);
+ return base + term;
+}
+
+/*
+ * Class: multiclasses_Adder__
+ * Method: sum
+ * Signature: (II)I
+ */
+JNIEXPORT jint JNICALL Java_multiclasses_Adder_00024_sum
+ (JNIEnv* env, jobject instance, jint term1, jint term2)
+{
+ return term1 + term2;
+}