Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
        /// <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));
        }