Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
ADDON Namespace Reference

Namespaces

namespace  AddonEvents
 

Classes

struct  AddonEvent
 
struct  AddonIdFinder
 
class  AddonVersion
 
class  CAddon
 
class  CAddonBuilder
 
class  CAddonDll
 
class  CAddonInfo
 
class  CAddonInterfaces
 
class  CAddonMgr
 
class  CAddonSettings
 
class  CAddonStatusHandler
 
class  CAddonSystemSettings
 
class  CAudioDecoder
 
class  CAudioEncoder
 
class  CBinaryAddonBase
 
class  CBinaryAddonCache
 
class  CBinaryAddonExtensions
 
class  CBinaryAddonManager
 
class  CBinaryAddonType
 
class  CContextMenuAddon
 
class  CFontResource
 
class  CGameResource
 
class  CGUIAddonRenderingControl
 
class  CGUIAddonWindow
 
class  CGUIAddonWindowDialog
 
class  CHelper_libXBMC_addon
 
class  CImageDecoder
 
class  CImageResource
 A collection of images. The collection can have a type. More...
 
class  CLanguageResource
 
struct  closestRes
 
struct  ContentMapping
 
class  CPluginSource
 
class  CRepository
 
class  CRepositoryUpdateJob
 
class  CRepositoryUpdater
 
class  CResource
 
class  CScraper
 
class  CScraperError
 
class  CScreenSaver
 
class  CService
 
class  CServiceAddonManager
 
class  CSettingUrlEncodedString
 
class  CSkinInfo
 
class  CSkinSetting
 
class  CSkinSettingBool
 
class  CSkinSettingString
 
class  CSkinSettingUpdateHandler
 
class  CUISoundsResource
 
class  CVFSAddonCache
 
class  CVFSEntry
 A virtual filesystem entry add-on. More...
 
class  CVFSEntryIDirectoryWrapper
 Wrapper equpping a CVFSEntry with an IDirectory interface. More...
 
class  CVFSEntryIFileDirectoryWrapper
 Wrapper equpping a CVFSEntry with an IFileDirectory interface. More...
 
class  CVFSEntryIFileWrapper
 Wrapper equipping a CVFSEntry with an IFile interface. More...
 
class  CVFSURLWrapper
 
class  CVisualization
 
class  CWebinterface
 
struct  DependencyInfo
 
class  IAddon
 
class  IAddonInstanceHandler
 
class  IAddonMgrCallback
 
class  IAddonProvider
 
struct  Interface_Android
 
struct  Interface_Filesystem
 
struct  Interface_General
 Global general Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlAddonRendering
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlButton
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlEdit
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlFadeLabel
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlImage
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlLabel
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlProgress
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlRadioButton
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlSettingsSlider
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlSlider
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlSpin
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIControlTextBox
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogContextMenu
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogExtendedProgress
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogFileBrowser
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogKeyboard
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogNumeric
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogOK
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogProgress
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogSelect
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogTextViewer
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIDialogYesNo
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIGeneral
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIListItem
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_GUIWindow
 Global gui Add-on to Kodi callback functions. More...
 
struct  Interface_Network
 Global general Add-on to Kodi callback functions. More...
 
struct  SExtValue
 
struct  TypeMapping
 

Typedefs

typedef std::vector< AddonPtrVECADDONS
 
typedef std::vector< AddonPtr >::iterator IVECADDONS
 
typedef std::map< std::string, std::string > InfoMap
 
typedef std::map< std::string, std::string > ArtMap
 
typedef std::map< TYPE, VECADDONSMAPADDONS
 
typedef std::map< TYPE, VECADDONS >::iterator IMAPADDONS
 
typedef std::vector< cp_cfg_element_t * > ELEMENTS
 
typedef std::pair< bool, CAddonInfoBINARY_ADDON_LIST_ENTRY
 The value binaryAddonList use a tuple in following construct: More...
 
typedef std::vector< BINARY_ADDON_LIST_ENTRYBINARY_ADDON_LIST
 
typedef std::shared_ptr< CBinaryAddonBaseBinaryAddonBasePtr
 
typedef void *(* ADDON_GET_INTERFACE_FN) (const std::string &name, const std::string &version)
 
typedef std::shared_ptr< CAddonDllAddonDllPtr
 
typedef std::vector< std::pair< std::string, CBinaryAddonExtensions > > EXT_ELEMENTS
 
typedef std::vector< std::pair< std::string, SExtValue > > EXT_VALUE
 
typedef std::vector< std::pair< std::string, EXT_VALUE > > EXT_VALUES
 
typedef std::vector< BinaryAddonBasePtrBinaryAddonBaseList
 
typedef std::shared_ptr< IAddonAddonPtr
 
typedef std::shared_ptr< CInstanceVisualization > VizPtr
 
typedef std::shared_ptr< CSkinInfoSkinPtr
 
typedef std::shared_ptr< CPluginSourcePluginPtr
 
typedef enum ADDON::addon_log addon_log_t
 
typedef enum ADDON::queue_msg queue_msg_t
 
typedef std::map< std::string, std::vector< std::string > > ContentPathMap
 
typedef std::shared_ptr< CRepositoryRepositoryPtr
 
typedef std::shared_ptr< CScraperScraperPtr
 
typedef std::shared_ptr< CSkinSettingCSkinSettingPtr
 
typedef std::shared_ptr< CSkinSettingStringCSkinSettingStringPtr
 
typedef std::shared_ptr< CSkinSettingBoolCSkinSettingBoolPtr
 
typedef std::shared_ptr< CVFSEntryVFSEntryPtr
 
typedef enum ADDON::WebinterfaceType WebinterfaceType
 

Enumerations

enum  TYPE {
  ADDON_UNKNOWN , ADDON_VIZ , ADDON_SKIN , ADDON_PVRDLL ,
  ADDON_INPUTSTREAM , ADDON_GAMEDLL , ADDON_PERIPHERALDLL , ADDON_SCRIPT ,
  ADDON_SCRIPT_WEATHER , ADDON_SUBTITLE_MODULE , ADDON_SCRIPT_LYRICS , ADDON_SCRAPER_ALBUMS ,
  ADDON_SCRAPER_ARTISTS , ADDON_SCRAPER_MOVIES , ADDON_SCRAPER_MUSICVIDEOS , ADDON_SCRAPER_TVSHOWS ,
  ADDON_SCREENSAVER , ADDON_PLUGIN , ADDON_REPOSITORY , ADDON_WEB_INTERFACE ,
  ADDON_SERVICE , ADDON_AUDIOENCODER , ADDON_CONTEXT_ITEM , ADDON_AUDIODECODER ,
  ADDON_RESOURCE_IMAGES , ADDON_RESOURCE_LANGUAGE , ADDON_RESOURCE_UISOUNDS , ADDON_RESOURCE_GAMES ,
  ADDON_RESOURCE_FONT , ADDON_VFS , ADDON_IMAGEDECODER , ADDON_SCRAPER_LIBRARY ,
  ADDON_SCRIPT_LIBRARY , ADDON_SCRIPT_MODULE , ADDON_GAME_CONTROLLER , ADDON_VIDEOCODEC ,
  ADDON_VIDEO , ADDON_AUDIO , ADDON_IMAGE , ADDON_EXECUTABLE ,
  ADDON_GAME , ADDON_MAX
}
 
enum  addon_log { LOG_DEBUG , LOG_INFO , LOG_NOTICE , LOG_ERROR }
 
enum  queue_msg { QUEUE_INFO , QUEUE_WARNING , QUEUE_ERROR }
 
enum  WebinterfaceType { WebinterfaceTypeStatic = 0 , WebinterfaceTypeWsgi }
 

Functions

template<class TSetting >
bool GetSettingValue (CAddon &addon, const std::string &key, typename TSetting::Value &value)
 
template<class TSetting >
bool UpdateSettingValue (CAddon &addon, const std::string &key, typename TSetting::Value value)
 
void OnPreInstall (const AddonPtr &addon)
 
void OnPostInstall (const AddonPtr &addon, bool update, bool modal)
 
void OnPreUnInstall (const AddonPtr &addon)
 
void OnPostUnInstall (const AddonPtr &addon)
 
void cp_fatalErrorHandler (const char *msg)
 
void cp_logger (cp_log_severity_t level, const char *msg, const char *apid, void *user_data)
 
int cp_to_clog (cp_log_severity_t lvl)
 
std::string TranslateContent (const CONTENT_TYPE &type, bool pretty)
 
CONTENT_TYPE TranslateContent (const std::string &string)
 
TYPE ScraperTypeFromContent (const CONTENT_TYPE &content)
 
template<>
CScraperUrl FromFileItem< CScraperUrl > (const CFileItem &item)
 
template<>
CMusicAlbumInfo FromFileItem< CMusicAlbumInfo > (const CFileItem &item)
 
template<>
CMusicArtistInfo FromFileItem< CMusicArtistInfo > (const CFileItem &item)
 
template<>
void DetailsFromFileItem< CAlbum > (const CFileItem &item, CAlbum &album)
 
template<>
void DetailsFromFileItem< CArtist > (const CFileItem &item, CArtist &artist)
 
template<>
void DetailsFromFileItem< CVideoInfoTag > (const CFileItem &item, CVideoInfoTag &tag)
 

Variables

const char *const ORIGIN_SYSTEM = "b6a50484-93a0-4afb-a01c-8d17e059feda"
 
const std::string ADDON_PYTHON_EXT = "*.py"
 
const int AUTO_UPDATES_ON = 0
 
const int AUTO_UPDATES_NOTIFY = 1
 
const int AUTO_UPDATES_NEVER = 2
 
const std::vector< TYPEADDONS_TO_CACHE = { ADDON_PVRDLL, ADDON_GAMEDLL }
 

Typedef Documentation

◆ ADDON_GET_INTERFACE_FN

typedef void *(* ADDON::ADDON_GET_INTERFACE_FN) (const std::string &name, const std::string &version)

◆ addon_log_t

◆ AddonDllPtr

typedef std::shared_ptr< CAddonDll > ADDON::AddonDllPtr

◆ AddonPtr

typedef std::shared_ptr< IAddon > ADDON::AddonPtr

◆ ArtMap

typedef std::map<std::string, std::string> ADDON::ArtMap

◆ BINARY_ADDON_LIST

◆ BINARY_ADDON_LIST_ENTRY

typedef std::pair<bool, CAddonInfo> ADDON::BINARY_ADDON_LIST_ENTRY

The value binaryAddonList use a tuple in following construct:

Number Type Description
first boolean If true addon is enabled, otherwise disabled
second CAddonInfo Information data of addon

◆ BinaryAddonBaseList

◆ BinaryAddonBasePtr

typedef std::shared_ptr< CBinaryAddonBase > ADDON::BinaryAddonBasePtr

◆ ContentPathMap

typedef std::map<std::string, std::vector<std::string> > ADDON::ContentPathMap

◆ CSkinSettingBoolPtr

typedef std::shared_ptr<CSkinSettingBool> ADDON::CSkinSettingBoolPtr

◆ CSkinSettingPtr

typedef std::shared_ptr<CSkinSetting> ADDON::CSkinSettingPtr

◆ CSkinSettingStringPtr

◆ ELEMENTS

typedef std::vector<cp_cfg_element_t*> ADDON::ELEMENTS

◆ EXT_ELEMENTS

typedef std::vector<std::pair<std::string, CBinaryAddonExtensions> > ADDON::EXT_ELEMENTS

◆ EXT_VALUE

typedef std::vector<std::pair<std::string, SExtValue> > ADDON::EXT_VALUE

◆ EXT_VALUES

typedef std::vector<std::pair<std::string, EXT_VALUE> > ADDON::EXT_VALUES

◆ IMAPADDONS

typedef std::map<TYPE,VECADDONS>::iterator ADDON::IMAPADDONS

◆ InfoMap

typedef std::map<std::string, std::string> ADDON::InfoMap

◆ IVECADDONS

typedef std::vector<AddonPtr>::iterator ADDON::IVECADDONS

◆ MAPADDONS

typedef std::map<TYPE, VECADDONS> ADDON::MAPADDONS

◆ PluginPtr

typedef std::shared_ptr<CPluginSource> ADDON::PluginPtr

◆ queue_msg_t

◆ RepositoryPtr

typedef std::shared_ptr<CRepository> ADDON::RepositoryPtr

◆ ScraperPtr

typedef std::shared_ptr<CScraper> ADDON::ScraperPtr

◆ SkinPtr

typedef std::shared_ptr<CSkinInfo> ADDON::SkinPtr

◆ VECADDONS

typedef std::vector<AddonPtr> ADDON::VECADDONS

◆ VFSEntryPtr

typedef std::shared_ptr<CVFSEntry> ADDON::VFSEntryPtr

◆ VizPtr

typedef std::shared_ptr<CInstanceVisualization> ADDON::VizPtr

◆ WebinterfaceType

Enumeration Type Documentation

◆ addon_log

Enumerator
LOG_DEBUG 
LOG_INFO 
LOG_NOTICE 
LOG_ERROR 

◆ queue_msg

Enumerator
QUEUE_INFO 
QUEUE_WARNING 
QUEUE_ERROR 

◆ TYPE

Enumerator
ADDON_UNKNOWN 
ADDON_VIZ 
ADDON_SKIN 
ADDON_PVRDLL 
ADDON_INPUTSTREAM 
ADDON_GAMEDLL 
ADDON_PERIPHERALDLL 
ADDON_SCRIPT 
ADDON_SCRIPT_WEATHER 
ADDON_SUBTITLE_MODULE 
ADDON_SCRIPT_LYRICS 
ADDON_SCRAPER_ALBUMS 
ADDON_SCRAPER_ARTISTS 
ADDON_SCRAPER_MOVIES 
ADDON_SCRAPER_MUSICVIDEOS 
ADDON_SCRAPER_TVSHOWS 
ADDON_SCREENSAVER 
ADDON_PLUGIN 
ADDON_REPOSITORY 
ADDON_WEB_INTERFACE 
ADDON_SERVICE 
ADDON_AUDIOENCODER 
ADDON_CONTEXT_ITEM 
ADDON_AUDIODECODER 
ADDON_RESOURCE_IMAGES 
ADDON_RESOURCE_LANGUAGE 
ADDON_RESOURCE_UISOUNDS 
ADDON_RESOURCE_GAMES 
ADDON_RESOURCE_FONT 
ADDON_VFS 
ADDON_IMAGEDECODER 
ADDON_SCRAPER_LIBRARY 
ADDON_SCRIPT_LIBRARY 
ADDON_SCRIPT_MODULE 
ADDON_GAME_CONTROLLER 
ADDON_VIDEOCODEC 
ADDON_VIDEO 

virtual addon types

ADDON_AUDIO 
ADDON_IMAGE 
ADDON_EXECUTABLE 
ADDON_GAME 
ADDON_MAX 

◆ WebinterfaceType

Enumerator
WebinterfaceTypeStatic 
WebinterfaceTypeWsgi 

Function Documentation

◆ cp_fatalErrorHandler()

void ADDON::cp_fatalErrorHandler ( const char *  msg)

◆ cp_logger()

void ADDON::cp_logger ( cp_log_severity_t  level,
const char *  msg,
const char *  apid,
void user_data 
)

◆ cp_to_clog()

int ADDON::cp_to_clog ( cp_log_severity_t  lvl)

◆ DetailsFromFileItem< CAlbum >()

template<>
void ADDON::DetailsFromFileItem< CAlbum > ( const CFileItem item,
CAlbum album 
)

◆ DetailsFromFileItem< CArtist >()

template<>
void ADDON::DetailsFromFileItem< CArtist > ( const CFileItem item,
CArtist artist 
)

◆ DetailsFromFileItem< CVideoInfoTag >()

template<>
void ADDON::DetailsFromFileItem< CVideoInfoTag > ( const CFileItem item,
CVideoInfoTag tag 
)

◆ FromFileItem< CMusicAlbumInfo >()

template<>
CMusicAlbumInfo ADDON::FromFileItem< CMusicAlbumInfo > ( const CFileItem item)

◆ FromFileItem< CMusicArtistInfo >()

template<>
CMusicArtistInfo ADDON::FromFileItem< CMusicArtistInfo > ( const CFileItem item)

◆ FromFileItem< CScraperUrl >()

template<>
CScraperUrl ADDON::FromFileItem< CScraperUrl > ( const CFileItem item)

◆ GetSettingValue()

template<class TSetting >
bool ADDON::GetSettingValue ( CAddon addon,
const std::string &  key,
typename TSetting::Value &  value 
)

◆ OnPostInstall()

void ADDON::OnPostInstall ( const AddonPtr addon,
bool  update,
bool  modal 
)

◆ OnPostUnInstall()

void ADDON::OnPostUnInstall ( const AddonPtr addon)

◆ OnPreInstall()

void ADDON::OnPreInstall ( const AddonPtr addon)
Bug:
If primary extension point have changed we're calling the wrong method.

◆ OnPreUnInstall()

void ADDON::OnPreUnInstall ( const AddonPtr addon)

◆ ScraperTypeFromContent()

TYPE ADDON::ScraperTypeFromContent ( const CONTENT_TYPE content)

◆ TranslateContent() [1/2]

std::string ADDON::TranslateContent ( const CONTENT_TYPE type,
bool  pretty 
)

◆ TranslateContent() [2/2]

CONTENT_TYPE ADDON::TranslateContent ( const std::string &  string)

◆ UpdateSettingValue()

template<class TSetting >
bool ADDON::UpdateSettingValue ( CAddon addon,
const std::string &  key,
typename TSetting::Value  value 
)

Variable Documentation

◆ ADDON_PYTHON_EXT

const std::string ADDON::ADDON_PYTHON_EXT = "*.py"

◆ ADDONS_TO_CACHE

const std::vector<TYPE> ADDON::ADDONS_TO_CACHE = { ADDON_PVRDLL, ADDON_GAMEDLL }

◆ AUTO_UPDATES_NEVER

const int ADDON::AUTO_UPDATES_NEVER = 2

◆ AUTO_UPDATES_NOTIFY

const int ADDON::AUTO_UPDATES_NOTIFY = 1

◆ AUTO_UPDATES_ON

const int ADDON::AUTO_UPDATES_ON = 0

◆ ORIGIN_SYSTEM

const char* const ADDON::ORIGIN_SYSTEM = "b6a50484-93a0-4afb-a01c-8d17e059feda"