diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 18:07:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 18:07:22 +0000 |
commit | c04dcc2e7d834218ef2d4194331e383402495ae1 (patch) | |
tree | 7333e38d10d75386e60f336b80c2443c1166031d /xbmc/interfaces/legacy/ModuleXbmc.h | |
parent | Initial commit. (diff) | |
download | kodi-c04dcc2e7d834218ef2d4194331e383402495ae1.tar.xz kodi-c04dcc2e7d834218ef2d4194331e383402495ae1.zip |
Adding upstream version 2:20.4+dfsg.upstream/2%20.4+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xbmc/interfaces/legacy/ModuleXbmc.h')
-rw-r--r-- | xbmc/interfaces/legacy/ModuleXbmc.h | 898 |
1 files changed, 898 insertions, 0 deletions
diff --git a/xbmc/interfaces/legacy/ModuleXbmc.h b/xbmc/interfaces/legacy/ModuleXbmc.h new file mode 100644 index 0000000..0720d8a --- /dev/null +++ b/xbmc/interfaces/legacy/ModuleXbmc.h @@ -0,0 +1,898 @@ +/* + * Copyright (C) 2005-2018 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#pragma once + +#include "AddonString.h" +#include "Tuple.h" + +#include "utils/LangCodeExpander.h" +#include "swighelper.h" +#include <vector> + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +namespace XBMCAddon +{ + namespace xbmc + { +#ifndef SWIG + // This is a bit of a hack to get around a SWIG problem + extern const int lLOGDEBUG; +#endif +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ + + // + /// \defgroup python_xbmc Library - xbmc + /// @{ + /// @brief **General functions on Kodi.** + /// + /// Offers classes and functions that provide information about the media + /// currently playing and that allow manipulation of the media player (such + /// as starting a new song). You can also find system information using the + /// functions available in this library. + // + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.log(msg[, level]) } + /// Write a string to Kodi's log file and the debug window. + /// + /// @param msg string - text to output. + /// @param level [opt] integer - log level to output at. + /// <em>(default=LOGDEBUG)</em> + /// | Value: | Description: | + /// |----------------:|---------------------------------------------------| + /// | xbmc.LOGDEBUG | In depth information about the status of Kodi. This information can pretty much only be deciphered by a developer or long time Kodi power user. + /// | xbmc.LOGINFO | Something has happened. It's not a problem, we just thought you might want to know. Fairly excessive output that most people won't care about. + /// | xbmc.LOGWARNING | Something potentially bad has happened. If Kodi did something you didn't expect, this is probably why. Watch for errors to follow. + /// | xbmc.LOGERROR | This event is bad. Something has failed. You likely noticed problems with the application be it skin artifacts, failure of playback a crash, etc. + /// | xbmc.LOGFATAL | We're screwed. Kodi is about to crash. + /// + /// @note Addon developers are advised to keep `LOGDEBUG` as the default + /// logging level and to use conservative logging (log only if needed). + /// Excessive logging makes it harder to debug kodi itself. + /// + /// Logging in kodi has a global configuration level that controls how text + /// is written to the log. This global logging behaviour can be changed in + /// the GUI (**Settings -> System -> Logging**) (debug toggle) or furthered + /// configured in advancedsettings (loglevel setting). + /// + /// Text is written to the log for the following conditions: + /// - loglevel == -1 (NONE, nothing at all is logged to the log) + /// - loglevel == 0 (NORMAL, shows `LOGINFO`, `LOGWARNING`, `LOGERROR` and `LOGFATAL`) - Default kodi behaviour + /// - loglevel == 1 (DEBUG, shows all) - Behaviour if you toggle debug log in the GUI + /// + /// + /// ------------------------------------------------------------------------ + /// @python_v17 Default level changed from `LOGNOTICE` to `LOGDEBUG` + /// @python_v19 Removed `LOGNOTICE` (use `LOGINFO`) and `LOGSEVERE` (use `LOGFATAL`) + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.log(msg='This is a test string.', level=xbmc.LOGDEBUG); + /// .. + /// ~~~~~~~~~~~~~ + /// + log(...); +#else + void log(const char* msg, int level = lLOGDEBUG); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.shutdown() } + /// Shutdown the htpc. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.shutdown() + /// .. + /// ~~~~~~~~~~~~~ + /// + shutdown(); +#else + void shutdown(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.restart() } + /// Restart the htpc. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.restart() + /// .. + /// ~~~~~~~~~~~~~ + /// + restart(); +#else + void restart(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.executescript(script) } + /// Execute a python script. + /// + /// @param script string - script filename to execute. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.executescript('special://home/scripts/update.py') + /// .. + /// ~~~~~~~~~~~~~ + /// + executescript(...); +#else + void executescript(const char* script); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.executebuiltin(function) } + /// Execute a built in Kodi function. + /// + /// @param function string - builtin function to execute. + /// @param wait [opt] bool - If Kodi should wait for the + /// builtin function execution to finish + /// (default False) + /// + /// + /// \ref page_List_of_built_in_functions "List of builtin functions" + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.executebuiltin('Skin.SetString(abc,def)') + /// .. + /// ~~~~~~~~~~~~~ + /// + executebuiltin(...); +#else + void executebuiltin(const char* function, bool wait = false); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.executeJSONRPC(jsonrpccommand) } + /// Execute an JSONRPC command. + /// + /// @param jsonrpccommand string - jsonrpc command to execute. + /// @return jsonrpc return string + /// + /// + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// response = xbmc.executeJSONRPC('{ "jsonrpc": "2.0", "method": "JSONRPC.Introspect", "id": 1 }') + /// .. + /// ~~~~~~~~~~~~~ + /// + executeJSONRPC(...); +#else + String executeJSONRPC(const char* jsonrpccommand); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.sleep(time) } + /// Sleeps for 'time' (msec). + /// \anchor xbmc_Sleep + /// + /// @param time integer - number of msec to sleep. + /// + /// @throws PyExc_TypeError If time is not an integer. + /// + /// @warning This is useful if you need to sleep for a small amount of time + /// (milisecond range) somewhere in your addon logic. Please note that Kodi + /// will attempt to stop any running scripts when signaled to exit and wait for a maximum + /// of 5 seconds before trying to force stop your script. If your addon makes use + /// of \ref xbmc_Sleep "xbmc.sleep()" incorrectly (long periods of time, e.g. that exceed + /// the force stop waiting time) it may lead to Kodi hanging on shutdown. + /// In case your addon needs long sleep/idle periods use + /// \ref xbmc_Monitor_waitForAbort "xbmc.Monitor().waitForAbort(secs)" + /// instead. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.sleep(2000) # sleeps for 2 seconds + /// .. + /// ~~~~~~~~~~~~~ + /// + sleep(...); +#else + void sleep(long timemillis); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getLocalizedString(id) } + /// Get a localized 'unicode string'. + /// + /// @param id integer - id# for string you want to + /// localize. + /// @return Localized 'unicode string' + /// + /// @note See strings.po in `\language\{yourlanguage}\` for which id + /// you need for a string. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// locstr = xbmc.getLocalizedString(6) + /// .. + /// ~~~~~~~~~~~~~ + /// + getLocalizedString(...); +#else + String getLocalizedString(int id); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getSkinDir() } + /// Get the active skin directory. + /// + /// @return The active skin directory as a string + /// + /// + /// @note This is not the full path like 'special://home/addons/MediaCenter', + /// but only 'MediaCenter'. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// skindir = xbmc.getSkinDir() + /// .. + /// ~~~~~~~~~~~~~ + /// + getSkinDir(); +#else + String getSkinDir(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getLanguage([format], [region]) } + /// Get the active language. + /// + /// @param format [opt] format of the returned language + /// string + /// | Value | Description + /// |------------------:|:-------------------------------------------------| + /// | xbmc.ISO_639_1 | Two letter code as defined in ISO 639-1 + /// | xbmc.ISO_639_2 | Three letter code as defined in ISO 639-2/T or ISO 639-2/B + /// | xbmc.ENGLISH_NAME | Full language name in English (default) + /// @param region [opt] append the region delimited by "-" + /// of the language (setting) to the + /// returned language string + /// @return The active language as a string + /// + /// + /// ------------------------------------------------------------------------ + /// @python_v13 Added new options **format** and **region**. + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// language = xbmc.getLanguage(xbmc.ENGLISH_NAME) + /// .. + /// ~~~~~~~~~~~~~ + /// + getLanguage(...); +#else + String getLanguage(int format = CLangCodeExpander::ENGLISH_NAME, bool region = false); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getIPAddress() } + /// Get the current ip address. + /// + /// @return The current ip address as a string + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// ip = xbmc.getIPAddress() + /// .. + /// ~~~~~~~~~~~~~ + /// + getIPAddress(); +#else + String getIPAddress(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getDVDState() } + /// Returns the dvd state as an integer. + /// + /// @return Values for state are: + /// | Value | Name | + /// |------:|:-------------------------------| + /// | 1 | xbmc.DRIVE_NOT_READY + /// | 16 | xbmc.TRAY_OPEN + /// | 64 | xbmc.TRAY_CLOSED_NO_MEDIA + /// | 96 | xbmc.TRAY_CLOSED_MEDIA_PRESENT + /// + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// dvdstate = xbmc.getDVDState() + /// .. + /// ~~~~~~~~~~~~~ + /// + getDVDState(); +#else + long getDVDState(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getFreeMem() } + /// Get amount of free memory in MB. + /// + /// @return The amount of free memory in MB as an integer + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// freemem = xbmc.getFreeMem() + /// .. + /// ~~~~~~~~~~~~~ + /// + getFreeMem(); +#else + long getFreeMem(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getInfoLabel(infotag) } + /// Get a info label + /// + /// @param infotag string - infoTag for value you want + /// returned. + /// @return InfoLabel as a string + /// + /// \ref modules__infolabels_boolean_conditions "List of InfoTags" + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// label = xbmc.getInfoLabel('Weather.Conditions') + /// .. + /// ~~~~~~~~~~~~~ + /// + getInfoLabel(...); +#else + String getInfoLabel(const char* cLine); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getInfoImage(infotag) } + /// Get filename including path to the InfoImage's thumbnail. + /// + /// @param infotag string - infotag for value you want + /// returned + /// @return Filename including path to the + /// InfoImage's thumbnail as a string + /// + /// + /// List of InfoTags - http://kodi.wiki/view/InfoLabels + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// filename = xbmc.getInfoImage('Weather.Conditions') + /// .. + /// ~~~~~~~~~~~~~ + /// + getInfoImage(...); +#else + String getInfoImage(const char * infotag); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.playSFX(filename,[useCached]) } + /// Plays a wav file by filename + /// + /// @param filename string - filename of the wav file to + /// play + /// @param useCached [opt] bool - False = Dump any + /// previously cached wav associated with + /// filename + /// + /// + /// ------------------------------------------------------------------------ + /// @python_v14 Added new option **useCached**. + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.playSFX('special://xbmc/scripts/dingdong.wav') + /// xbmc.playSFX('special://xbmc/scripts/dingdong.wav',False) + /// .. + /// ~~~~~~~~~~~~~ + /// + playSFX(...); +#else + void playSFX(const char* filename, bool useCached = true); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.stopSFX() } + /// Stops wav file + /// + /// + /// ------------------------------------------------------------------------ + /// @python_v14 New function added. + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.stopSFX() + /// .. + /// ~~~~~~~~~~~~~ + /// + stopSFX(); +#else + void stopSFX(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.enableNavSounds(yesNo) } + /// Enables/Disables nav sounds + /// + /// @param yesNo bool - enable (True) or disable + /// (False) nav sounds + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.enableNavSounds(True) + /// .. + /// ~~~~~~~~~~~~~ + /// + enableNavSounds(...); +#else + void enableNavSounds(bool yesNo); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getCondVisibility(condition) } + /// Get visibility conditions + /// + /// @param condition string - condition to check + /// @return True (if the condition is verified) or False (otherwise) + /// + /// \ref modules__infolabels_boolean_conditions "List of boolean conditions" + /// + /// @note You can combine two (or more) of the above settings by using <b>"+"</b> as an AND operator, + /// <b>"|"</b> as an OR operator, <b>"!"</b> as a NOT operator, and <b>"["</b> and <b>"]"</b> to bracket expressions. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// visible = xbmc.getCondVisibility('[Control.IsVisible(41) + !Control.IsVisible(12)]') + /// .. + /// ~~~~~~~~~~~~~ + /// + getCondVisibility(...); +#else + bool getCondVisibility(const char *condition); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getGlobalIdleTime() } + /// Get the elapsed idle time in seconds. + /// + /// @return Elapsed idle time in seconds as an integer + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// t = xbmc.getGlobalIdleTime() + /// .. + /// ~~~~~~~~~~~~~ + /// + getGlobalIdleTime(); +#else + int getGlobalIdleTime(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getCacheThumbName(path) } + /// Get thumb cache filename. + /// + /// @param path string - path to file + /// @return Thumb cache filename + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// thumb = xbmc.getCacheThumbName('f:\\videos\\movie.avi') + /// .. + /// ~~~~~~~~~~~~~ + /// + getCacheThumbName(...); +#else + String getCacheThumbName(const String& path); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getCleanMovieTitle(path[, usefoldername]) } + /// Get clean movie title and year string if available. + /// + /// @param path string - String to clean + /// @param usefoldername [opt] bool - use folder names (defaults + /// to false) + /// @return Clean movie title and year string if + /// available. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// title, year = xbmc.getCleanMovieTitle('/path/to/moviefolder/test.avi', True) + /// .. + /// ~~~~~~~~~~~~~ + /// + getCleanMovieTitle(...); +#else + Tuple<String,String> getCleanMovieTitle(const String& path, bool usefoldername = false); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getRegion(id) } + /// Returns your regions setting as a string for the specified id. + /// + /// @param id string - id of setting to return + /// @return Region setting + /// + /// @note choices are (dateshort, datelong, time, meridiem, tempunit, speedunit) + /// You can use the above as keywords for arguments. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// date_long_format = xbmc.getRegion('datelong') + /// .. + /// ~~~~~~~~~~~~~ + /// + getRegion(...); +#else + String getRegion(const char* id); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getSupportedMedia(media) } + /// Get the supported file types for the specific media. + /// + /// @param media string - media type + /// @return Supported file types for the specific + /// media as a string + /// + /// + /// @note Media type can be (video, music, picture). + /// The return value is a pipe separated string of filetypes + /// (eg. '.mov |.avi').\n + /// You can use the above as keywords for arguments. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// mTypes = xbmc.getSupportedMedia('video') + /// .. + /// ~~~~~~~~~~~~~ + /// + getSupportedMedia(...); +#else + String getSupportedMedia(const char* mediaType); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.skinHasImage(image) } + /// Check skin for presence of Image. + /// + /// @param image string - image filename + /// @return True if the image file exists in the skin + /// + /// + /// @note If the media resides in a subfolder include it. (eg. home-myfiles\\home-myfiles2.png). + /// You can use the above as keywords for arguments. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// exists = xbmc.skinHasImage('ButtonFocusedTexture.png') + /// .. + /// ~~~~~~~~~~~~~ + /// + skinHasImage(...); +#else + bool skinHasImage(const char* image); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// \ingroup python_xbmc + /// + /// @brief \python_func{ xbmc.startServer(typ, bStart, bWait) } + /// Start or stop a server. + /// + /// @param typ integer - use SERVER_* constants + /// - Used format of the returned language string + /// | Value | Description | + /// |--------------------------:|------------------------------------------------------------| + /// | xbmc.SERVER_WEBSERVER | [To control Kodi's builtin webserver](http://kodi.wiki/view/Webserver) + /// | xbmc.SERVER_AIRPLAYSERVER | [AirPlay is a proprietary protocol stack/suite developed by Apple Inc.](http://kodi.wiki/view/AirPlay) + /// | xbmc.SERVER_JSONRPCSERVER | [Control JSON-RPC HTTP/TCP socket-based interface](http://kodi.wiki/view/JSON-RPC_API) + /// | xbmc.SERVER_UPNPRENDERER | [UPnP client (aka UPnP renderer)](http://kodi.wiki/view/UPnP/Client) + /// | xbmc.SERVER_UPNPSERVER | [Control built-in UPnP A/V media server (UPnP-server)](http://kodi.wiki/view/UPnP/Server) + /// | xbmc.SERVER_EVENTSERVER | [Set eventServer part that accepts remote device input on all platforms](http://kodi.wiki/view/EventServer) + /// | xbmc.SERVER_ZEROCONF | [Control Kodi's Avahi Zeroconf](http://kodi.wiki/view/Zeroconf) + /// @param bStart bool - start (True) or stop (False) a server + /// @return bool - True or False + /// + /// + /// ------------------------------------------------------------------------ + /// @python_v20 Removed option **bWait**. + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.startServer(xbmc.SERVER_AIRPLAYSERVER, False) + /// .. + /// ~~~~~~~~~~~~~ + /// + startServer(...); +#else + bool startServer(int iTyp, bool bStart); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.audioSuspend() } + /// Suspend Audio engine. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.audioSuspend() + /// .. + /// ~~~~~~~~~~~~~ + /// + audioSuspend(); +#else + void audioSuspend(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.audioResume() } + /// Resume Audio engine. + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.audioResume() + /// .. + /// ~~~~~~~~~~~~~ + /// + audioResume(); +#else + void audioResume(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.getUserAgent() } + /// @brief Returns Kodi's HTTP UserAgent string + /// + /// @return HTTP user agent + /// + /// + /// ------------------------------------------------------------------------ + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// xbmc.getUserAgent() + /// .. + /// ~~~~~~~~~~~~~ + /// + /// example output: + /// Kodi/17.0-ALPHA1 (X11; Linux x86_64) Ubuntu/15.10 App_Bitness/64 Version/17.0-ALPHA1-Git:2015-12-23-5770d28 + /// + getUserAgent(); +#else + String getUserAgent(); +#endif + +#ifdef DOXYGEN_SHOULD_USE_THIS + /// + /// \ingroup python_xbmc + /// @brief \python_func{ xbmc.convertLanguage(language, format) } + /// @brief Returns the given language converted to the given format as a + /// string. + /// + /// @param language string either as name in English, two + /// letter code (ISO 639-1), or three + /// letter code (ISO 639-2/T(B) + /// @param format format of the returned language string + /// | Value | Description + /// |------------------:|:-------------------------------------------------| + /// | xbmc.ISO_639_1 | Two letter code as defined in ISO 639-1 + /// | xbmc.ISO_639_2 | Three letter code as defined in ISO 639-2/T or ISO 639-2/B + /// | xbmc.ENGLISH_NAME | Full language name in English (default) + /// @return Converted Language string + /// + /// + /// ------------------------------------------------------------------------ + /// @python_v13 New function added. + /// + /// **Example:** + /// ~~~~~~~~~~~~~{.py} + /// .. + /// language = xbmc.convertLanguage(English, xbmc.ISO_639_2) + /// .. + /// ~~~~~~~~~~~~~ + /// + convertLanguage(...); +#else + String convertLanguage(const char* language, int format); +#endif + //@} +#ifndef DOXYGEN_SHOULD_SKIP_THIS + SWIG_CONSTANT_FROM_GETTER(int, SERVER_WEBSERVER); + SWIG_CONSTANT_FROM_GETTER(int, SERVER_AIRPLAYSERVER); + SWIG_CONSTANT_FROM_GETTER(int, SERVER_UPNPSERVER); + SWIG_CONSTANT_FROM_GETTER(int, SERVER_UPNPRENDERER); + SWIG_CONSTANT_FROM_GETTER(int, SERVER_EVENTSERVER); + SWIG_CONSTANT_FROM_GETTER(int, SERVER_JSONRPCSERVER); + SWIG_CONSTANT_FROM_GETTER(int, SERVER_ZEROCONF); + + SWIG_CONSTANT_FROM_GETTER(int, PLAYLIST_MUSIC); + SWIG_CONSTANT_FROM_GETTER(int, PLAYLIST_VIDEO); + SWIG_CONSTANT_FROM_GETTER(int, TRAY_OPEN); + SWIG_CONSTANT_FROM_GETTER(int, DRIVE_NOT_READY); + SWIG_CONSTANT_FROM_GETTER(int, TRAY_CLOSED_NO_MEDIA); + SWIG_CONSTANT_FROM_GETTER(int, TRAY_CLOSED_MEDIA_PRESENT); + SWIG_CONSTANT_FROM_GETTER(int, LOGDEBUG); + SWIG_CONSTANT_FROM_GETTER(int, LOGINFO); + SWIG_CONSTANT_FROM_GETTER(int, LOGWARNING); + SWIG_CONSTANT_FROM_GETTER(int, LOGERROR); + SWIG_CONSTANT_FROM_GETTER(int, LOGFATAL); + SWIG_CONSTANT_FROM_GETTER(int, LOGNONE); + + SWIG_CONSTANT_FROM_GETTER(int, ISO_639_1); + SWIG_CONSTANT_FROM_GETTER(int, ISO_639_2); + SWIG_CONSTANT_FROM_GETTER(int, ENGLISH_NAME); +#if 0 + void registerMonitor(Monitor* monitor); + void unregisterMonitor(Monitor* monitor); +#endif + } +} +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ |