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