/*******************************************************************************
* Copyright (c) 2000, 2008 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* QNX Software Systems - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.core.cdi.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.ICDICondition;
import org.eclipse.cdt.debug.core.model.ICBreakpointType;
/**
*
* A breakpoint is capable of suspending the execution of a program
* whenever a certain point in the program is reached. Provides a
* basic functionality for the location breakpoints, watchpoints,
* and event breakpoints
*
* @see ICDILineBreakpoint
* @see ICDIFunctionBreakpoint
* @see ICDIAddressBreakpoint
* @see ICDIWatchpoint
* @see ICDIEventBreakpoint
*
* @since Jul 9, 2002
*/
public interface ICDIBreakpoint extends ICDIObject {
/** @deprecated use ICBreakpointTyped.REGULAR */
final static public int REGULAR = ICBreakpointType.REGULAR;
/** @deprecated use ICBreakpointTyped.TEMPORARY */
final static public int TEMPORARY = ICBreakpointType.TEMPORARY;
/** @deprecated use ICBreakpointTyped.HARDWARE */
final static public int HARDWARE = ICBreakpointType.HARDWARE;
/**
* @return whether this breakpoint is temporary
* @deprecated by {@link ICDIBreakpoint2#getType()}
*/
boolean isTemporary();
/**
* @return whether this breakpoint is hardware-assisted
* @deprecated by {@link ICDIBreakpoint2#getType()}
*/
boolean isHardware();
/**
* Returns whether this breakpoint is enabled.
*
* @return whether this breakpoint is enabled
* @throws CDIException if this method fails. Reasons include:
*/
boolean isEnabled() throws CDIException;
/**
* Sets the enabled state of this breakpoint. This has no effect
* if the current enabled state is the same as specified by
* the enabled parameter.
*
* @param enabled - whether this breakpoint should be enabled
* @throws CDIException if this method fails. Reasons include:
*/
void setEnabled(boolean enabled) throws CDIException;
/**
* Returns the condition of this breakpoint or <code>null</code>
* if the breakpoint's condition is not set.
*
* @return the condition of this breakpoint
* @throws CDIException if this method fails. Reasons include:
*/
ICDICondition getCondition() throws CDIException;
/**
* Sets the condition of this breakpoint.
*
* @param the condition to set
* @throws CDIException if this method fails. Reasons include:
*/
void setCondition(ICDICondition condition) throws CDIException;
}