package authoritymanager.client;

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

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface GreetingServiceAsync {
	//void init(AsyncCallback<T>) ;
	
	//void getPrices(FilmRecord fra, FilmRecord frb, AsyncCallback<StockPrice[]> callback);
	//void sendResults()
	void init_server(AsyncCallback<Void> callback);
	void nextPair(String type, AsyncCallback<DataPair> callback);
	void prevPair(String type, AsyncCallback<DataPair> callback);
	void merge(DataPair winner, DataPair loser, AsyncCallback<Void> callback);	
	//void search(String query, AsyncCallback<Vector<SearchResult>> callback);
	void addRecord(Record record, AsyncCallback<Boolean> callback);
	void upload(AsyncCallback<Void> callback);
	void uploadFile(AsyncCallback<Void> callback);
	void fileUpload(AsyncCallback<Void> callback);
	
	void getConfiguration(AsyncCallback<String> callback);
	void getStatus(AsyncCallback<String> callback) ;	
	void getXML(String fileName, AsyncCallback<String> callback);	
	void login(String username, String date, String password,
			AsyncCallback<Boolean> callback);
	void insert(String choice, String query, AsyncCallback<Void> callback);
	void register(String username, String password, String access,
			AsyncCallback<Boolean> callback);
	void getPath(AsyncCallback<String> callback);
	void setDifferent(DataPair data, AsyncCallback<Void> callback);
	void search(String query, AsyncCallback<SearchResults> callback);
	void search(SearchQuery searchQuery, AsyncCallback<SearchResults> callback);
	
}
