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