/// <summary> /// Gets all available addons /// </summary> /// <param name="type"> </param> /// <param name="content"> Content provided by the addon. Only considered for plugins and scripts.</param> /// <param name="properties"> </param> /// <param name="limits"> </param> /// <param name="installed"> </param> /// <returns>KodiRpc.Addons.GetAddonsResponse</returns> public async Task <KodiRpc.Addons.GetAddonsResponse> GetAddons(KodiRpc.Addon.Types?type = null, KodiRpc.Addon.Content?content = null, KodiRpc.Addon.Fields properties = null, KodiRpc.List.Limits limits = null, object installed = null) { var jArgs = new JObject(); if (type != null) { var jproptype = JToken.FromObject(type, _client.Serializer); jArgs.Add(new JProperty("type", jproptype)); } if (content != null) { var jpropcontent = JToken.FromObject(content, _client.Serializer); jArgs.Add(new JProperty("content", jpropcontent)); } if (properties != null) { var jpropproperties = JToken.FromObject(properties, _client.Serializer); jArgs.Add(new JProperty("properties", jpropproperties)); } if (limits != null) { var jproplimits = JToken.FromObject(limits, _client.Serializer); jArgs.Add(new JProperty("limits", jproplimits)); } if (installed != null) { var jpropinstalled = JToken.FromObject(installed, _client.Serializer); jArgs.Add(new JProperty("installed", jpropinstalled)); } return(await _client.GetData <KodiRpc.Addons.GetAddonsResponse>("Addons.GetAddons", jArgs)); }
/// <summary> /// Gets the details of a specific addon /// </summary> /// <param name="addonid"> REQUIRED </param> /// <param name="properties"> </param> /// <returns>KodiRpc.Addons.GetAddonDetailsResponse</returns> public async Task <KodiRpc.Addons.GetAddonDetailsResponse> GetAddonDetails(string addonid = null, KodiRpc.Addon.Fields properties = null) { var jArgs = new JObject(); if (addonid == null) { throw new global::System.ArgumentException("Parameter cannot be null addonid"); } else { var jpropaddonid = JToken.FromObject(addonid, _client.Serializer); jArgs.Add(new JProperty("addonid", jpropaddonid)); } if (properties != null) { var jpropproperties = JToken.FromObject(properties, _client.Serializer); jArgs.Add(new JProperty("properties", jpropproperties)); } return(await _client.GetData <KodiRpc.Addons.GetAddonDetailsResponse>("Addons.GetAddonDetails", jArgs)); }