bug 14821: getio function added.
[scilab.git] / scilab / modules / output_stream / includes / diary_manager.hxx
1 /*
2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2009 - DIGITEO - Allan CORNET
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 #ifndef __DIARY_MANAGER_HXX__
17 #define __DIARY_MANAGER_HXX__
18
19 #include <wchar.h>
20 #include "DiaryModesEnum.hxx"
21
22 extern "C"
23 {
24 #include "dynlib_output_stream.h"
25 }
26 /**
27 * get filename of a ID
28 * @param[in] _Id
29 * @return filename
30 */
31 OUTPUT_STREAM_IMPEXP wchar_t *getDiaryFilename(int _Id);
32
33 /**
34 * get all filenames in manager
35 * @param[out] size of returned array
36 * @return filenames
37 */
38 OUTPUT_STREAM_IMPEXP wchar_t **getDiaryFilenames(int *array_size);
39
40 /**
41 * get all IDs in manager
42 * @param[out] size of returned array
43 * @return IDs
44 */
45 OUTPUT_STREAM_IMPEXP int *getDiaryIDs(int *array_size);
46
47 /**
48 * get all IDs in manager
49 * @param[out] size of returned array
50 * @return Ids (as double)
51 */
52 OUTPUT_STREAM_IMPEXP double *getDiaryIDsAsDouble(int *array_size);
53
54 /**
55 * close all diaries
56 * @return 0
57 */
58 OUTPUT_STREAM_IMPEXP int diaryCloseAll(void);
59
60 /**
61 * close a diary by ID
62 * @param[in] ID
63 * @return 0 (OK) 1 (NOK)
64 */
65 OUTPUT_STREAM_IMPEXP int diaryClose(int _iId);
66
67 /**
68 * close a diary by filename
69 * @param[in] filename
70 * @return 0 (OK) 1 (NOK)
71 */
72 OUTPUT_STREAM_IMPEXP int diaryClose(wchar_t *filename);
73
74 /**
75 * Pause all diaries
76 * @return 0
77 */
78 OUTPUT_STREAM_IMPEXP int diaryPauseAll(void);
79
80 /**
81 * Pause a diary by ID
82 * @param[in] ID
83 * @return 0 (OK) 1 (NOK)
84 */
85 OUTPUT_STREAM_IMPEXP int diaryPause(int _iId);
86
87 /**
88 * Pause a diary by filename
89 * @param[in] filename
90 * @return 0 (OK) 1 (NOK)
91 */
92 OUTPUT_STREAM_IMPEXP int diaryPause(wchar_t *filename);
93
94 /**
95 * Resume All diaries
96 * @return 0
97 */
98 OUTPUT_STREAM_IMPEXP int diaryResumeAll(void);
99
100 /**
101 * Resume a diary by ID
102 * @param[in] ID
103 * @return 0 (OK) 1 (NOK)
104 */
105 OUTPUT_STREAM_IMPEXP int diaryResume(int _iId);
106
107 /**
108 * Resume a diary by filename
109 * @param[in] filename
110 * @return 0 (OK) 1 (NOK)
111 */
112 OUTPUT_STREAM_IMPEXP int diaryResume(wchar_t *filename);
113
114 /**
115 * check if a ID exists
116 * @param[in] ID
117 * @return 0 (OK) 1 (NOK)
118 */
119 OUTPUT_STREAM_IMPEXP int diaryExists(int _iId);
120
121 /**
122 * checks if a filename exists
123 * @param[in] filename
124 * @return 0 (OK) 1 (NOK)
125 */
126 OUTPUT_STREAM_IMPEXP int diaryExists(wchar_t *filename);
127
128 /**
129 * create a new diary
130 * @param[in] filename
131 * @return ID or -1 (NOK)
132 */
133 OUTPUT_STREAM_IMPEXP int diaryNew(wchar_t *filename, bool autorename);
134
135 /**
136 * append to a diary
137 * @param[in] filename
138 * @return ID or -1 (NOK)
139 */
140 OUTPUT_STREAM_IMPEXP int diaryAppend(wchar_t *filename);
141
142 /*
143 * Set filter mode (input, output)
144 * @param[in] ID
145 * @param[in] mode
146 * @return 0 (OK) 1 (NOK)
147 */
148 OUTPUT_STREAM_IMPEXP int diarySetFilterMode(int _iId, diary_filter mode);
149
150 /*
151 * Set prefix time mode
152 * @param[in] ID
153 * @param[in] mode
154 * @return 0 (OK) 1 (NOK)
155 */
156 OUTPUT_STREAM_IMPEXP int diarySetPrefixMode(int ID_diary, diary_prefix_time_format iPrefixMode);
157
158 /*
159 * get prefix mode
160 * @param[in] ID
161 * @return prefix mode
162 */
163 OUTPUT_STREAM_IMPEXP int diaryGetPrefixMode(int ID_diary);
164
165 /*
166 * set prefix IO mode filter
167 * @param[in] ID
168 * @param[in] mode
169 * @return 0 (OK) 1 (NOK)
170 */
171 OUTPUT_STREAM_IMPEXP int diarySetPrefixIoModeFilter(int ID_diary, diary_prefix_time_filter mode);
172
173 /*
174 * get prefix IO mode filter
175 * @param[in] ID
176 * @return mode
177 */
178 OUTPUT_STREAM_IMPEXP diary_prefix_time_filter diaryGetPrefixIoModeFilter(int ID_diary);
179
180 #endif /* __DIARY_MANAGER_HXX__ */
181 /*--------------------------------------------------------------------------*/