* Bug #12333 fixed - Cleaned command history is restored after reopening Scilab.
[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     * @return true or false
110     */
111 public";
112     BOOL writeScilabHistoryToFile(char *filename);
113
114 %javamethodmodifiers loadScilabHistoryFromFile(char *filename) "
115     /**
116     * load history from a file
117     * @param filename if NULL load from default filename
118     * @return true or false
119     */
120 public";
121     BOOL loadScilabHistoryFromFile(char *filename);
122
123 %javamethodmodifiers setFilenameScilabHistory(char *filename) "
124     /**
125     * set filename of history
126     * @param filename of history
127     * @return true or false
128     */
129 public";
130     BOOL setFilenameScilabHistory(char *filename);
131
132 %javamethodmodifiers getFilenameScilabHistory(void) "
133     /**
134     * get filename of history
135     * @return a filename
136     */
137 public";
138     char *getFilenameScilabHistory(void);
139
140 %javamethodmodifiers setDefaultFilenameScilabHistory(void) "
141     /**
142     * set default filename of history
143     * @return true or false
144     */
145 public";
146     BOOL setDefaultFilenameScilabHistory(void);
147
148 %javamethodmodifiers resetScilabHistory(void) "
149     /**
150     * reset history manager
151     */
152 public";
153     void resetScilabHistory(void);
154
155 %javamethodmodifiers getAllLinesOfScilabHistory(void) "
156     /**
157     * Get all lines in history
158     * @return an array of strings
159     */
160 public";
161     char **getAllLinesOfScilabHistory(void);
162
163 %javamethodmodifiers getSizeAllLinesOfScilabHistory(void) "
164     /**
165     * Get numbers of lines in history
166     * size of array returned by getAllLinesOfScilabHistory
167     * @return int
168     */
169 public";
170     int getSizeAllLinesOfScilabHistory(void);
171
172
173 %javamethodmodifiers setSearchedTokenInScilabHistory(char *token) "
174     /**
175     * set new token to search in history
176     * @param token (a string)
177     * @return true or false
178     */
179 public";
180     BOOL setSearchedTokenInScilabHistory(char *token);
181
182 %javamethodmodifiers resetSearchedTokenInScilabHistory(void) "
183     /**
184     * reset search in history
185     * @return true or false
186     */
187 public";
188     BOOL resetSearchedTokenInScilabHistory(void);
189
190 %javamethodmodifiers getSearchedTokenInScilabHistory(void) "
191     /**
192     * get token searched in history
193     * @return token (a string)
194     */
195 public";
196     char *getSearchedTokenInScilabHistory(void);
197
198 %javamethodmodifiers getPreviousLineInScilabHistory(void) "
199     /**
200     * Get the previous line in Scilab history
201     * @return a line or NULL
202     * after an appendLine iterator go to end
203     */
204 public";
205     char *getPreviousLineInScilabHistory(void);
206
207 %javamethodmodifiers getNextLineInScilabHistory(void) "
208     /**
209     * Get the next line in Scilab history
210     * @return a line or NULL
211     * after an appendLine iterator go to end
212     */
213 public";
214     char *getNextLineInScilabHistory(void);
215
216 %javamethodmodifiers getNumberOfLinesInScilabHistory(void) "
217     /**
218     * Get numbers of lines in history
219     * @return number of lines
220     */
221 public";
222     int getNumberOfLinesInScilabHistory(void);
223
224 %javamethodmodifiers setSaveConsecutiveDuplicateLinesInScilabHistory(BOOL doit) "
225     /**
226     * set consecutive duplicate lines are added
227     * @param doit (true or false)
228     */
229 public";
230     void setSaveConsecutiveDuplicateLinesInScilabHistory(BOOL doit);
231
232 %javamethodmodifiers getSaveConsecutiveDuplicateLinesInScilabHistory(void) "
233     /**
234     * indicate if consecutive duplicate lines are added
235     * @return true or false
236     */
237 public";
238     BOOL getSaveConsecutiveDuplicateLinesInScilabHistory(void);
239
240 %javamethodmodifiers setAfterHowManyLinesScilabHistoryIsSaved(int num) "
241     /**
242     * Set after how many lines history is saved
243     * @param num number between 0 and Max
244     * default value is 0 (disabled)
245     */
246 public";
247     void setAfterHowManyLinesScilabHistoryIsSaved(int num);
248
249 %javamethodmodifiers getAfterHowManyLinesScilabHistoryIsSaved(void) "
250     /**
251     * Get after how many lines history is saved
252     * @return number between 0 and Max
253     * default value is 0 (disabled)
254     */
255 public";
256     int getAfterHowManyLinesScilabHistoryIsSaved(void);
257
258 %javamethodmodifiers getNthLineInScilabHistory(int N) "
259     /**
260     * Get the Nth Line in history
261     * @param N the number of the line to get
262     * @return the Nth Line
263     */
264 public";
265     char *getNthLineInScilabHistory(int N);
266
267 %javamethodmodifiers deleteNthLineScilabHistory(int N) "
268     /**
269     * delete the Nth Line in history
270     * @param N the number of the line to delete
271     * @return true or false
272     */
273 public";
274     BOOL deleteNthLineScilabHistory(int N);
275
276 %javamethodmodifiers getSizeScilabHistory(void) "
277     /**
278     * get number of lines of history
279     * @return a number >= 0
280     */
281 public";
282     int getSizeScilabHistory(void);
283
284 %javamethodmodifiers historyIsEnabled(void) "
285     /**
286     * get history manager state
287     * @return true or false
288     */
289 public";
290     BOOL historyIsEnabled(void);
291
292 %javamethodmodifiers setSizeMaxScilabHistory(int N)"
293     /**
294     * set the number of max lines
295     * @return true or false
296     */
297 public";
298     BOOL setSizeMaxScilabHistory(int nbLinesMax);
299
300 %javamethodmodifiers InitializeHistoryManager(void)"
301     /**
302     * terminate the history manager
303     * @return true or false
304     */
305 public";
306     BOOL InitializeHistoryManager(void);
307
308 %javamethodmodifiers TerminateHistoryManager(void)"
309     /**
310     * terminate the history manager
311     * @return true or false
312     */
313 public";
314     BOOL TerminateHistoryManager(void);