bug 3051 + cleaning
[scilab.git] / scilab / modules / completion / src / jni / Completion_wrap.c
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 1.3.33
4  * 
5  * This file is not intended to be easily readable and contains a number of 
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG 
8  * interface file instead. 
9  * ----------------------------------------------------------------------------- */
10
11 /* -----------------------------------------------------------------------------
12  *  This section contains generic SWIG labels for method/variable
13  *  declarations/attributes, and other compiler dependent labels.
14  * ----------------------------------------------------------------------------- */
15
16 /* template workaround for compilers that cannot correctly implement the C++ standard */
17 #ifndef SWIGTEMPLATEDISAMBIGUATOR
18 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
19 #  define SWIGTEMPLATEDISAMBIGUATOR template
20 # elif defined(__HP_aCC)
21 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
22 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
23 #  define SWIGTEMPLATEDISAMBIGUATOR template
24 # else
25 #  define SWIGTEMPLATEDISAMBIGUATOR
26 # endif
27 #endif
28
29 /* inline attribute */
30 #ifndef SWIGINLINE
31 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
32 #   define SWIGINLINE inline
33 # else
34 #   define SWIGINLINE
35 # endif
36 #endif
37
38 /* attribute recognised by some compilers to avoid 'unused' warnings */
39 #ifndef SWIGUNUSED
40 # if defined(__GNUC__)
41 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
42 #     define SWIGUNUSED __attribute__ ((__unused__)) 
43 #   else
44 #     define SWIGUNUSED
45 #   endif
46 # elif defined(__ICC)
47 #   define SWIGUNUSED __attribute__ ((__unused__)) 
48 # else
49 #   define SWIGUNUSED 
50 # endif
51 #endif
52
53 #ifndef SWIGUNUSEDPARM
54 # ifdef __cplusplus
55 #   define SWIGUNUSEDPARM(p)
56 # else
57 #   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
58 # endif
59 #endif
60
61 /* internal SWIG method */
62 #ifndef SWIGINTERN
63 # define SWIGINTERN static SWIGUNUSED
64 #endif
65
66 /* internal inline SWIG method */
67 #ifndef SWIGINTERNINLINE
68 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
69 #endif
70
71 /* exporting methods */
72 #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
73 #  ifndef GCC_HASCLASSVISIBILITY
74 #    define GCC_HASCLASSVISIBILITY
75 #  endif
76 #endif
77
78 #ifndef SWIGEXPORT
79 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
80 #   if defined(STATIC_LINKED)
81 #     define SWIGEXPORT
82 #   else
83 #     define SWIGEXPORT __declspec(dllexport)
84 #   endif
85 # else
86 #   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
87 #     define SWIGEXPORT __attribute__ ((visibility("default")))
88 #   else
89 #     define SWIGEXPORT
90 #   endif
91 # endif
92 #endif
93
94 /* calling conventions for Windows */
95 #ifndef SWIGSTDCALL
96 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
97 #   define SWIGSTDCALL __stdcall
98 # else
99 #   define SWIGSTDCALL
100 # endif 
101 #endif
102
103 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
104 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
105 # define _CRT_SECURE_NO_DEPRECATE
106 #endif
107
108 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
109 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
110 # define _SCL_SECURE_NO_DEPRECATE
111 #endif
112
113
114
115 /* Fix for jlong on some versions of gcc on Windows */
116 #if defined(__GNUC__) && !defined(__INTELC__)
117   typedef long long __int64;
118 #endif
119
120 /* Fix for jlong on 64-bit x86 Solaris */
121 #if defined(__x86_64)
122 # ifdef _LP64
123 #   undef _LP64
124 # endif
125 #endif
126
127 #include <jni.h>
128 #include <stdlib.h>
129 #include <string.h>
130
131
132 /* Support for throwing Java exceptions */
133 typedef enum {
134   SWIG_JavaOutOfMemoryError = 1, 
135   SWIG_JavaIOException, 
136   SWIG_JavaRuntimeException, 
137   SWIG_JavaIndexOutOfBoundsException,
138   SWIG_JavaArithmeticException,
139   SWIG_JavaIllegalArgumentException,
140   SWIG_JavaNullPointerException,
141   SWIG_JavaDirectorPureVirtual,
142   SWIG_JavaUnknownError
143 } SWIG_JavaExceptionCodes;
144
145 typedef struct {
146   SWIG_JavaExceptionCodes code;
147   const char *java_exception;
148 } SWIG_JavaExceptions_t;
149
150
151 static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) {
152   jclass excep;
153   static const SWIG_JavaExceptions_t java_exceptions[] = {
154     { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" },
155     { SWIG_JavaIOException, "java/io/IOException" },
156     { SWIG_JavaRuntimeException, "java/lang/RuntimeException" },
157     { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" },
158     { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" },
159     { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" },
160     { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
161     { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
162     { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
163     { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" } };
164   const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
165
166   while (except_ptr->code != code && except_ptr->code)
167     except_ptr++;
168
169   (*jenv)->ExceptionClear(jenv);
170   excep = (*jenv)->FindClass(jenv, except_ptr->java_exception);
171   if (excep)
172     (*jenv)->ThrowNew(jenv, excep, msg);
173 }
174
175
176 /* Contract support */
177
178 #define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else
179
180
181 #include "../c/completion_wrap_java.h"
182 #include "getCommonPart.h"
183 #include "getPartLine.h"
184 #include "MALLOC.h"
185
186
187 #ifdef __cplusplus
188 extern "C" {
189 #endif
190
191 SWIGEXPORT jobjectArray JNICALL Java_org_scilab_modules_completion_CompletionJNI_searchAllDictionaries(JNIEnv *jenv, jclass jcls, jstring jarg1) {
192   jobjectArray jresult = 0 ;
193   char *arg1 = (char *) 0 ;
194   char **result = 0 ;
195   
196   (void)jenv;
197   (void)jcls;
198   arg1 = 0;
199   if (jarg1) {
200     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
201     if (!arg1) return 0;
202   }
203   result = (char **)searchAllDictionaries(arg1);
204   {
205     if (result != NULL)
206     {
207       int i;
208       int len=0;
209       jstring temp_string;
210       const jclass clazz = (*jenv)->FindClass(jenv, "java/lang/String");
211       
212       while (result[len]) len++;    
213       jresult = (*jenv)->NewObjectArray(jenv, len, clazz, NULL);
214       /* exception checking omitted */
215       
216       for (i=0; i<len; i++) {
217         temp_string = (*jenv)->NewStringUTF(jenv, result[i]);
218         (*jenv)->SetObjectArrayElement(jenv, jresult, i, temp_string);
219         (*jenv)->DeleteLocalRef(jenv, temp_string);
220         FREE(result[i]);
221         result[i] = NULL;
222       }
223       FREE(result);
224       result = NULL;
225     }       
226   }
227   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
228   return jresult;
229 }
230
231
232 SWIGEXPORT jobjectArray JNICALL Java_org_scilab_modules_completion_CompletionJNI_searchFunctionsDictionary(JNIEnv *jenv, jclass jcls, jstring jarg1) {
233   jobjectArray jresult = 0 ;
234   char *arg1 = (char *) 0 ;
235   char **result = 0 ;
236   
237   (void)jenv;
238   (void)jcls;
239   arg1 = 0;
240   if (jarg1) {
241     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
242     if (!arg1) return 0;
243   }
244   result = (char **)searchFunctionsDictionary(arg1);
245   {
246     if (result != NULL)
247     {
248       int i;
249       int len=0;
250       jstring temp_string;
251       const jclass clazz = (*jenv)->FindClass(jenv, "java/lang/String");
252       
253       while (result[len]) len++;    
254       jresult = (*jenv)->NewObjectArray(jenv, len, clazz, NULL);
255       /* exception checking omitted */
256       
257       for (i=0; i<len; i++) {
258         temp_string = (*jenv)->NewStringUTF(jenv, result[i]);
259         (*jenv)->SetObjectArrayElement(jenv, jresult, i, temp_string);
260         (*jenv)->DeleteLocalRef(jenv, temp_string);
261         FREE(result[i]);
262         result[i] = NULL;
263       }
264       FREE(result);
265       result = NULL;
266     }       
267   }
268   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
269   return jresult;
270 }
271
272
273 SWIGEXPORT jobjectArray JNICALL Java_org_scilab_modules_completion_CompletionJNI_searchCommandsDictionary(JNIEnv *jenv, jclass jcls, jstring jarg1) {
274   jobjectArray jresult = 0 ;
275   char *arg1 = (char *) 0 ;
276   char **result = 0 ;
277   
278   (void)jenv;
279   (void)jcls;
280   arg1 = 0;
281   if (jarg1) {
282     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
283     if (!arg1) return 0;
284   }
285   result = (char **)searchCommandsDictionary(arg1);
286   {
287     if (result != NULL)
288     {
289       int i;
290       int len=0;
291       jstring temp_string;
292       const jclass clazz = (*jenv)->FindClass(jenv, "java/lang/String");
293       
294       while (result[len]) len++;    
295       jresult = (*jenv)->NewObjectArray(jenv, len, clazz, NULL);
296       /* exception checking omitted */
297       
298       for (i=0; i<len; i++) {
299         temp_string = (*jenv)->NewStringUTF(jenv, result[i]);
300         (*jenv)->SetObjectArrayElement(jenv, jresult, i, temp_string);
301         (*jenv)->DeleteLocalRef(jenv, temp_string);
302         FREE(result[i]);
303         result[i] = NULL;
304       }
305       FREE(result);
306       result = NULL;
307     }       
308   }
309   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
310   return jresult;
311 }
312
313
314 SWIGEXPORT jobjectArray JNICALL Java_org_scilab_modules_completion_CompletionJNI_searchMacrosDictionary(JNIEnv *jenv, jclass jcls, jstring jarg1) {
315   jobjectArray jresult = 0 ;
316   char *arg1 = (char *) 0 ;
317   char **result = 0 ;
318   
319   (void)jenv;
320   (void)jcls;
321   arg1 = 0;
322   if (jarg1) {
323     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
324     if (!arg1) return 0;
325   }
326   result = (char **)searchMacrosDictionary(arg1);
327   {
328     if (result != NULL)
329     {
330       int i;
331       int len=0;
332       jstring temp_string;
333       const jclass clazz = (*jenv)->FindClass(jenv, "java/lang/String");
334       
335       while (result[len]) len++;    
336       jresult = (*jenv)->NewObjectArray(jenv, len, clazz, NULL);
337       /* exception checking omitted */
338       
339       for (i=0; i<len; i++) {
340         temp_string = (*jenv)->NewStringUTF(jenv, result[i]);
341         (*jenv)->SetObjectArrayElement(jenv, jresult, i, temp_string);
342         (*jenv)->DeleteLocalRef(jenv, temp_string);
343         FREE(result[i]);
344         result[i] = NULL;
345       }
346       FREE(result);
347       result = NULL;
348     }       
349   }
350   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
351   return jresult;
352 }
353
354
355 SWIGEXPORT jobjectArray JNICALL Java_org_scilab_modules_completion_CompletionJNI_searchVariablesDictionary(JNIEnv *jenv, jclass jcls, jstring jarg1) {
356   jobjectArray jresult = 0 ;
357   char *arg1 = (char *) 0 ;
358   char **result = 0 ;
359   
360   (void)jenv;
361   (void)jcls;
362   arg1 = 0;
363   if (jarg1) {
364     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
365     if (!arg1) return 0;
366   }
367   result = (char **)searchVariablesDictionary(arg1);
368   {
369     if (result != NULL)
370     {
371       int i;
372       int len=0;
373       jstring temp_string;
374       const jclass clazz = (*jenv)->FindClass(jenv, "java/lang/String");
375       
376       while (result[len]) len++;    
377       jresult = (*jenv)->NewObjectArray(jenv, len, clazz, NULL);
378       /* exception checking omitted */
379       
380       for (i=0; i<len; i++) {
381         temp_string = (*jenv)->NewStringUTF(jenv, result[i]);
382         (*jenv)->SetObjectArrayElement(jenv, jresult, i, temp_string);
383         (*jenv)->DeleteLocalRef(jenv, temp_string);
384         FREE(result[i]);
385         result[i] = NULL;
386       }
387       FREE(result);
388       result = NULL;
389     }       
390   }
391   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
392   return jresult;
393 }
394
395
396 SWIGEXPORT jobjectArray JNICALL Java_org_scilab_modules_completion_CompletionJNI_searchFilesDictionary(JNIEnv *jenv, jclass jcls, jstring jarg1) {
397   jobjectArray jresult = 0 ;
398   char *arg1 = (char *) 0 ;
399   char **result = 0 ;
400   
401   (void)jenv;
402   (void)jcls;
403   arg1 = 0;
404   if (jarg1) {
405     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
406     if (!arg1) return 0;
407   }
408   result = (char **)searchFilesDictionary(arg1);
409   {
410     if (result != NULL)
411     {
412       int i;
413       int len=0;
414       jstring temp_string;
415       const jclass clazz = (*jenv)->FindClass(jenv, "java/lang/String");
416       
417       while (result[len]) len++;    
418       jresult = (*jenv)->NewObjectArray(jenv, len, clazz, NULL);
419       /* exception checking omitted */
420       
421       for (i=0; i<len; i++) {
422         temp_string = (*jenv)->NewStringUTF(jenv, result[i]);
423         (*jenv)->SetObjectArrayElement(jenv, jresult, i, temp_string);
424         (*jenv)->DeleteLocalRef(jenv, temp_string);
425         FREE(result[i]);
426         result[i] = NULL;
427       }
428       FREE(result);
429       result = NULL;
430     }       
431   }
432   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
433   return jresult;
434 }
435
436
437 SWIGEXPORT jobjectArray JNICALL Java_org_scilab_modules_completion_CompletionJNI_searchHandleGraphicsPropertiesDictionary(JNIEnv *jenv, jclass jcls, jstring jarg1) {
438   jobjectArray jresult = 0 ;
439   char *arg1 = (char *) 0 ;
440   char **result = 0 ;
441   
442   (void)jenv;
443   (void)jcls;
444   arg1 = 0;
445   if (jarg1) {
446     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
447     if (!arg1) return 0;
448   }
449   result = (char **)searchHandleGraphicsPropertiesDictionary(arg1);
450   {
451     if (result != NULL)
452     {
453       int i;
454       int len=0;
455       jstring temp_string;
456       const jclass clazz = (*jenv)->FindClass(jenv, "java/lang/String");
457       
458       while (result[len]) len++;    
459       jresult = (*jenv)->NewObjectArray(jenv, len, clazz, NULL);
460       /* exception checking omitted */
461       
462       for (i=0; i<len; i++) {
463         temp_string = (*jenv)->NewStringUTF(jenv, result[i]);
464         (*jenv)->SetObjectArrayElement(jenv, jresult, i, temp_string);
465         (*jenv)->DeleteLocalRef(jenv, temp_string);
466         FREE(result[i]);
467         result[i] = NULL;
468       }
469       FREE(result);
470       result = NULL;
471     }       
472   }
473   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
474   return jresult;
475 }
476
477
478 SWIGEXPORT jstring JNICALL Java_org_scilab_modules_completion_CompletionJNI_getPartLevel(JNIEnv *jenv, jclass jcls, jstring jarg1) {
479   jstring jresult = 0 ;
480   char *arg1 = (char *) 0 ;
481   char *result = 0 ;
482   
483   (void)jenv;
484   (void)jcls;
485   arg1 = 0;
486   if (jarg1) {
487     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
488     if (!arg1) return 0;
489   }
490   result = (char *)getPartLevel(arg1);
491   {
492     if (result != NULL)
493     {
494       jresult = (*jenv)->NewStringUTF(jenv, (const char *)result);
495       FREE(result);
496       result = NULL;
497     }       
498   }
499   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
500   return jresult;
501 }
502
503
504 SWIGEXPORT jstring JNICALL Java_org_scilab_modules_completion_CompletionJNI_getFilePartLevel(JNIEnv *jenv, jclass jcls, jstring jarg1) {
505   jstring jresult = 0 ;
506   char *arg1 = (char *) 0 ;
507   char *result = 0 ;
508   
509   (void)jenv;
510   (void)jcls;
511   arg1 = 0;
512   if (jarg1) {
513     arg1 = (char *)(*jenv)->GetStringUTFChars(jenv, jarg1, 0);
514     if (!arg1) return 0;
515   }
516   result = (char *)getFilePartLevel(arg1);
517   {
518     if (result != NULL)
519     {
520       jresult = (*jenv)->NewStringUTF(jenv, (const char *)result);
521       FREE(result);
522       result = NULL;
523     }       
524   }
525   if (arg1) (*jenv)->ReleaseStringUTFChars(jenv, jarg1, (const char *)arg1);
526   return jresult;
527 }
528
529
530 SWIGEXPORT jstring JNICALL Java_org_scilab_modules_completion_CompletionJNI_getCommonPart(JNIEnv *jenv, jclass jcls, jobjectArray jarg1, jint jarg2) {
531   jstring jresult = 0 ;
532   char **arg1 = (char **) 0 ;
533   int arg2 ;
534   char *result = 0 ;
535   jint size1 ;
536   
537   (void)jenv;
538   (void)jcls;
539   {
540     int i = 0;
541     size1 = (*jenv)->GetArrayLength(jenv, jarg1);
542     arg1 = (char **) MALLOC((size1+1)*sizeof(char *));
543     /* make a copy of each string */
544     for (i = 0; i<size1; i++) {
545       jstring j_string = (jstring)(*jenv)->GetObjectArrayElement(jenv, jarg1, i);
546       const char * c_string = (*jenv)->GetStringUTFChars(jenv, j_string, 0);
547       arg1[i] = MALLOC((strlen(c_string)+1)*sizeof(const char *));
548       strcpy(arg1[i], c_string);
549       (*jenv)->ReleaseStringUTFChars(jenv, j_string, c_string);
550       (*jenv)->DeleteLocalRef(jenv, j_string);
551     }
552     arg1[i] = 0;
553   }
554   arg2 = (int)jarg2; 
555   result = (char *)getCommonPart(arg1,arg2);
556   {
557     if (result != NULL)
558     {
559       jresult = (*jenv)->NewStringUTF(jenv, (const char *)result);
560       FREE(result);
561       result = NULL;
562     }       
563   }
564   {
565     int i;
566     for (i=0; i<size1-1; i++)
567     FREE(arg1[i]);
568     FREE(arg1);
569   }
570   return jresult;
571 }
572
573
574 #ifdef __cplusplus
575 }
576 #endif
577