blob: 6935ad32b7adeb73c292451e52a20466a65a65d4 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2007 IBM Corporation 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:
* IBM Corporation - initial API and implementation
* Bjorn Freeman-Benson - initial API and implementation
*******************************************************************************/
package org.eclipse.debug.examples.core.pda.model;
/**
* Listeners are notified of events occurring in a PDA program
* being interpreted.
* <p>
* The events generated by the interpreter are:
* <ul>
* <li><code>started</code> - the interpreter has started (guaranteed to be the
* first event sent)</li>
* <li><code>terminated</code> - the interpreter has terminated (guaranteed to be
* the last event sent)</li>
* <li><code>suspended X</code> - the interpreter has suspended and entered debug mode;
* <code>X</code> is the cause of the suspension:
* <ul>
* <li><code>breakpoint N</code> - a breakpoint at line <code>N</code> was hit</li>
* <li><code>client</code> - a client request to suspend has completed</li>
* <li><code>drop</code> - a client request to drop a frame has completed</li>
* <li><code>event E</code> - an error was encountered, where <code>E</code> is one
* of <code>unimpinstr</code> or <code>nosuchlabel</code></li>
* <li><code>step</code> - a step request has completed</li>
* <li><code>watch A F::V</code> - a watchpoint was hit for reason <code>A</code>
* (<code>read</code> or <code>write</code>), on variable <code>V</code> in
* function <code>F</code></li>
* </ul>
* </li>
* <li><code>resumed X</code> - the interpreter has resumed execution in run mode;
* <code>X</code> is the cause of the resume:
* <ul>
* <li><code>step</code> - a step request has been initiated</li>
* <li><code>client</code> - a client request to resume has been initiated</li>
* </ul>
* </li>
* <li><code>unimplemented instruction X</code> - an unimplemented instruction <code>X</code>
* was encountered</li>
* <li><code>no such label X</code> - a branch or call to an unknown label <code>X</code>
* was encountered</li>
* </ul>
* </p>
*/
public interface IPDAEventListener {
/**
* Notification the given event occurred in the target program
* being interpreted.
*
* @param event the event
*/
public void handleEvent(String event);
}