/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_script_XDebugging_idl__ #define __com_sun_star_script_XDebugging_idl__ #include #include module com { module sun { module star { module script { /** makes it possible to set breakpoints in an interpreter. @deprecated */ published interface XDebugging: com::sun::star::uno::XInterface { /** returns the source code line where the breakpoint was set.

The value can differ from the parameter nSourceCodeLine when this is not a valid line to place it. -1 indicates that the breakpoint cannot be set at this position. */ long setBreakPoint( [in] string aModuleName, [in] long nSourceCodeLine, [in] boolean bOn ); /** clears all breakpoints in the module set by "setBreakPoint". */ void clearAllBreakPoints( [in] string aModuleName ); /** Evaluates an expression. @param aSourceCode the expression to be evaluated. @param nCallStackPos Position in the call stack for which the expression should be evaluated. 0 is the top/actual position in the call in the call stack, 1 the next and so on. @returns the value of the expression as string. */ string eval( [in] string aSourceCode, [in] short nCallStackPos ); /** Returns the engine's stack trace of the current execute position. Line break is the delimiter. */ sequence getStackTrace(); /** returns more detailed information about a specified stack frame. @param nCallStackPos specifies the position in the call stack for the variables that should be delivered. */ com::sun::star::script::ContextInformation getContextInformation( [in] short nCallStackPos ); /** returns the value of the variable at the given stack position. */ string dumpVariable( [in] string aVariableName, [in] short nCallStackPos ); /** sets the value of the specified variable within the specified stack frame. */ void setVariable( [in] string aVariableName, [in] string aValue, [in] short nCallStackPos ); /** returns whether the given variable exists within the specified stack frame. */ boolean isVariable( [in] string aVariableName, [in] short nCallStackPos ); /** stops the execution of the interpreter.

To continue with the execution, call XDebugging::doContinue(). */ void stop(); /** executes the next and only the next statement.

If the next statement is a function call, the function is executed completely.

*/ void stepOver(); /** executes the next and only the next statement.

If the next statement is a function call, only the function entered.

*/ void stepIn(); /** executes the program until the next return from this stack frame. */ void stepOut(); /** continues the program execution. */ void doContinue(); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */