Fix some easy to fix warnings
[scilab.git] / scilab / modules / history_manager / src / cpp / HistoryFile.hxx
1 /*
2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2007-2008 - INRIA - Allan CORNET
4 * Copyright (C) 2011 - DIGITEO - Allan CORNET
5 *
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14 *
15 */
16
17 /*------------------------------------------------------------------------*/
18 #include <list>
19
20 extern "C"
21 {
22 #include "dynlib_history_manager.h"
23 #include "BOOL.h"
24 }
25
26 #ifdef _MSC_VER
27 //disable warnings about exports STL items
28 #pragma warning (disable : 4251)
29 #endif
30
31 /*------------------------------------------------------------------------*/
32 typedef enum
33 {
34     NO_ERROR_HISTORY_LOADED,
35     ERROR_HISTORY_NOT_LOADED,
36     HISTORY_TRUNCATED
37 }
38 errorLoadHistoryCode;
39 /*------------------------------------------------------------------------*/
40 class HISTORY_MANAGER_IMPEXP HistoryFile
41 {
42 public:
43     /**
44     * Constructor
45     */
46     HistoryFile();
47
48     /**
49     * Destructor
50     */
51     ~HistoryFile();
52
53     /**
54     * set default filename used by history
55     * SCIHOME/history.scilab
56     * @return TRUE or FALSE
57     */
58     BOOL setDefaultFilename(void);
59
60     /**
61     * write history to a file
62     * @param a string the filename
63     * @return TRUE or FALSE
64     */
65     BOOL writeToFile(std::string _stFilename);
66
67     /**
68     * get filename used by history
69     * @return a string (filenam)
70     */
71     std::string getFilename(void);
72
73     /**
74     * set filename used by history
75     * @param a string (filename)
76     */
77     void setFilename(std::string _stFilename);
78
79     /**
80     * write history to a file
81     * use default filename
82     * @return TRUE or FALSE
83     */
84     BOOL writeToFile(void);
85
86     /**
87     * load history from a file
88     * @param a string the filename
89     * @return TRUE or FALSE
90     */
91     errorLoadHistoryCode loadFromFile(std::string _stFilename);
92
93
94     /**
95     * load history from a file
96     * use default filename
97     * @return TRUE or FALSE
98     */
99     errorLoadHistoryCode loadFromFile(void);
100
101     /**
102     * reset HistoryFile Object
103     * @return TRUE or FALSE
104     */
105     BOOL reset(void);
106
107     /**
108     *
109     */
110     int getDefaultMaxNbLines(void);
111
112     /**
113     * get loaded history
114     * @return a list of CommandLine
115     */
116     std::list<std::string> getHistory(void);
117
118     /**
119     * set History to save
120     * @param a list of CommandLine
121     * @return TRUE or FALSE
122     */
123     BOOL setHistory(std::list<std::string> _lstCommands);
124
125     /**
126     *
127     */
128     BOOL setDefaultMaxNbLines(int _iMaxLines);
129
130 protected:
131 private:
132
133     int m_iMaxLines;
134     std::string m_stFilename;
135     std::list<std::string> m_Commands;
136 };
137 /*------------------------------------------------------------------------*/