/**
 * 
 */
package org.mwc.cmap.core.DataTypes.TrackData;

import Debrief.Tools.Tote.WatchableList;

/**
 * @author ian.mayo
 *
 */
public interface TrackDataProvider
{
	public static interface TrackDataListener
	{
		/** find out that the primary has changed
		 * 
		 * @param primary the primary track
		 */
		public void primaryUpdated(WatchableList primary);
		
		/** find out that the secondaries have changed
		 * 
		 * @param secondaries list of secondary tracks
		 */
		public void secondariesUpdated(WatchableList[] secondaries);
	}

	/** declare that we want to be informed about changes
	 * in selected tracks
	 */
	public void addTrackDataListener(TrackDataListener listener);

	/** find out what the primary track is
	 * 
	 */
	public WatchableList getPrimaryTrack();
	
	/** find out what the secondary track is
	 * 
	 */
	public WatchableList[] getSecondaryTracks();
	
}

@@ -681,16 +681,154 @@
 stener);
+%0A%09%0A%09/** forget that somebody wants to know about track changes%0A%09 * %0A%09 */%0A%09public void removeTrackDataListener(TrackDataListener listener);
 %0A%0A%09/** f

Allow removal of track data