/* © 2010 Stephan Reichholf <stephan at reichholf dot net>
*
* Licensed under the Create-Commons Attribution-Noncommercial-Share Alike 3.0 Unported
* http://creativecommons.org/licenses/by-nc-sa/3.0/
*/
package net.reichholf.dreamdroid.helpers.enigma2.requesthandler;
import net.reichholf.dreamdroid.helpers.NameValuePair;
import net.reichholf.dreamdroid.helpers.SimpleHttpClient;
import net.reichholf.dreamdroid.helpers.enigma2.URIStore;
import java.util.ArrayList;
/**
* @author sre
*
*/
public class MediaplayerCommandRequestHandler extends SimpleResultRequestHandler {
public static final String PARAM_CMD = "command";
public static final String PARAM_FILE = "file";
public static final String PARAM_NAME = "name";
public static final String PARAM_ROOT = "root";
public static final String PARAM_PLAYLIST_PATH = "path";
public static final String PARAM_PLAYLIST_TYPES = "types";
public static final String CMD_PLAY = "play";
public static final String CMD_PAUSE = "pause";
public static final String CMD_PREVIOUS = "previous";
public static final String CMD_NEXT = "next";
public static final String CMD_STOP = "stop";
public static final String CMD_EXIT = "exit";
public static final String CMD_SHUFFLE = "shuffle";
public static final String CMD_CLEAR = "clear";
public static final String PATH_PLAYLIST = "playlist";
public static final String PATH_FILESYSTEMS = "Filesystems";
public static final String TYPE_AUDIO = "audio";
public static final String TYPE_VIDEO = "video";
public static final String TYPE_ANY = "any";
/**
* @param uri
*/
public MediaplayerCommandRequestHandler() {
super(null);
}
public MediaplayerCommandRequestHandler(String uri) {
super(uri);
}
/**
* @param shc
* @param uri
* @param param
* @param value
* @return
*/
private String singleParamCall(SimpleHttpClient shc, String uri, String param, String value) {
mUri = uri;
ArrayList<NameValuePair> params = new ArrayList<>();
params.add(new NameValuePair(param, value));
return get(shc, params);
}
/**
* @param shc
* @param cmd
* @return
*/
private String cmd(SimpleHttpClient shc, String cmd) {
return singleParamCall(shc, URIStore.MEDIA_PLAYER_CMD, PARAM_CMD, cmd);
}
/**
* @param shc
* @param params
* @return
*/
public String playFile(SimpleHttpClient shc, String file) {
return singleParamCall(shc, URIStore.MEDIA_PLAYER_PLAY, PARAM_FILE, file);
}
/**
* @param shc
* @param file
* @return
*/
public String addToPlaylist(SimpleHttpClient shc, String file) {
return singleParamCall(shc, URIStore.MEDIA_PLAYER_ADD, PARAM_FILE, file);
}
/**
* @param shc
* @param file
* @return
*/
public String removeFromPlaylist(SimpleHttpClient shc, String file) {
return singleParamCall(shc, URIStore.MEDIA_PLAYER_REMOVE, PARAM_FILE, file);
}
/**
* @param shc
* @param name
* @return
*/
public String loadPlaylist(SimpleHttpClient shc, String name) {
return singleParamCall(shc, URIStore.MEDIA_PLAYER_LOAD, PARAM_NAME, name);
}
/**
* @param shc
* @param name
* @return
*/
public String savePlaylist(SimpleHttpClient shc, String name) {
return singleParamCall(shc, URIStore.MEDIA_PLAYER_WRITE, PARAM_NAME, name);
}
/**
* @param shc
* @return
*/
public String play(SimpleHttpClient shc) {
return cmd(shc, CMD_PLAY);
}
/**
* @param shc
* @return
*/
public String pause(SimpleHttpClient shc) {
return cmd(shc, CMD_PAUSE);
}
/**
* @param shc
* @return
*/
public String next(SimpleHttpClient shc) {
return cmd(shc, CMD_NEXT);
}
/**
* @param shc
* @return
*/
public String previous(SimpleHttpClient shc) {
return cmd(shc, CMD_PREVIOUS);
}
/**
* @param shc
* @return
*/
public String stop(SimpleHttpClient shc) {
return cmd(shc, CMD_STOP);
}
/**
* @param shc
* @return
*/
public String shuffle(SimpleHttpClient shc) {
return cmd(shc, CMD_SHUFFLE);
}
/**
* @param shc
* @return
*/
public String clear(SimpleHttpClient shc) {
return cmd(shc, CMD_CLEAR);
}
/**
* @param shc
* @return
*/
public String exit(SimpleHttpClient shc) {
return cmd(shc, CMD_EXIT);
}
}