Commit 81cb36b084bacbd496115c94902712847c8dc786

Authored by Josh Klontz
1 parent 7ba5974b

removed jni

openbr/plugins/cmake/jni.cmake deleted
1   -set(BR_WITH_JAVA OFF CACHE BOOL "Use Java Code")
2   -
3   -if (${BR_WITH_JAVA})
4   - find_package(JNI REQUIRED)
5   - find_package(JAVA REQUIRED)
6   - set(BR_THIRDPARTY_LIBS ${BR_THIRDPARTY_LIBS} ${JNI_LIBRARIES})
7   -
8   - include_directories(${JAVA_INCLUDE_PATH})
9   - include_directories(${JAVA_INCLUDE_PATH2})
10   -else()
11   - set(BR_EXCLUDED_PLUGINS ${BR_EXCLUDED_PLUGINS} plugins/core/jni.cpp)
12   -endif()
openbr/plugins/core/jni.cpp deleted
1   -//Need to include location of jvm.dll (jdk version) and its parent directory in the environment variables
2   -
3   -#include <limits>
4   -#include <openbr/plugins/openbr_internal.h>
5   -#include <openbr/core/resource.h>
6   -#include <jni.h>
7   -
8   -namespace br
9   -{
10   -
11   -/*!
12   - * \ingroup initializers
13   - * \brief Initialize JNI
14   - * \author Jordan Cheney \cite jcheney
15   - */
16   -class JNIInitializer : public Initializer
17   -{
18   - Q_OBJECT
19   - public:
20   - static JavaVM* jvm;
21   - static JavaVMInitArgs vm_args;
22   -
23   - void initialize() const
24   - {
25   - JNIEnv *env;
26   - JavaVMOption options[1];
27   -
28   - //Location of Java files
29   - QByteArray classpath = QString("-Djava.class.path=").append(Globals->sdkPath).append(QString("/share/openbr/Java/jniLibraries/")).toLocal8Bit();
30   - char *charClasspath = classpath.data();
31   -
32   - options[0].optionString = charClasspath;
33   - vm_args.version = JNI_VERSION_1_6;
34   - vm_args.nOptions = 1;
35   - vm_args.options = options;
36   - vm_args.ignoreUnrecognized = JNI_FALSE;
37   -
38   - JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
39   -
40   - Globals->abbreviations.insert("JNIHelloWorld","Open+JNI(HelloWorld)");
41   - }
42   -
43   - void finalize() const
44   - {
45   - jvm->DestroyJavaVM();
46   - }
47   -};
48   -
49   -JavaVM *JNIInitializer::jvm;
50   -JavaVMInitArgs JNIInitializer::vm_args;
51   -
52   -BR_REGISTER(Initializer, JNIInitializer)
53   -
54   -/*!
55   - * \ingroup transforms
56   - * \brief Execute Java code from OpenBR using the JNI
57   - * \author Jordan Cheney \cite jcheney
58   - */
59   -class JNITransform : public UntrainableTransform
60   -{
61   - Q_OBJECT
62   - Q_PROPERTY(QString className READ get_className WRITE set_className RESET reset_className STORED false)
63   - BR_PROPERTY(QString, className, "")
64   -
65   - void project(const Template &src, Template &dst) const
66   - {
67   - (void)dst; //Eliminates a compiler warning.
68   -
69   - JNIEnv *env;
70   -
71   - //Attach current thread to the thread of the JavaVM and access env
72   - JNIInitializer::jvm->AttachCurrentThreadAsDaemon((void**)&env, NULL);
73   - if (JNIInitializer::jvm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
74   - qFatal("Failed to initialize JNI environment");
75   - }
76   -
77   - //Convert QString to const char*
78   - QByteArray tmpClass = className.toLocal8Bit();
79   - const char* charClassName = tmpClass.constData();
80   -
81   - //Call java method
82   - jclass cls = env->FindClass(charClassName);
83   - if (cls == NULL) { qFatal("Class not found"); }
84   - jmethodID mid = env->GetStaticMethodID(cls, "project", "(Ljava/lang/String;)V");
85   - if (mid == NULL) { qFatal("MethodID not found"); }
86   -
87   - QByteArray tmp = src.file.name.toLocal8Bit();
88   - const char* fileName = tmp.constData();
89   -
90   - //Convert char* to java compatible string
91   - jstring jfileName = env->NewStringUTF(fileName);
92   -
93   - env->CallStaticObjectMethod(cls, mid, jfileName);
94   -
95   - JNIInitializer::jvm->DetachCurrentThread();
96   - }
97   -};
98   -
99   -BR_REGISTER(Transform, JNITransform)
100   -
101   -} // namespace br
102   -
103   -#include "jni.moc"