/*
 *(c) Copyright QNX Software Systems Ltd. 2002.
 * All Rights Reserved.
 * 
 */

package org.eclipse.cdt.debug.core.cdi;

/**
 * 
 * Represents a program event supported by catchpoints.
 * 
 * @since Jul 9, 2002
 */
public interface ICDICatchEvent extends ICDISessionObject {
}
