1 %module (directors="1",docstring="Java interface to libmraa") mraa
3 %feature("autodoc", "3");
5 %typemap(jtype) (uint8_t *txBuf, int length) "byte[]"
6 %typemap(jstype) (uint8_t *txBuf, int length) "byte[]"
7 %typemap(jni) (uint8_t *txBuf, int length) "jbyteArray"
8 %typemap(javain) (uint8_t *txBuf, int length) "$javainput"
10 %typemap(in,numinputs=1) (uint8_t *txBuf, int length) {
11 $1 = JCALL2(GetByteArrayElements, jenv, $input, NULL);
12 $2 = JCALL1(GetArrayLength, jenv, $input);
15 %typemap(jtype) (uint8_t *data, int length) "byte[]"
16 %typemap(jstype) (uint8_t *data, int length) "byte[]"
17 %typemap(jni) (uint8_t *data, int length) "jbyteArray"
18 %typemap(javain) (uint8_t *data, int length) "$javainput"
20 %typemap(in,numinputs=1) (uint8_t *data, int length) {
21 $1 = JCALL2(GetByteArrayElements, jenv, $input, NULL);
22 $2 = JCALL1(GetArrayLength, jenv, $input);
25 %typemap(argout) (uint8_t *data, int length) {
26 JCALL3(ReleaseByteArrayElements, jenv, $input, $1, JNI_COMMIT);
29 %typemap(jtype) (const uint8_t *data, int length) "byte[]"
30 %typemap(jstype) (const uint8_t *data, int length) "byte[]"
31 %typemap(jni) (const uint8_t *data, int length) "jbyteArray"
32 %typemap(javain) (const uint8_t *data, int length) "$javainput"
33 %typemap(in) (const uint8_t *data, int length) {
34 $1 = JCALL2(GetByteArrayElements, jenv, $input, NULL);
35 $2 = JCALL1(GetArrayLength, jenv, $input);
38 %typemap(jtype) uint8_t * "byte[]"
39 %typemap(jstype) uint8_t * "byte[]"
40 %typemap(jni) uint8_t * "jbyteArray"
41 %typemap(javaout) uint8_t * {
47 %typemap(out) uint8_t*
49 /* need to loop over length */
50 $result = JCALL1(NewByteArray, jenv, arg3);
51 JCALL4(SetByteArrayRegion, jenv, $result, 0, arg3, (jbyte *) $1);
56 %ignore write(const char* data, int length);
57 %ignore read(char* data, int length);
59 %feature("director") IsrCallback;
63 jint JNI_OnLoad(JavaVM *vm, void *reserved) {
66 return JNI_VERSION_1_8;
70 %pragma(java) jniclasscode=%{
73 System.loadLibrary("mraajava");
74 } catch (UnsatisfiedLinkError e) {
75 System.err.println("Native code library failed to load. \n" + e);