From 4c3251ec645c8b71820dab7e51e612e5919d4e75 Mon Sep 17 00:00:00 2001 From: manuel Date: Sun, 23 Jul 2017 16:59:43 +0200 Subject: sync with upstream --- .../kodi-addon-dev-kit/include/kodi/AddonBase.h | 39 +++++++++++----------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h index fdf030b..07fd8ce 100644 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/AddonBase.h @@ -82,9 +82,6 @@ typedef enum ADDON_STATUS /// ADDON_STATUS_UNKNOWN, - /// - ADDON_STATUS_NEED_SAVEDSETTINGS, - /// permanent failure, like failing to resolve methods ADDON_STATUS_PERMANENT_FAILURE, @@ -159,8 +156,16 @@ typedef struct AddonToKodiFuncTable_Addon char* (*get_addon_path)(void* kodiBase); char* (*get_base_user_path)(void* kodiBase); void (*addon_log_msg)(void* kodiBase, const int loglevel, const char *msg); - bool (*get_setting)(void* kodiBase, const char* settingName, void *settingValue); - bool (*set_setting)(void* kodiBase, const char* settingName, const char* settingValue); + + bool (*get_setting_bool)(void* kodiBase, const char* id, bool* value); + bool (*get_setting_int)(void* kodiBase, const char* id, int* value); + bool (*get_setting_float)(void* kodiBase, const char* id, float* value); + bool (*get_setting_string)(void* kodiBase, const char* id, char** value); + + bool (*set_setting_bool)(void* kodiBase, const char* id, bool value); + bool (*set_setting_int)(void* kodiBase, const char* id, int value); + bool (*set_setting_float)(void* kodiBase, const char* id, float value); + bool (*set_setting_string)(void* kodiBase, const char* id, const char* value); AddonToKodiFuncTable_kodi* kodi; AddonToKodiFuncTable_kodi_audioengine* kodi_audioengine; @@ -432,8 +437,8 @@ namespace kodi { /// inline bool CheckSettingString(const std::string& settingName, std::string& settingValue) { - char * buffer = nullptr; - bool ret = ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &buffer); + char* buffer = nullptr; + bool ret = ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting_string(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &buffer); if (buffer) { if (ret) @@ -462,7 +467,7 @@ namespace kodi { /// inline void SetSettingString(const std::string& settingName, const std::string& settingValue) { - ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue.c_str()); + ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting_string(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue.c_str()); } } /* namespace kodi */ //---------------------------------------------------------------------------- @@ -472,7 +477,7 @@ namespace kodi { /// inline bool CheckSettingInt(const std::string& settingName, int& settingValue) { - return ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue); + return ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting_int(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue); } } /* namespace kodi */ //---------------------------------------------------------------------------- @@ -494,9 +499,7 @@ namespace kodi { /// inline void SetSettingInt(const std::string& settingName, int settingValue) { - char buffer[33]; - snprintf(buffer, sizeof(buffer), "%i", settingValue); - ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), buffer); + ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting_int(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue); } } /* namespace kodi */ //---------------------------------------------------------------------------- @@ -506,7 +509,7 @@ namespace kodi { /// inline bool CheckSettingBoolean(const std::string& settingName, bool& settingValue) { - return ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue); + return ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting_bool(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue); } } /* namespace kodi */ //---------------------------------------------------------------------------- @@ -528,7 +531,7 @@ namespace kodi { /// inline void SetSettingBoolean(const std::string& settingName, bool settingValue) { - ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue ? "true" : "false"); + ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting_bool(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue); } } /* namespace kodi */ //---------------------------------------------------------------------------- @@ -538,7 +541,7 @@ namespace kodi { /// inline bool CheckSettingFloat(const std::string& settingName, float& settingValue) { - return ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue); + return ::kodi::addon::CAddonBase::m_interface->toKodi->get_setting_float(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), &settingValue); } } /* namespace kodi */ //---------------------------------------------------------------------------- @@ -560,9 +563,7 @@ namespace kodi { /// inline void SetSettingFloat(const std::string& settingName, float settingValue) { - char buffer[50]; - snprintf(buffer, sizeof(buffer), "%f", settingValue); - ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), buffer); + ::kodi::addon::CAddonBase::m_interface->toKodi->set_setting_float(::kodi::addon::CAddonBase::m_interface->toKodi->kodiBase, settingName.c_str(), settingValue); } } /* namespace kodi */ //---------------------------------------------------------------------------- @@ -584,8 +585,6 @@ inline std::string TranslateAddonStatus(ADDON_STATUS status) return "Need Settings"; case ADDON_STATUS_UNKNOWN: return "Unknown error"; - case ADDON_STATUS_NEED_SAVEDSETTINGS: - return "Need saved settings"; case ADDON_STATUS_PERMANENT_FAILURE: return "Permanent failure"; case ADDON_STATUS_NOT_IMPLEMENTED: -- cgit v1.2.3