/******************************************************************************* * Copyright (c) 2012 Association for Decentralized Information Management * in Industry THTH ry. * 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: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ package org.simantics.maps.tile; /** * Interface for queue'ing a set of map tile requests. The tiles will be * requested from the provider that has been set for the queue. * * @author Tuukka Lehtonen */ public interface ITileJobQueue { /** * Add a request for the specified tile with the specified listener. The * listener will be notified depending on how the job progresses. * * @param key the requested tile * @param listener the listener that will be notified of request result */ public void addJob(TileKey key, ITileListener listener); /** * Used for removing jobs from the job queue by using the specified filter. * Any not-started tile requests for which the filter returns * false will be removed from the queue. * * @param filter filter that shall return false for tile * requests to be removed from the queue */ public void filterQueries(IFilter filter); /** * Sets the tile provider used by this queue to perform tile requests. * * @param provider the provider to use from now on */ public void setTileProvider(ITileProvider provider); }