Add Settings JSON RPC methods
This commit is contained in:
parent
346cd06344
commit
9f159460f1
|
@ -0,0 +1,381 @@
|
|||
/*
|
||||
* Copyright 2015 Synced Synapse. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.xbmc.kore.jsonrpc.method;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
|
||||
import org.xbmc.kore.jsonrpc.ApiException;
|
||||
import org.xbmc.kore.jsonrpc.ApiMethod;
|
||||
|
||||
/**
|
||||
* All JSON RPC methods in Settings.*
|
||||
*/
|
||||
public class Settings {
|
||||
// Get the settings from:
|
||||
// https://github.com/xbmc/xbmc/blob/master/system/settings/settings.xml
|
||||
|
||||
// The settings are only defined here on as as-needed basis
|
||||
// lookandfeel.skin
|
||||
// lookandfeel.skinsettings
|
||||
// lookandfeel.skintheme
|
||||
// lookandfeel.skincolors
|
||||
// lookandfeel.font
|
||||
// lookandfeel.skinzoom
|
||||
// lookandfeel.startupwindow
|
||||
// lookandfeel.soundskin
|
||||
// lookandfeel.stereostrength
|
||||
// lookandfeel.enablerssfeeds
|
||||
// lookandfeel.rssedit
|
||||
// locale.language
|
||||
// locale.country
|
||||
// locale.charset
|
||||
// locale.keyboardlayouts
|
||||
// locale.timezonecountry
|
||||
// locale.timezone
|
||||
// locale.shortdateformat
|
||||
// locale.longdateformat
|
||||
// locale.timeformat
|
||||
// locale.use24hourclock
|
||||
// locale.temperatureunit
|
||||
// locale.speedunit
|
||||
// filelists.showparentdiritems
|
||||
// filelists.showextensions
|
||||
// filelists.ignorethewhensorting
|
||||
// filelists.allowfiledeletion
|
||||
// filelists.showaddsourcebuttons
|
||||
// filelists.showhidden
|
||||
// screensaver.mode
|
||||
// screensaver.settings
|
||||
// screensaver.preview
|
||||
// screensaver.time
|
||||
// screensaver.usemusicvisinstead
|
||||
// screensaver.usedimonpause
|
||||
// window.width
|
||||
// window.height
|
||||
// videolibrary.showunwatchedplots
|
||||
// videolibrary.actorthumbs
|
||||
// myvideos.flatten
|
||||
// videolibrary.flattentvshows
|
||||
// videolibrary.tvshowsselectfirstunwatcheditem
|
||||
// videolibrary.tvshowsincludeallseasonsandspecials
|
||||
// videolibrary.showallitems
|
||||
// videolibrary.groupmoviesets
|
||||
// videolibrary.groupsingleitemsets
|
||||
// videolibrary.showemptytvshows
|
||||
// videolibrary.updateonstartup
|
||||
// videolibrary.backgroundupdate
|
||||
// videolibrary.cleanup
|
||||
// videolibrary.export
|
||||
// videolibrary.import
|
||||
// locale.audiolanguage
|
||||
// videoplayer.preferdefaultflag
|
||||
// videoplayer.autoplaynextitem
|
||||
// videoplayer.seeksteps
|
||||
// videoplayer.seekdelay
|
||||
// videoplayer.adjustrefreshrate
|
||||
// videoplayer.usedisplayasclock
|
||||
// videoplayer.errorinaspect
|
||||
// videoplayer.stretch43
|
||||
// videoplayer.teletextenabled
|
||||
// videoplayer.teletextscale
|
||||
// videoplayer.stereoscopicplaybackmode
|
||||
// videoplayer.quitstereomodeonstop
|
||||
// videoplayer.rendermethod
|
||||
// videoplayer.hqscalers
|
||||
// videoplayer.useamcodec
|
||||
// videoplayer.usevdpau
|
||||
// videoplayer.usevdpaumixer
|
||||
// videoplayer.usevdpaumpeg2
|
||||
// videoplayer.usevdpaumpeg4
|
||||
// videoplayer.usevdpauvc1
|
||||
// videoplayer.usevaapi
|
||||
// videoplayer.usevaapimpeg2
|
||||
// videoplayer.usevaapimpeg4
|
||||
// videoplayer.usevaapivc1
|
||||
// videoplayer.prefervaapirender
|
||||
// videoplayer.usedxva2
|
||||
// videoplayer.useomxplayer
|
||||
// videoplayer.useomx
|
||||
// videoplayer.usevideotoolbox
|
||||
// videoplayer.usevda
|
||||
// myvideos.selectaction
|
||||
// myvideos.extractflags
|
||||
// myvideos.extractchapterthumbs
|
||||
// myvideos.replacelabels
|
||||
// myvideos.extractthumb
|
||||
// myvideos.stackvideos
|
||||
// locale.subtitlelanguage
|
||||
// subtitles.parsecaptions
|
||||
// subtitles.align
|
||||
// subtitles.stereoscopicdepth
|
||||
// subtitles.font
|
||||
// subtitles.height
|
||||
// subtitles.style
|
||||
// subtitles.color
|
||||
// subtitles.charset
|
||||
// subtitles.overrideassfonts
|
||||
// subtitles.languages
|
||||
// subtitles.storagemode
|
||||
// subtitles.custompath
|
||||
// subtitles.pauseonsearch
|
||||
// subtitles.downloadfirst
|
||||
// subtitles.tv
|
||||
// subtitles.movie
|
||||
// dvds.autorun
|
||||
// dvds.playerregion
|
||||
// dvds.automenu
|
||||
// bluray.playerregion
|
||||
// disc.playback
|
||||
// accessibility.audiovisual
|
||||
// accessibility.audiohearing
|
||||
// accessibility.subhearing
|
||||
// scrapers.moviesdefault
|
||||
// scrapers.tvshowsdefault
|
||||
// scrapers.musicvideosdefault
|
||||
// pvrmanager.enabled
|
||||
// pvrmanager.hideconnectionlostwarning
|
||||
// pvrmanager.syncchannelgroups
|
||||
// pvrmanager.backendchannelorder
|
||||
// pvrmanager.usebackendchannelnumbers
|
||||
// pvrmanager.channelmanager
|
||||
// pvrmanager.groupmanager
|
||||
// pvrmanager.channelscan
|
||||
// pvrmanager.resetdb
|
||||
// pvrmenu.displaychannelinfo
|
||||
// pvrmenu.closechannelosdonswitch
|
||||
// pvrmenu.iconpath
|
||||
// pvrmenu.searchicons
|
||||
// epg.daystodisplay
|
||||
// epg.selectaction
|
||||
// epg.hidenoinfoavailable
|
||||
// epg.epgupdate
|
||||
// epg.preventupdateswhileplayingtv
|
||||
// epg.ignoredbforclient
|
||||
// epg.resetepg
|
||||
// pvrplayback.playminimized
|
||||
// pvrplayback.startlast
|
||||
// pvrplayback.signalquality
|
||||
// pvrplayback.scantime
|
||||
// pvrplayback.confirmchannelswitch
|
||||
// pvrplayback.channelentrytimeout
|
||||
// pvrplayback.fps
|
||||
// pvrplayback.enableradiords
|
||||
// pvrplayback.trafficadvisory
|
||||
// pvrplayback.trafficadvisoryvolume
|
||||
// pvrplayback.sendrdstrafficmsg
|
||||
// pvrrecord.instantrecordtime
|
||||
// pvrrecord.defaultpriority
|
||||
// pvrrecord.defaultlifetime
|
||||
// pvrrecord.marginstart
|
||||
// pvrrecord.marginend
|
||||
// pvrrecord.preventduplicateepisodes
|
||||
// pvrrecord.timernotifications
|
||||
// pvrpowermanagement.enabled
|
||||
// pvrpowermanagement.backendidletime
|
||||
// pvrpowermanagement.setwakeupcmd
|
||||
// pvrpowermanagement.prewakeup
|
||||
// pvrpowermanagement.dailywakeup
|
||||
// pvrpowermanagement.dailywakeuptime
|
||||
// pvrparental.enabled
|
||||
// pvrparental.pin
|
||||
// pvrparental.duration
|
||||
// pvrclient.menuhook
|
||||
// pvrtimers.timertypefilter
|
||||
// pvrtimers.hidedisabledtimers
|
||||
// musiclibrary.showcompilationartists
|
||||
// musiclibrary.downloadinfo
|
||||
// musiclibrary.albumsscraper
|
||||
// musiclibrary.artistsscraper
|
||||
// musiclibrary.overridetags
|
||||
// musiclibrary.showallitems
|
||||
// musiclibrary.updateonstartup
|
||||
// musiclibrary.backgroundupdate
|
||||
// musiclibrary.cleanup
|
||||
// musiclibrary.export
|
||||
// musiclibrary.import
|
||||
// musicplayer.autoplaynextitem
|
||||
// musicplayer.queuebydefault
|
||||
// musicplayer.seeksteps
|
||||
// musicplayer.seekdelay
|
||||
// musicplayer.replaygaintype
|
||||
// musicplayer.replaygainpreamp
|
||||
// musicplayer.replaygainnogainpreamp
|
||||
// musicplayer.replaygainavoidclipping
|
||||
// musicplayer.crossfade
|
||||
// musicplayer.crossfadealbumtracks
|
||||
// musicplayer.visualisation
|
||||
// musicfiles.usetags
|
||||
// musicfiles.trackformat
|
||||
// musicfiles.nowplayingtrackformat
|
||||
// musicfiles.librarytrackformat
|
||||
// musicfiles.findremotethumbs
|
||||
// audiocds.autoaction
|
||||
// audiocds.usecddb
|
||||
// audiocds.recordingpath
|
||||
// audiocds.trackpathformat
|
||||
// audiocds.encoder
|
||||
// audiocds.settings
|
||||
// audiocds.ejectonrip
|
||||
// mymusic.startwindow
|
||||
// mymusic.songthumbinvis
|
||||
// mymusic.defaultlibview
|
||||
// pictures.generatethumbs
|
||||
// pictures.showvideos
|
||||
// pictures.displayresolution
|
||||
// slideshow.staytime
|
||||
// slideshow.displayeffects
|
||||
// slideshow.shuffle
|
||||
// weather.currentlocation
|
||||
// weather.addon
|
||||
// weather.addonsettings
|
||||
// services.devicename
|
||||
// services.upnpserver
|
||||
// services.upnpannounce
|
||||
// services.upnplookforexternalsubtitles
|
||||
// services.upnpcontroller
|
||||
// services.upnprenderer
|
||||
// services.webserver
|
||||
// services.webserverport
|
||||
// services.webserverusername
|
||||
// services.webserverpassword
|
||||
// services.webskin
|
||||
// services.esenabled
|
||||
// services.esport
|
||||
// services.esportrange
|
||||
// services.esmaxclients
|
||||
// services.esallinterfaces
|
||||
// services.esinitialdelay
|
||||
// services.escontinuousdelay
|
||||
// services.zeroconf
|
||||
// services.airplay
|
||||
// services.airplayvolumecontrol
|
||||
// services.useairplaypassword
|
||||
// services.airplaypassword
|
||||
// services.airplayvideosupport
|
||||
// smb.winsserver
|
||||
// smb.workgroup
|
||||
// videoscreen.monitor
|
||||
// videoscreen.screen
|
||||
// videoscreen.resolution
|
||||
// videoscreen.screenmode
|
||||
// videoscreen.fakefullscreen
|
||||
// videoscreen.blankdisplays
|
||||
// videoscreen.delayrefreshchange
|
||||
// videoscreen.stereoscopicmode
|
||||
// videoscreen.preferedstereoscopicmode
|
||||
// videoscreen.vsync
|
||||
// videoscreen.guicalibration
|
||||
// videoscreen.testpattern
|
||||
// videoscreen.limitedrange
|
||||
// videoscreen.dither
|
||||
// videoscreen.ditherdepth
|
||||
// audiooutput.audiodevice
|
||||
// audiooutput.channels
|
||||
// audiooutput.config
|
||||
// audiooutput.samplerate
|
||||
// audiooutput.stereoupmix
|
||||
// audiooutput.maintainoriginalvolume
|
||||
// audiooutput.processquality
|
||||
// audiooutput.streamsilence
|
||||
// audiooutput.supportdtshdcpudecoding
|
||||
// audiooutput.dspaddonsenabled
|
||||
// audiooutput.dspsettings
|
||||
// audiooutput.dspresetdb
|
||||
// audiooutput.guisoundmode
|
||||
// audiooutput.passthrough
|
||||
// audiooutput.passthroughdevice
|
||||
// audiooutput.ac3passthrough
|
||||
// audiooutput.ac3transcode
|
||||
// audiooutput.eac3passthrough
|
||||
// audiooutput.dtspassthrough
|
||||
// audiooutput.truehdpassthrough
|
||||
// audiooutput.dtshdpassthrough
|
||||
// input.peripherals
|
||||
// input.enablemouse
|
||||
// input.enablejoystick
|
||||
// network.usehttpproxy
|
||||
// network.httpproxytype
|
||||
// network.httpproxyserver
|
||||
// network.httpproxyport
|
||||
// network.httpproxyusername
|
||||
// network.httpproxypassword
|
||||
// network.bandwidth
|
||||
// powermanagement.displaysoff
|
||||
// powermanagement.shutdowntime
|
||||
// powermanagement.shutdownstate
|
||||
// powermanagement.wakeonaccess
|
||||
// eventlog.enabled
|
||||
// eventlog.enablednotifications
|
||||
// eventlog.show
|
||||
// debug.showloginfo
|
||||
// debug.extralogging
|
||||
// debug.setextraloglevel
|
||||
// debug.screenshotpath
|
||||
// masterlock.lockcode
|
||||
// masterlock.startuplock
|
||||
// masterlock.maxretries
|
||||
// cache.harddisk
|
||||
// cachevideo.dvdrom
|
||||
// cachevideo.lan
|
||||
// cachevideo.internet
|
||||
// cacheaudio.dvdrom
|
||||
// cacheaudio.lan
|
||||
// cacheaudio.internet
|
||||
// cachedvd.dvdrom
|
||||
// cachedvd.lan
|
||||
// cacheunknown.internet
|
||||
// system.playlistspath
|
||||
// general.addonupdates
|
||||
// general.addonnotifications
|
||||
// general.addonforeignfilter
|
||||
// general.addonbrokenfilter
|
||||
|
||||
public final static String PVRMANAGER_ENABLED = "pvrmanager.enabled";
|
||||
|
||||
|
||||
/**
|
||||
* Retrieves the value of a setting
|
||||
* Note, this returns a raw JsonNode. It is the responsibility of the caller to
|
||||
* retrieve and parse the value, taking into account the specific setting type
|
||||
* that was requested
|
||||
*/
|
||||
public static final class GetSettingValue extends ApiMethod<JsonNode> {
|
||||
public final static String METHOD_NAME = "Settings.GetSettingValue";
|
||||
|
||||
/**
|
||||
* Retrieves the value of a setting
|
||||
* Note, this returns a raw JsonNode. It is the responsibility of the caller to
|
||||
* retrieve and parse the value, taking into account the specific setting type
|
||||
* that was requested
|
||||
*/
|
||||
public GetSettingValue(String setting) {
|
||||
super();
|
||||
addParameterToRequest("setting", setting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMethodName() {
|
||||
return METHOD_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonNode resultFromJson(ObjectNode jsonObject) throws ApiException {
|
||||
return jsonObject.get(RESULT_NODE).get("value");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue