cbb81709e1b51d3513c31d9d78b889e466225a45
[scilab.git] / scilab / modules / history_manager / src / jni / HistoryManagement.i
1 /* Allan CORNET */
2 /* INRIA 2007 */
3 /* HistoryManagement.i */
4 /* To run this file execute the command below from current directory */
5 /**
6  * Windows: swig -java -package org.scilab.modules.history_manager -outdir ../java/org/scilab/modules/history_manager/ HistoryManagement.i 
7  * Other: Use the option --enable-build-swig to the configure
8 */
9
10 %module HistoryManagement
11 %{
12 #include "MALLOC.h"
13 #include "../../includes/HistoryManager.h"
14 #include "../../includes/TerminateHistoryManager.h"
15 #include "../../includes/InitializeHistoryManager.h"
16 %}
17
18 %include "../../../jvm/src/jni/scilab_typemaps.i"
19
20 /* JavaDoc for HistoryManagementJNI class */
21 %pragma(java) jniclassclassmodifiers=%{
22 /* It is generated code. Disable checkstyle */
23 //CHECKSTYLE:OFF
24  /** 
25    * All Scilab history management used in Java console 
26    * @author Vincent COUVERT
27    * @author Allan CORNET
28    * @copyright INRIA 
29    */
30 class%}
31
32 /* Constructor for HistoryManagementJNI class */
33 %pragma(java) jniclasscode="
34  /**
35    * Constructor
36    */
37  protected HistoryManagementJNI() {
38         throw new UnsupportedOperationException();
39  }";
40  
41  /* static load of library */
42 %pragma(java) jniclasscode=%{
43   static {
44     try {
45         System.loadLibrary("scihistory_manager");
46     } catch (SecurityException e) {
47         System.err.println("A security manager exists and does not allow the loading of the specified dynamic library.");
48         System.err.println(e.getLocalizedMessage());
49         e.printStackTrace(System.err);
50     } catch (UnsatisfiedLinkError e)    {
51         System.err.println("The native library scihistory_manager does not exist or cannot be found.");
52         System.err.println(e.getLocalizedMessage());
53         e.printStackTrace(System.err);
54     }
55   }
56 %}
57
58 /* JavaDoc for HistoryManagement class */
59 %pragma(java) moduleclassmodifiers="
60  /** 
61    * All Scilab history management used in Java console 
62    * @author Vincent COUVERT
63    * @author Allan CORNET
64    * @copyright INRIA 
65    */
66 public class";
67
68 /* Constructor for HistoryManagement class */
69 %pragma(java) modulecode="
70   /**
71     * Constructor
72     */
73   protected HistoryManagement() {
74     throw new UnsupportedOperationException();
75   }";
76
77
78 %javamethodmodifiers appendLineToScilabHistory(char *line) "
79     /**
80     * add a line to History manager
81     * @param line a line to add
82     * line isn't added if it is the same as previous (false)
83     * @return true or false
84     */
85 public";
86     BOOL appendLineToScilabHistory(char *line);
87
88 %javamethodmodifiers appendLinesToScilabHistory(char **lines,int numberoflines) "
89     /**
90     * append lines to History manager
91     * @param lines array of string
92     * @param numberoflines size of the array of string
93     * @return true or false
94     */
95 public";
96     BOOL appendLinesToScilabHistory(char **lines,int numberoflines);
97
98 %javamethodmodifiers displayScilabHistory(void) "
99     /**
100     * Display history
101     */
102 public";
103     void displayScilabHistory(void);
104
105 %javamethodmodifiers writeScilabHistoryToFile(char *filename) "
106     /**
107     * save history in a file
108     * @param filename if NULL saves in default filename
109     * default filename --> SCIHOME/history.scilab
110     * @return true or false
111     */
112 public";
113     BOOL writeScilabHistoryToFile(char *filename);
114
115 %javamethodmodifiers loadScilabHistoryFromFile(char *filename) "
116     /**
117     * load history from a file
118     * @param filename if NULL load from default filename
119     * default filename --> SCIHOME/history.scilab
120     * @return true or false
121     */
122 public";
123     BOOL loadScilabHistoryFromFile(char *filename);
124
125 %javamethodmodifiers setFilenameScilabHistory(char *filename) "
126     /**
127     * set filename of history
128     * @param filename of history
129     * @return true or false
130     */
131 public";
132     BOOL setFilenameScilabHistory(char *filename);
133
134 %javamethodmodifiers getFilenameScilabHistory(void) "
135     /**
136     * get filename of history
137     * @return a filename
138     */
139 public";
140     char *getFilenameScilabHistory(void);
141
142 %javamethodmodifiers setDefaultFilenameScilabHistory(void) "
143     /**
144     * set default filename of history
145     * @return true or false
146     */
147 public";
148     BOOL setDefaultFilenameScilabHistory(void);
149
150 %javamethodmodifiers resetScilabHistory(void) "
151     /**
152     * reset history manager
153     */
154 public";
155     void resetScilabHistory(void);
156
157 %javamethodmodifiers getAllLinesOfScilabHistory(void) "
158     /**
159     * Get all lines in history
160     * @return an array of strings
161     */
162 public";    
163     char **getAllLinesOfScilabHistory(void);
164     
165 %javamethodmodifiers getSizeAllLinesOfScilabHistory(void) "
166     /**
167     * Get numbers of lines in history
168     * size of array returned by getAllLinesOfScilabHistory
169     * @return int 
170     */
171 public";    
172     int getSizeAllLinesOfScilabHistory(void);
173
174
175 %javamethodmodifiers setSearchedTokenInScilabHistory(char *token) "
176     /**
177     * set new token to search in history
178     * @param token (a string)
179     * @return true or false
180     */
181 public";
182     BOOL setSearchedTokenInScilabHistory(char *token);
183
184 %javamethodmodifiers resetSearchedTokenInScilabHistory(void) "
185     /**
186     * reset search in history
187     * @return true or false
188     */
189 public";
190     BOOL resetSearchedTokenInScilabHistory(void);
191
192 %javamethodmodifiers getSearchedTokenInScilabHistory(void) "
193     /**
194     * get token searched in history
195     * @return token (a string)
196     */
197 public";
198     char *getSearchedTokenInScilabHistory(void);
199
200 %javamethodmodifiers getPreviousLineInScilabHistory(void) "
201     /**
202     * Get the previous line in Scilab history
203     * @return a line or NULL
204     * after an appendLine iterator go to end
205     */
206 public";
207     char *getPreviousLineInScilabHistory(void);
208
209 %javamethodmodifiers getNextLineInScilabHistory(void) "
210     /**
211     * Get the next line in Scilab history
212     * @return a line or NULL
213     * after an appendLine iterator go to end
214     */
215 public";
216     char *getNextLineInScilabHistory(void);
217
218 %javamethodmodifiers getNumberOfLinesInScilabHistory(void) "
219     /**
220     * Get numbers of lines in history
221     * @return number of lines
222     */
223 public";
224     int getNumberOfLinesInScilabHistory(void);
225
226 %javamethodmodifiers setSaveConsecutiveDuplicateLinesInScilabHistory(BOOL doit) "
227     /**
228     * set consecutive duplicate lines are added
229     * @param doit (true or false)
230     */
231 public";
232     void setSaveConsecutiveDuplicateLinesInScilabHistory(BOOL doit);
233
234 %javamethodmodifiers getSaveConsecutiveDuplicateLinesInScilabHistory(void) "
235     /**
236     * indicate if consecutive duplicate lines are added
237     * @return true or false
238     */
239 public";
240     BOOL getSaveConsecutiveDuplicateLinesInScilabHistory(void);
241
242 %javamethodmodifiers setAfterHowManyLinesScilabHistoryIsSaved(int num) "
243     /**
244     * Set after how many lines history is saved
245     * @param num number between 0 and Max
246     * default value is 0 (disabled)
247     */
248 public";
249     void setAfterHowManyLinesScilabHistoryIsSaved(int num);
250
251 %javamethodmodifiers getAfterHowManyLinesScilabHistoryIsSaved(void) "
252     /**
253     * Get after how many lines history is saved
254     * @return number between 0 and Max
255     * default value is 0 (disabled)
256     */
257 public";
258     int getAfterHowManyLinesScilabHistoryIsSaved(void);
259
260 %javamethodmodifiers getNthLineInScilabHistory(int N) "
261     /**
262     * Get the Nth Line in history
263     * @param N the number of the line to get
264     * @return the Nth Line
265     */
266 public";
267     char *getNthLineInScilabHistory(int N);
268
269 %javamethodmodifiers deleteNthLineScilabHistory(int N) "
270     /**
271     * delete the Nth Line in history
272     * @param N the number of the line to delete
273     * @return true or false
274     */
275 public";
276     BOOL deleteNthLineScilabHistory(int N);
277
278 %javamethodmodifiers getSizeScilabHistory(void) "
279     /**
280     * get number of lines of history
281     * @return a number >= 0
282     */
283 public";
284     int getSizeScilabHistory(void);
285     
286 %javamethodmodifiers historyIsEnabled(void) "
287     /**
288     * get history manager state
289     * @return true or false
290     */
291 public";
292     BOOL historyIsEnabled(void);
293
294 %javamethodmodifiers setSizeMaxScilabHistory(int N)"
295     /**
296     * set the number of max lines
297     * @return true or false
298     */
299 public";
300     BOOL setSizeMaxScilabHistory(int nbLinesMax);
301
302 %javamethodmodifiers InitializeHistoryManager(void)"
303     /**
304     * terminate the history manager
305     * @return true or false
306     */
307 public";
308     BOOL InitializeHistoryManager(void);
309
310 %javamethodmodifiers TerminateHistoryManager(void)"
311     /**
312     * terminate the history manager
313     * @return true or false
314     */
315 public";
316     BOOL TerminateHistoryManager(void);