* Bug 15599 fixed: now degree of zero polynomial is -Inf
[scilab.git] / scilab / modules / ast / includes / ast / abstractdebugger.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2015 - Scilab Enterprises - Antoine ELIAS
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 #ifndef __ABSTRACT_DEBUGGER_HXX__
17 #define __ABSTRACT_DEBUGGER_HXX__
18
19 #include <string>
20 #include <vector>
21
22 extern "C"
23 {
24 #include "dynlib_ast.h"
25 }
26
27
28 namespace debugger
29 {
30 class EXTERN_AST AbstractDebugger
31 {
32 public:
33     AbstractDebugger() {}
34     virtual ~AbstractDebugger() {}
35
36     //interface
37     virtual void onStop(int index) = 0; //when a bp is trigger
38     virtual void onResume() = 0;//when "play" is trigger
39     virtual void onAbort() = 0;//when execution is abort
40     virtual void onErrorInFile(const std::wstring& filemane) = 0;//when an error is trigger in a file
41     virtual void onErrorInScript(const std::wstring& funcname) = 0;//when an error is trigger in a script
42     virtual void onQuit() = 0; //when debugger is killed or replace by another one
43
44     virtual void updateBreakpoints() = 0;
45
46 };
47
48 typedef std::vector<AbstractDebugger*> Debuggers;
49 }
50 #endif /* !__ABSTRACT_DEBUGGER_HXX__ */