package com.github.pfichtner.jrunalyser.base.datasource;
import java.io.IOException;
import java.util.Set;
import com.github.pfichtner.jrunalyser.base.data.WayPoint;
import com.github.pfichtner.jrunalyser.base.data.track.Id;
import com.github.pfichtner.jrunalyser.base.data.track.Track;
public interface Datasource {
Set<Id> getTrackIds() throws IOException;
Track loadTrack(Id id) throws IOException;
Iterable<Track> loadTracks(Iterable<Id> ids) throws IOException;
Track addTrack(Track track) throws IOException;
Track removeTrack(Id id) throws IOException;
Set<WayPoint> getCommonWaypoints();
}