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