001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.imagery;
003
004import java.util.Map;
005
006import org.openstreetmap.gui.jmapviewer.interfaces.TileLoader;
007import org.openstreetmap.gui.jmapviewer.interfaces.TileLoaderListener;
008
009/**
010 * Factory creating TileLoaders for layers
011 *
012 * @author Wiktor Niesiobędzki
013 * @since 8526
014 */
015public interface TileLoaderFactory {
016
017    /**
018     * @param listener that will be notified, when tile has finished loading
019     * @return TileLoader that notifies specified listener
020     */
021    TileLoader makeTileLoader(TileLoaderListener listener);
022
023    /**
024     * @param listener that will be notified, when tile has finished loading
025     * @param headers that will be sent with requests to TileSource
026     * @return TileLoader that uses both of above
027     */
028    TileLoader makeTileLoader(TileLoaderListener listener, Map<String, String> headers);
029}