Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
AddonBase.h File Reference
#include <stdarg.h>
#include <cstdlib>
#include <cstring>
#include <stdexcept>
#include <string>
#include <vector>
#include "versions.h"

Classes

struct  ADDON_HANDLE_STRUCT
 Handle used to return data from the PVR add-on to CPVRClient. More...
 
struct  AddonToKodiFuncTable_Addon
 
struct  KodiToAddonFuncTable_Addon
 
struct  AddonGlobalInterface
 
class  kodi::addon::IAddonInstance
 
class  kodi::CSettingValue
 
class  kodi::addon::CAddonBase
 Add-on main instance class. More...
 

Namespaces

namespace  kodi
 
namespace  kodi::addon
 

Macros

#define __cdecl
 
#define __declspec(X)
 
#define ATTRIBUTE_PACKED
 
#define PRAGMA_PACK   1
 
#define ATTRIBUTE_HIDDEN
 
#define ATTRIBUTE_FORCEINLINE   inline
 
#define ADDON_STANDARD_STRING_LENGTH   1024
 
#define ADDON_STANDARD_STRING_LENGTH_SMALL   256
 
#define ADDONCREATOR(AddonClass)
 

Typedefs

typedef voidKODI_HANDLE
 Standard undefined pointer handle. More...
 
typedef enum ADDON_STATUS ADDON_STATUS
 
typedef enum AddonLog AddonLog
 
typedef ADDON_HANDLE_STRUCTADDON_HANDLE
 
typedef struct AddonToKodiFuncTable_Addon AddonToKodiFuncTable_Addon
 
typedef struct KodiToAddonFuncTable_Addon KodiToAddonFuncTable_Addon
 
typedef struct AddonGlobalInterface AddonGlobalInterface
 

Enumerations

enum  ADDON_STATUS {
  ADDON_STATUS_OK , ADDON_STATUS_LOST_CONNECTION , ADDON_STATUS_NEED_RESTART , ADDON_STATUS_NEED_SETTINGS ,
  ADDON_STATUS_UNKNOWN , ADDON_STATUS_PERMANENT_FAILURE , ADDON_STATUS_NOT_IMPLEMENTED
}
 
enum  AddonLog {
  ADDON_LOG_DEBUG = 0 , ADDON_LOG_INFO = 1 , ADDON_LOG_NOTICE = 2 , ADDON_LOG_WARNING = 3 ,
  ADDON_LOG_ERROR = 4 , ADDON_LOG_SEVERE = 5 , ADDON_LOG_FATAL = 6
}
 

Functions

std::string kodi::GetAddonPath (const std::string &append="")
 
std::string kodi::GetBaseUserPath (const std::string &append="")
 
std::string kodi::GetLibPath ()
 
void kodi::Log (const AddonLog loglevel, const char *format,...)
 
bool kodi::CheckSettingString (const std::string &settingName, std::string &settingValue)
 
std::string kodi::GetSettingString (const std::string &settingName)
 
void kodi::SetSettingString (const std::string &settingName, const std::string &settingValue)
 
bool kodi::CheckSettingInt (const std::string &settingName, int &settingValue)
 
int kodi::GetSettingInt (const std::string &settingName)
 
void kodi::SetSettingInt (const std::string &settingName, int settingValue)
 
bool kodi::CheckSettingBoolean (const std::string &settingName, bool &settingValue)
 
bool kodi::GetSettingBoolean (const std::string &settingName)
 
void kodi::SetSettingBoolean (const std::string &settingName, bool settingValue)
 
bool kodi::CheckSettingFloat (const std::string &settingName, float &settingValue)
 
float kodi::GetSettingFloat (const std::string &settingName)
 
void kodi::SetSettingFloat (const std::string &settingName, float settingValue)
 
std::string kodi::TranslateAddonStatus (ADDON_STATUS status)
 
voidkodi::GetInterface (const std::string &name, const std::string &version)
 Returns a function table to a named interface. More...
 

Macro Definition Documentation

◆ __cdecl

#define __cdecl

◆ __declspec

#define __declspec (   X)

◆ ADDON_STANDARD_STRING_LENGTH

#define ADDON_STANDARD_STRING_LENGTH   1024

◆ ADDON_STANDARD_STRING_LENGTH_SMALL

#define ADDON_STANDARD_STRING_LENGTH_SMALL   256

◆ ADDONCREATOR

#define ADDONCREATOR (   AddonClass)

addon creation macro

Todo:
cleanup this stupid big macro This macro includes now all for add-on's needed functions. This becomes a bigger rework after everything is done on Kodi itself, currently is this way needed to have compatibility with not reworked interfaces.

Becomes really cleaned up soon :D

◆ ATTRIBUTE_FORCEINLINE

#define ATTRIBUTE_FORCEINLINE   inline

◆ ATTRIBUTE_HIDDEN

#define ATTRIBUTE_HIDDEN

◆ ATTRIBUTE_PACKED

◆ PRAGMA_PACK

#define PRAGMA_PACK   1

Typedef Documentation

◆ ADDON_HANDLE

◆ ADDON_STATUS

typedef enum ADDON_STATUS ADDON_STATUS

◆ AddonGlobalInterface

◆ AddonLog

typedef enum AddonLog AddonLog
Todo:
remove start with ADDON_* after old way on libXBMC_addon.h is removed

◆ AddonToKodiFuncTable_Addon

◆ KODI_HANDLE

typedef void* KODI_HANDLE

Standard undefined pointer handle.

◆ KodiToAddonFuncTable_Addon

Enumeration Type Documentation

◆ ADDON_STATUS

Enumerator
ADDON_STATUS_OK 
ADDON_STATUS_LOST_CONNECTION 
ADDON_STATUS_NEED_RESTART 
ADDON_STATUS_NEED_SETTINGS 
ADDON_STATUS_UNKNOWN 
ADDON_STATUS_PERMANENT_FAILURE 

permanent failure, like failing to resolve methods

ADDON_STATUS_NOT_IMPLEMENTED 

◆ AddonLog

enum AddonLog
Todo:
remove start with ADDON_* after old way on libXBMC_addon.h is removed
Enumerator
ADDON_LOG_DEBUG 
ADDON_LOG_INFO 
ADDON_LOG_NOTICE 
ADDON_LOG_WARNING 
ADDON_LOG_ERROR 
ADDON_LOG_SEVERE 
ADDON_LOG_FATAL