1765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%module javaupm_lol
2765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%include "../upm.i"
3765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%include "stdint.i"
4765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%include "arrays_java.i";
5765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%include "typemaps.i"
6765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang
7765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%typemap(jni) unsigned char* "jbyteArray";
8765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%typemap(jtype) unsigned char* "byte[]";
9765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%typemap(jstype) unsigned char* "byte[]";
10765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang
11765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%typemap(javaout) unsigned char* {
12765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang return $jnicall;
13765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang}
14765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang
15765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%typemap(out) unsigned char* {
16765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang    $result = JCALL1(NewByteArray, jenv, LOL_X*LOL_Y);
17765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang    JCALL4(SetByteArrayRegion, jenv, $result, 0, LOL_X*LOL_Y-1, reinterpret_cast<jbyte*>($1));
18765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang    delete [] $1;
19765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang}
20765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang
21765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%{
22765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang    #include "lol.h"
23765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%}
24765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang
25765adb95dc941c32690d6c43bc08b9d07d197fcbJianxun Zhang%include "lol.h"
26