remove watches from scilab debugger
[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 <map>
21
22 #include <types.hxx>
23
24 extern "C"
25 {
26 #include "dynlib_ast.h"
27 }
28
29
30 namespace debugger
31 {
32 class EXTERN_AST AbstractDebugger
33 {
34 public:
35     AbstractDebugger() {}
36     virtual ~AbstractDebugger() {}
37
38     //interface
39     virtual void onStop(int index) = 0; //when a bp is trigger
40     virtual void onExecution() = 0;//when an execution is started
41     virtual void onExecutionReleased() = 0;//when the wait for execution is release (stop on bp or execution end)
42     virtual void onPrint(const std::string& variable) = 0;//when print a variable is asked
43     virtual void onShow(int bp) = 0;//when print a breakpoint
44     virtual void onResume() = 0;//when "play" is trigger
45     virtual void onAbort() = 0;//when execution is abort
46     virtual void onErrorInFile(const std::wstring& filemane) = 0;//when an error is trigger in a file
47     virtual void onErrorInScript(const std::wstring& funcname) = 0;//when an error is trigger in a script
48     virtual void onQuit() = 0; //when debugger is killed or replace by another one
49
50     virtual void updateBreakpoints() = 0;
51
52 };
53
54 typedef std::map<std::string, AbstractDebugger*> Debuggers;
55 }
56 #endif /* !__ABSTRACT_DEBUGGER_HXX__ */