package com.project.website.canvas.client.shared.searchProviders.youtube;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.project.gwtyoutube.client.YouTubeResult;
import com.project.gwtyoutube.client.YouTubeSearchRequest;
import com.project.website.canvas.client.resources.CanvasResources;
import com.project.website.canvas.client.shared.searchProviders.interfaces.MediaSearchResult;
import com.project.website.canvas.client.shared.searchProviders.interfaces.VideoSearchProvider;
import com.project.website.canvas.client.shared.searchProviders.youtube.adapters.YouTubeResultAdapter;
public class YouTubeSearchProvider implements VideoSearchProvider
{
private YouTubeSearchRequest searchRequest = new YouTubeSearchRequest();
@Override
public void search(String query, final AsyncCallback<MediaSearchResult> callback) {
searchRequest.search(query, new AsyncCallback<YouTubeResult>() {
@Override
public void onSuccess(YouTubeResult result) {
callback.onSuccess(new YouTubeResultAdapter(result));
}
@Override
public void onFailure(Throwable caught) {
callback.onFailure(caught);
}
});
}
@Override
public String getTitle() {
return "YouTube";
}
@Override
public String getIconUrl() {
return CanvasResources.INSTANCE.youtubeLogo32().getSafeUri().asString();
}
}