package org.greenstone.atlas.client;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface FindPlaceServiceAsync 
{
	void getMarkedUpText(AsyncCallback<String> callback);
	void isGazetteerLoaded(AsyncCallback<Boolean> callback);
	void findPlacesInText(String text, String html, AsyncCallback<Boolean> callback);
	void loadGazetteer(AsyncCallback<Boolean> callback);
	void getPlaces(double maxScore, double minScore, long minPopulation, boolean locality, boolean region, boolean country, int numberOfPlacesToGet, AsyncCallback<ArrayList<Place>> callback);
	void adjustScoringParams(double penalty, double parentBonus, double indirectReferencePercent, AsyncCallback<Boolean> callback);
	void findPlacesInMultipleTexts(String[] texts, AsyncCallback<ArrayList<ArrayList<Place>>> callback);
	void updateGazetteer(int start, int end,  AsyncCallback<ArrayList<Place>> callback);
	void addToDatabase(Place p, float lat, float lng, AsyncCallback<Boolean> callback);
	void spatialSearch(ArrayList<Float[]> points, AsyncCallback<ArrayList<String>> callback);
	void getPlaceById(long id, AsyncCallback<Place> callback);
}
