/*******************************************************************************
 * Copyright (c) 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:
 *    Hisashi MIYASHITA - initial API and implementation
 *******************************************************************************/

package org.eclipse.actf.ai.fennec.treemanager;

import org.eclipse.actf.ui.util.timer.SyncEventListener;

/**
 * IMediaSyncEventListener is the place holder of the implementation of
 * {@link SyncEventListener} for media synchronization.
 * 
 * @see SyncEventListener
 */
public interface IMediaSyncEventListener extends SyncEventListener {
}
