1 #include <jni.h>
2 #include "CGI.h"
3
4 #include "cs_config.h"
5 #include "util/neo_err.h"
6 #include "util/neo_misc.h"
7 #include "util/neo_str.h"
8 #include "util/neo_hdf.h"
9 #include "cgi/cgi.h"
10 #include "cgi/cgiwrap.h"
11 #include "cgi/date.h"
12 #include "cgi/html.h"
13
14
15 jfieldID _cgiobjFldID = NULL;
16
17 int jNeoErr (JNIEnv *env, NEOERR *err);
18
Java_CGI__1init(JNIEnv * env,jobject obj)19 JNIEXPORT jint JNICALL Java_CGI__1init
20 (JNIEnv *env, jobject obj) {
21 CGI *cgi = NULL;
22 NEOERR *err;
23
24 if (!_cgiobjFldID) {
25 jclass objClass = (*env)->GetObjectClass(env,obj);
26 _cgiobjFldID = (*env)->GetFieldID(env,objClass,"_cgiobj","I");
27 }
28
29 err = cgi_init(&cgi,NULL);
30 if (err) return jNeoErr(env,err);
31 return (jint) cgi;
32 }
33
Java_CGI_parse(JNIEnv * env,jobject obj)34 JNIEXPORT void JNICALL Java_CGI_parse
35 (JNIEnv *env, jobject obj) {
36 NEOERR *err;
37 CGI *cgi = (CGI *)((*env)->GetIntField(env,obj,_cgiobjFldID));
38
39 err = cgi_parse(cgi);
40 if (err) { jNeoErr(env,err); return; }
41
42 }
43
44