/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.21
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#if defined(__GNUC__)
typedef long long __int64; /*For gcc on Windows */
#endif
#include <jni.h>
#include <stdlib.h>
#include <string.h>
/* Support for throwing Java exceptions */
typedef enum {
SWIG_JavaOutOfMemoryError = 1,
SWIG_JavaIOException,
SWIG_JavaRuntimeException,
SWIG_JavaIndexOutOfBoundsException,
SWIG_JavaArithmeticException,
SWIG_JavaIllegalArgumentException,
SWIG_JavaNullPointerException,
SWIG_JavaDirectorPureVirtual,
SWIG_JavaUnknownError
} SWIG_JavaExceptionCodes;
typedef struct {
SWIG_JavaExceptionCodes code;
const char *java_exception;
} SWIG_JavaExceptions_t;
static void SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
jclass excep;
static const SWIG_JavaExceptions_t java_exceptions[] = {
{ SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
{ SWIG_JavaIOException, "java/io/IOException" },
{ SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
{ SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
{ SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
{ SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
{ SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
{ SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
{ SWIG_JavaUnknownError, "java/lang/UnknownError" },
{ (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } };
const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
while (except_ptr->code != code && except_ptr->code)
except_ptr++;
(*jenv)->ExceptionClear(jenv);
excep = (*jenv)->FindClass(jenv, except_ptr->java_exception);
if (excep)
(*jenv)->ThrowNew(jenv, excep, msg);
}
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else
extern int PLJava_start();
extern char *PLJava_eval(char *);
extern char *PLJava_eval_sv(char *);
extern char *PLJava_error();
extern void PLJava_stop();
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT jint JNICALL Java_perl5_PLJavaJNI_PLJava_1start(JNIEnv *jenv, jclass jcls) {
jint jresult = 0 ;
int result;
(void)jenv;
(void)jcls;
result = (int)PLJava_start();
jresult = (jint)result;
return jresult;
}
JNIEXPORT jstring JNICALL Java_perl5_PLJavaJNI_PLJava_1eval(JNIEnv *jenv, jclass jcls, jstring jarg1) {
jstring jresult = 0 ;
char *arg1 ;
char *result;
(void)jenv;
(void)jcls;
{
arg1 = 0;
if (jarg1) {
arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
if (!arg1) return 0;
}
}
result = (char *)PLJava_eval(arg1);
{
if(result) jresult = (*jenv)->NewStringUTF(jenv, result);
}
{
if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, arg1);
}
return jresult;
}
JNIEXPORT jstring JNICALL Java_perl5_PLJavaJNI_PLJava_1eval_1sv(JNIEnv *jenv, jclass jcls, jstring jarg1) {
jstring jresult = 0 ;
char *arg1 ;
char *result;
(void)jenv;
(void)jcls;
{
arg1 = 0;
if (jarg1) {
arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
if (!arg1) return 0;
}
}
result = (char *)PLJava_eval_sv(arg1);
{
if(result) jresult = (*jenv)->NewStringUTF(jenv, result);
}
{
if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, arg1);
}
return jresult;
}
JNIEXPORT jstring JNICALL Java_perl5_PLJavaJNI_PLJava_1error(JNIEnv *jenv, jclass jcls) {
jstring jresult = 0 ;
char *result;
(void)jenv;
(void)jcls;
result = (char *)PLJava_error();
{
if(result) jresult = (*jenv)->NewStringUTF(jenv, result);
}
return jresult;
}
JNIEXPORT void JNICALL Java_perl5_PLJavaJNI_PLJava_1stop(JNIEnv *jenv, jclass jcls) {
(void)jenv;
(void)jcls;
PLJava_stop();
}
#ifdef __cplusplus
}
#endif