7586bffcb6a70e50a5b286be17bbe3a68fb0c394
[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 /*--------------------------------------------------------------------------*/ 
21 class DiaryList
22 {
23 public:
24         /* constructor */
25         DiaryList();
26
27         /* destructor */
28         ~DiaryList();
29
30         /* open a diary */
31         int openDiary(std::wstring _wfilename,int _mode);
32         int openDiary(std::wstring _wfilename);
33
34         /* close a diary by ID */
35         bool closeDiary(int ID_diary);
36
37         /* close all diaries */
38         void closeAllDiaries(void);
39
40         /* get IDs of diaries */
41         int * getIDs(int *sizeID);
42
43         /* get filenames of diaries */
44         std::wstring * getFilenames(int *sizeFilenames);
45
46         /* get filename by IDs */
47         std::wstring getFilename(int ID_diary);
48
49         /* write string in diaries */
50         void write(std::wstring _wstr, bool bInput);
51         void writeln(std::wstring _wstr, bool bInput);
52
53         /* test if exists a diary by ID */
54         bool exists(int ID_diary);
55
56         /* test if exists a diary by filename */
57         bool exists(std::wstring _wfilename);
58
59         /* set & get Resume mode */
60         void setSuspendWrite(bool bWith);
61         bool *getSuspendWrite(int *sizeboolArray);
62
63         void setSuspendWrite(int ID_diary, bool bWith);
64         bool getSuspendWrite(int ID_diary);
65
66         /* get ID by filename */
67         int getID(std::wstring _wfilename);
68
69         /* set & get mode */
70         void setFilterMode(int ID_diary, int mode);
71
72         void setPrefixMode(int ID_diary,int iPrefixMode);
73         int getPrefixMode(int ID_diary);
74
75         void setPrefixIoModeFilter(int ID_diary,int mode);
76         int getPrefixIoModeFilter(int ID_diary);
77
78 private:
79         /* list of diary */
80         std::list<Diary> LSTDIARY;
81
82         /* find a ID free */
83         int findFreeID(void);
84 };
85 #endif /* __DIARYLIST_HXX__ */
86 /*--------------------------------------------------------------------------*/ 
87