xref: /trunk/main/udkapi/com/sun/star/script/XDebugging.idl (revision fc9fd3f14a55d77b35643a64034752a178b2a5b0)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_script_XDebugging_idl__
28#define __com_sun_star_script_XDebugging_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_script_ContextInformation_idl__
35#include <com/sun/star/script/ContextInformation.idl>
36#endif
37
38
39//=============================================================================
40
41 module com {  module sun {  module star {  module script {
42
43//=============================================================================
44
45// DocMerge from xml: interface com::sun::star::script::XDebugging
46/** makes it possible to set breakpoints in an interpreter.
47    @deprecated
48 */
49published interface XDebugging: com::sun::star::uno::XInterface
50{
51    //-------------------------------------------------------------------------
52    /** returns the source code line where the breakpoint was set.
53
54                <p>The value can differ from the parameter
55                <var>nSourceCodeLine</var> when this is not a valid line to
56                place it.  -1 indicates that the breakpoint cannot be set at
57                this position.
58     */
59    long setBreakPoint( [in] string aModuleName,
60             [in] long nSourceCodeLine,
61             [in] boolean bOn );
62
63    //-------------------------------------------------------------------------
64    /** clears all breakpoints in the module set by "setBreakPoint".
65     */
66    void clearAllBreakPoints( [in] string aModuleName );
67
68    //-------------------------------------------------------------------------
69    /** Evaluates an expression.
70
71        @returns the value of the expression as string.
72
73        @param CallStackPos Position in the call stack for which the expression
74                    should be evaluated. 0 is the top/actual position in the call
75                    in the call stack, 1 the next and so on.
76     */
77    string eval( [in] string aSourceCode,
78             [in] short nCallStackPos );
79
80    //-------------------------------------------------------------------------
81    /** Returns the engine's stack trace of the current execute position. Line break is the delimiter.
82     */
83    sequence<string> getStackTrace();
84
85    //-------------------------------------------------------------------------
86    /** returns more detailed information about a specified stack frame.
87
88         @param nCallStackPos
89                specifies the position in the call stack for the
90                variables that should be delivered.
91     */
92    com::sun::star::script::ContextInformation getContextInformation( [in] short nCallStackPos );
93
94    //-------------------------------------------------------------------------
95    /** returns the value of the variable at the given stack position.
96     */
97    string dumpVariable( [in] string aVariableName,
98             [in] short nCallStackPos );
99
100    //-------------------------------------------------------------------------
101    /** sets the value of the specified variable within the specified
102        stack frame.
103     */
104    void setVariable( [in] string aVariableName,
105             [in] string aValue,
106             [in] short nCallStackPos );
107
108    //-------------------------------------------------------------------------
109    /** returns whether the given variable exists within the specified stack frame.
110     */
111    boolean isVariable( [in] string aVariableName,
112             [in] short nCallStackPos );
113
114    //-------------------------------------------------------------------------
115    /** stops the execution of the interpreter.
116
117        <p>To continue with the execution, call <method>XDebugging::doContinue</method>.
118     */
119    void stop();
120
121    //-------------------------------------------------------------------------
122    /** executes the next and only the next statement.
123
124        <p>If the next statement is a function call, the function is
125        executed completely.</p>
126     */
127    void stepOver();
128
129    //-------------------------------------------------------------------------
130    /** executes the next and only the next statement.
131
132        <p>If the next statement is a function call, only the function
133        entered.</p>
134     */
135    void stepIn();
136
137    //-------------------------------------------------------------------------
138    /** executes the program until the next return from this stack frame.
139     */
140    void stepOut();
141
142    //-------------------------------------------------------------------------
143    /** continues the program execution.
144     */
145    void doContinue();
146
147};
148
149//=============================================================================
150
151}; }; }; };
152
153#endif
154