GPL + CeCILL Header change
[scilab.git] / scilab / modules / commons / src / jni / ScilabCommons.i
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) INRIA - 2010 - Sylvestre Ledru
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  * === LICENSE_END ===
14  *
15  */
16
17
18 /* ScilabCommons.i */
19 /**
20  * Windows: swig -java -package org.scilab.modules.commons -outdir ../java/org/scilab/modules/commons/ ScilabCommons.i
21  * Other: Use the option --enable-build-swig to the configure
22 */
23 %module ScilabCommons
24 %{
25 #include "sci_malloc.h"
26 #include "sci_home.h"
27 #include "sci_tmpdir.h"
28 #include "createtempfilename.h"
29 #include "setgetlanguage.h"
30 #include "getversion.h"
31 #include "configvariable_interface.h"
32 #include "setformat.h"
33 %}
34
35 /* JavaDoc for ScilabCommonsJNI class */
36 %pragma(java) jniclassclassmodifiers=%{
37 /* It is generated code. Disable checkstyle */
38 //CHECKSTYLE:OFF
39  /**
40    * Some commons values from Scilab engine to Java
41    * @author Sylvestre LEDRU
42    * @copyright DIGITEO 2010
43    */
44 public class%}
45
46 /* Constructor for ScilabCommonsJNI class */
47 %pragma(java) jniclasscode="
48   /**
49     * Constructor
50     */
51   protected ScilabCommonsJNI() {
52     throw new UnsupportedOperationException();
53   }";
54
55 /* static load of library */
56 %pragma(java) jniclasscode=%{
57   static {
58     try {
59         System.loadLibrary("scicommons");
60     } catch (SecurityException e) {
61         System.err.println("A security manager exists and does not allow the loading of the specified dynamic library.");
62         System.err.println(e.getLocalizedMessage());
63         System.exit(-1);
64     } catch (UnsatisfiedLinkError e)    {
65            System.err.println("The native library scicommons does not exist or cannot be found.");
66         if (System.getenv("CONTINUE_ON_JNI_ERROR") == null) {
67            System.err.println(e.getLocalizedMessage());
68            System.err.println("Current java.library.path is : "+System.getProperty("java.library.path"));
69            System.exit(-1);
70         }else{
71            System.err.println("Continuing anyway because of CONTINUE_ON_JNI_ERROR");
72         }
73     }
74   }
75 %}
76
77 %typemap(out, noblock=1) char * {if ($1)
78 {
79     $result = JCALL1(NewStringUTF, jenv, (const char *)$1);
80     FREE($1);
81 }}
82
83 /* JavaDoc for ScilabCommons class */
84 %pragma(java) moduleclassmodifiers="
85  /**
86    * Some commons values from Scilab engine to Java
87    * @author Sylvestre LEDRU
88    * @copyright DIGITEO 2010
89    */
90 public class";
91
92 /* Constructor for ScilabCommons class */
93 %pragma(java) modulecode="
94  /**
95    * Constructor
96    */
97  protected ScilabCommons() {
98     throw new UnsupportedOperationException();
99  }";
100
101 /* JavaDoc */
102 %javamethodmodifiers getSCIHOME() "
103  /**
104    * Get SCIHOME variable from Scilab
105    * @return SCIHOME value
106    */
107 public";
108 char* getSCIHOME();
109
110
111 /* JavaDoc */
112 %javamethodmodifiers getTMPDIR() "
113  /**
114    * returns TMPDIR directory value
115    * @return TMPDIR value
116    */
117 public";
118 char *getTMPDIR(void);
119
120
121 /* JavaDoc */
122 %javamethodmodifiers getScilabLanguage() "
123  /**
124    * returns Scilab current language
125    * @return language
126    */
127 public";
128 char *getlanguage(void);
129
130
131 /* JavaDoc */
132 %javamethodmodifiers createTempFileName() "
133  /**
134   * Create file with unique file name in TMPDIR
135   * TMPDIR/PREFIX[XXXXXXX]
136   * @param prefix the file prefix
137   * @param bShortFormat set 1 for a 8.5 filename, 0 otherwise
138   * @return a unique filename
139   */
140 public";
141 char *createtempfilename(const char* prefix, int bShortFormat);
142
143 /* JavaDoc */
144 %javamethodmodifiers getScilabIeeeMode() "
145  /**
146    * returns the Scilab ieee mode
147    * @return ieee mode
148    */
149 public";
150 int getieee(void);
151
152 /* JavaDoc */
153 %javamethodmodifiers setScilabIeeeMode(int) "
154  /**
155    * Set the Scilab ieee mode
156    */
157 public";
158 void setieee(int);
159
160 /* JavaDoc */
161 %javamethodmodifiers setformat(const char *, int) "
162  /**
163    * Set the Scilab ieee mode
164    */
165 public";
166 void setformat(const char * format, int width);
167
168 /* JavaDoc */
169 %javamethodmodifiers getformat() "
170  /**
171    * returns the Scilab format (\"v\" or \"e\")
172    * @return format
173    */
174 public";
175 char * getformat();
176
177 /* JavaDoc */
178 %javamethodmodifiers getformatwidth() "
179  /**
180    * returns the Scilab format width
181    * @return format
182    */
183 public";
184 int getformatwidth();
185
186 /* JavaDoc */
187 %javamethodmodifiers getScilabVersionMajor() "
188  /**
189    * returns the Scilab version major number
190    * @return version major
191    */
192 public";
193 int getScilabVersionMajor();
194
195 /* JavaDoc */
196 %javamethodmodifiers getScilabVersionMinor() "
197  /**
198    * returns the Scilab version minor number
199    * @return version minor
200    */
201 public";
202 int getScilabVersionMinor();
203
204 /* JavaDoc */
205 %javamethodmodifiers getScilabVersionMaintenance() "
206  /**
207    * returns the Scilab version maintenance number
208    * @return version maintenance
209    */
210 public";
211 int getScilabVersionMaintenance();
212
213 /* JavaDoc */
214 %javamethodmodifiers getScilabVersionTimestamp() "
215  /**
216    * returns the Scilab version timestamp number
217    * @return version timestamp
218    */
219 public";
220 int getScilabVersionTimestamp();
221
222 /* JavaDoc */
223 %javamethodmodifiers getScilabVersionAsString() "
224  /**
225    * returns the Scilab version as string
226    * @return version Scilab version as a string
227    */
228 public";
229 char* getScilabVersionAsString();
230 /* JavaDoc */
231 %javamethodmodifiers setRecursionLimit() "
232  /**
233    * returns the Scilab version as string
234    * @return version Scilab version as a string
235    */
236 public";
237 int setRecursionLimit(int);