Fix some easy to fix warnings
[scilab.git] / scilab / modules / history_manager / src / cpp / HistorySearch.hxx
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007-2008 - INRIA - 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 /*------------------------------------------------------------------------*/
17 #include <list>
18 #include <vector>
19 #include <string>
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 class HISTORY_MANAGER_IMPEXP HistorySearch
33 {
34 public:
35     /**
36     * Constructor
37     */
38     HistorySearch();
39
40     /**
41     * Destructor
42     */
43     ~HistorySearch();
44
45     /**
46     * set History to search
47     * @param a list of std::string
48     * @return TRUE or FALSE
49     */
50     BOOL setHistory(std::list<std::string> _lstCommands);
51
52     /**
53     * set new token to search in history
54     * @param token (a string)
55     * @return TRUE or FALSE
56     */
57     BOOL setToken(std::string _stToken);
58
59     /**
60     * get token searched in history
61     * @return token (a string)
62     */
63     std::string getToken(void);
64
65     /**
66     * returns size of the
67     */
68     int getSize(void);
69
70     /**
71     * reset HistorySearch Object
72     * @return TRUE or FALSE
73     */
74     BOOL reset(void);
75
76     /**
77     * Get the previous line in search
78     * @return a line
79     */
80     std::string getPreviousLine(void);
81
82     /**
83     * Get the next line in search
84     * @return a line
85     */
86     std::string getNextLine(void);
87
88 protected:
89
90 private:
91     std::list<std::string> m_Commands;
92     std::string m_stToken;
93     std::vector<std::string> m_vstLines;
94     int m_iPosition;
95
96     BOOL search(void);
97 };
98 /*------------------------------------------------------------------------*/