uses enum
[scilab.git] / scilab / modules / output_stream / src / cpp / DiaryList.hxx
1 /*--------------------------------------------------------------------------*/ 
2 /*
3 * ( http://www.scilab.org/ ) - This file is part of Scilab
4 * Copyright (C) DIGITEO - 2009 - Allan CORNET
5
6 * This file must be used under the terms of the CeCILL.
7 * This source file is licensed as described in the file COPYING, which
8 * you should have received as part of this distribution.  The terms
9 * are also available at    
10 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 *
12 */
13 /*--------------------------------------------------------------------------*/ 
14 #ifndef __DIARYLIST_HXX__
15 #define __DIARYLIST_HXX__
16 /*--------------------------------------------------------------------------*/ 
17 #include <string>
18 #include <list>
19 #include "Diary.hxx"
20 #include "DiaryModesEnum.hxx"
21 /*--------------------------------------------------------------------------*/ 
22 class DiaryList
23 {
24 public:
25         /* constructor */
26         DiaryList();
27
28         /* destructor */
29         ~DiaryList();
30
31         /* open a diary */
32         int openDiary(std::wstring _wfilename,int _mode);
33         int openDiary(std::wstring _wfilename);
34
35         /* close a diary by ID */
36         bool closeDiary(int ID_diary);
37
38         /* close all diaries */
39         void closeAllDiaries(void);
40
41         /* get IDs of diaries */
42         int * getIDs(int *sizeID);
43
44         /* get filenames of diaries */
45         std::wstring * getFilenames(int *sizeFilenames);
46
47         /* get filename by IDs */
48         std::wstring getFilename(int ID_diary);
49
50         /* write string in diaries */
51         void write(std::wstring _wstr, bool bInput);
52         void writeln(std::wstring _wstr, bool bInput);
53
54         /* test if exists a diary by ID */
55         bool exists(int ID_diary);
56
57         /* test if exists a diary by filename */
58         bool exists(std::wstring _wfilename);
59
60         /* set & get Resume mode */
61         void setSuspendWrite(bool bWith);
62         bool *getSuspendWrite(int *sizeboolArray);
63
64         void setSuspendWrite(int ID_diary, bool bWith);
65         bool getSuspendWrite(int ID_diary);
66
67         /* get ID by filename */
68         int getID(std::wstring _wfilename);
69
70         /* set & get mode */
71         void setFilterMode(int ID_diary, diary_filter mode);
72
73         void setPrefixMode(int ID_diary,diary_prefix_time_format iPrefixMode);
74         diary_prefix_time_format getPrefixMode(int ID_diary);
75
76         void setPrefixIoModeFilter(int ID_diary, diary_prefix_time_filter mode);
77         diary_prefix_time_filter getPrefixIoModeFilter(int ID_diary);
78
79 private:
80         /* list of diary */
81         std::list<Diary> LSTDIARY;
82
83         /* find a ID free */
84         int findFreeID(void);
85 };
86 #endif /* __DIARYLIST_HXX__ */
87 /*--------------------------------------------------------------------------*/ 
88