diff options
Diffstat (limited to 'src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src')
3 files changed, 57 insertions, 0 deletions
diff --git a/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/main/c/HelloWorldSharedLibJNI.c b/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/main/c/HelloWorldSharedLibJNI.c new file mode 100644 index 0000000..e5b8e4b --- /dev/null +++ b/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/main/c/HelloWorldSharedLibJNI.c @@ -0,0 +1,17 @@ +#include <stdio.h> +#include "HelloWorldLib.h" + +#include "com_mycompany_mypackage_HelloWorldSharedLibJNI.h" + +JNIEXPORT jstring JNICALL Java_com_mycompany_mypackage_HelloWorldSharedLibJNI_sayHello( JNIEnv *env, jobject obj ) { + jstring value; /* the return value */ + + char buf[80]; /* working buffer (really only need 20 ) */ + + sprintf ( buf, "%s", HelloWorldLib_sayHello()); + + value = (*env)->NewStringUTF( env, buf ); + + return value; +} + diff --git a/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/main/java/com/mycompany/mypackage/HelloWorldSharedLibJNI.java b/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/main/java/com/mycompany/mypackage/HelloWorldSharedLibJNI.java new file mode 100644 index 0000000..a0ef934 --- /dev/null +++ b/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/main/java/com/mycompany/mypackage/HelloWorldSharedLibJNI.java @@ -0,0 +1,15 @@ +package com.mycompany.mypackage; + +public class HelloWorldSharedLibJNI { + static { + NarSystem.loadLibrary(); + } + + public native String sayHello(); + + public static void main( String[] args ) { + HelloWorldSharedLibJNI app = new HelloWorldSharedLibJNI(); + System.out.println( app.sayHello() ); + } +} + diff --git a/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/test/java/HelloWorldSharedLibJNITest.java b/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/test/java/HelloWorldSharedLibJNITest.java new file mode 100644 index 0000000..f263997 --- /dev/null +++ b/src/it/it0009-jni-dep-lib-shared/jni-dep-lib-shared/src/test/java/HelloWorldSharedLibJNITest.java @@ -0,0 +1,25 @@ +import junit.framework.*; + +import com.mycompany.mypackage.HelloWorldSharedLibJNI; + +public class HelloWorldSharedLibJNITest extends TestCase { + + public HelloWorldSharedLibJNITest(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testNativeHelloWorldSharedLibJNI() throws Exception { + HelloWorldSharedLibJNI app = new HelloWorldSharedLibJNI(); + + this.assertEquals( "Hello NAR LIB World!", app.sayHello() ); + } +} + |