remove getFullFilename from output_stream and use one in fileio
[scilab.git] / scilab / modules / output_stream / src / cpp / Diary.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.1-en.txt
11 *
12 */
13 /*--------------------------------------------------------------------------*/
14 #ifndef __DIARY_HXX__
15 #define __DIARY_HXX__
16 /*--------------------------------------------------------------------------*/
17 #include <string>
18 #include "DiaryModesEnum.hxx"
19
20 /*--------------------------------------------------------------------------*/
21 class Diary
22 {
23 private:
24     std::wstring wfilename;
25     int ID_foutstream;
26
27     int fileAttribMode;
28
29     void setID(int _ID);
30
31     /* resume mode */
32     bool suspendwrite;
33
34     /* see DiaryModesEnum.hxx */
35     diary_prefix_time_format PrefixTimeFormat;
36
37     /* see DiaryModesEnum.hxx */
38     diary_prefix_time_filter PrefixIoModeFilter;
39
40     /* see DiaryModesEnum.hxx */
41     diary_filter IoModeFilter;
42
43     /*
44     * used on Windows to replace carriage return
45     */
46     std::wstring replace(const std::wstring& text, const std::wstring& s, const std::wstring& replacement);
47
48 public:
49     /*
50     * constructor
51     */
52     Diary(const std::wstring& _wfilename, int _mode, int ID, bool autorename);
53
54     /*
55     * destructor
56     */
57     ~Diary();
58
59     /*
60     * get filename of this diary
61     */
62     std::wstring getFilename(void);
63
64     /*
65     * get & set IO mode
66     */
67     void setIOMode(diary_filter _mode);
68     diary_filter getIOMode(void);
69
70     /*
71     * get ID of this diary
72     */
73     int getID(void) const;
74
75     /*
76     * write a string in this diary
77     */
78     void write(const std::wstring& _wstr, bool bInput);
79
80     /*
81     * write a line in this diary
82     */
83     void writeln(const std::wstring& _wstr, bool bInput);
84
85     /*
86     * get & set Resume mode
87     */
88     bool setSuspendWrite(bool bWith);
89     bool getSuspendWrite(void);
90
91     /*
92     * get & set Prefix mode
93     */
94     void setPrefixMode(diary_prefix_time_format iPrefixTimeFormat);
95     diary_prefix_time_format getPrefixMode(void);
96
97     /*
98     * get & set IO mode filter
99     */
100     void setPrefixIoModeFilter(diary_prefix_time_filter mode);
101     diary_prefix_time_filter getPrefixIoModeFilter(void);
102 };
103
104 #endif /* __DIARY_HXX__ */
105 /*--------------------------------------------------------------------------*/
106 bool compareDiary(const Diary& first, const Diary& second);
107 /*--------------------------------------------------------------------------*/