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

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

/**
 * 
 * Notifies that the originator has been created.
 * The originators:
 * <ul>
 * <li>target (ICDITarget)
 * <li>thread (ICDIThread)
 * </ul>
 * 
 * @since Jul 10, 2002
 */
public interface ICDICreatedEvent extends ICDIEvent {
}
