Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 package org.xbmc.android.jsonrpc.api.call;
00022
00023 import android.os.Parcel;
00024 import android.os.Parcelable;
00025 import java.util.ArrayList;
00026 import org.codehaus.jackson.JsonNode;
00027 import org.codehaus.jackson.node.ArrayNode;
00028 import org.codehaus.jackson.node.ObjectNode;
00029 import org.xbmc.android.jsonrpc.api.AbstractCall;
00030 import org.xbmc.android.jsonrpc.api.model.FavouriteModel;
00031
00032 public final class Favourites {
00033
00041 public static class AddFavourite extends AbstractCall<String> {
00042 public final static String API_TYPE = "Favourites.AddFavourite";
00043
00044 @Override
00045 public void writeToParcel(Parcel parcel, int flags) {
00046 super.writeToParcel(parcel, flags);
00047 parcel.writeValue(mResult);
00048 }
00049
00053 protected AddFavourite(Parcel parcel) {
00054 super(parcel);
00055 }
00056
00060 public static final Parcelable.Creator<AddFavourite> CREATOR = new Parcelable.Creator<AddFavourite>() {
00061 @Override
00062 public AddFavourite createFromParcel(Parcel parcel) {
00063 return new AddFavourite(parcel);
00064 }
00065 @Override
00066 public AddFavourite[] newArray(int n) {
00067 return new AddFavourite[n];
00068 }
00069 };
00070
00080 public AddFavourite(String title, String type, String path, String window, String windowparameter, String thumbnail) {
00081 super();
00082 addParameter("title", title);
00083 addParameter("type", type);
00084 addParameter("path", path);
00085 addParameter("window", window);
00086 addParameter("windowparameter", windowparameter);
00087 addParameter("thumbnail", thumbnail);
00088 }
00089
00090 @Override
00091 protected String parseOne(JsonNode node) {
00092 return node.getTextValue();
00093 }
00094
00095 @Override
00096 public String getName() {
00097 return API_TYPE;
00098 }
00099
00100 @Override
00101 protected boolean returnsList() {
00102 return false;
00103 }
00104 }
00105
00113 public static class GetFavourites extends AbstractCall<FavouriteModel.FavouriteDetail> {
00114 public final static String API_TYPE = "Favourites.GetFavourites";
00115
00116 @Override
00117 public void writeToParcel(Parcel parcel, int flags) {
00118 super.writeToParcel(parcel, flags);
00119 parcel.writeParcelable(mResult, flags);
00120 }
00121
00125 protected GetFavourites(Parcel parcel) {
00126 super(parcel);
00127 }
00128
00132 public static final Parcelable.Creator<GetFavourites> CREATOR = new Parcelable.Creator<GetFavourites>() {
00133 @Override
00134 public GetFavourites createFromParcel(Parcel parcel) {
00135 return new GetFavourites(parcel);
00136 }
00137 @Override
00138 public GetFavourites[] newArray(int n) {
00139 return new GetFavourites[n];
00140 }
00141 };
00142 public final static String RESULT = "favourites";
00143
00149 public GetFavourites(String type, String... properties) {
00150 super();
00151 addParameter("type", type);
00152 addParameter("properties", properties);
00153 }
00154
00155 @Override
00156 protected ArrayList<FavouriteModel.FavouriteDetail> parseMany(JsonNode node) {
00157 final ArrayNode favourites = parseResults(node, RESULT);
00158 if (favourites != null) {
00159 final ArrayList<FavouriteModel.FavouriteDetail> ret = new ArrayList<FavouriteModel.FavouriteDetail>(favourites.size());
00160 for (int i = 0; i < favourites.size(); i++) {
00161 final ObjectNode item = (ObjectNode)favourites.get(i);
00162 ret.add(new FavouriteModel.FavouriteDetail(item));
00163 }
00164 return ret;
00165 } else {
00166 return new ArrayList<FavouriteModel.FavouriteDetail>(0);
00167 }
00168 }
00169
00170 @Override
00171 public String getName() {
00172 return API_TYPE;
00173 }
00174
00175 @Override
00176 protected boolean returnsList() {
00177 return true;
00178 }
00179 }
00180 }