From be933ef2241d79558f91796cc5b3a161f72ebf9c Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 19 Oct 2020 00:52:24 +0200 Subject: sync with upstream --- .../include/kodi/c-api/addon_base.h | 252 --------------------- 1 file changed, 252 deletions(-) delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon_base.h (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon_base.h') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon_base.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon_base.h deleted file mode 100644 index 1924d77..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon_base.h +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright (C) 2005-2019 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 "stdbool.h" -#include "stdint.h" - -#ifndef TARGET_WINDOWS -#ifndef __cdecl -#define __cdecl -#endif -#ifndef __declspec -#define __declspec(X) -#endif -#endif - -#undef ATTRIBUTE_PACKED -#undef PRAGMA_PACK_BEGIN -#undef PRAGMA_PACK_END - -#if defined(__GNUC__) -#define ATTRIBUTE_PACKED __attribute__((packed)) -#define PRAGMA_PACK 0 -#define ATTRIBUTE_HIDDEN __attribute__((visibility("hidden"))) -#endif - -#if !defined(ATTRIBUTE_PACKED) -#define ATTRIBUTE_PACKED -#define PRAGMA_PACK 1 -#endif - -#if !defined(ATTRIBUTE_HIDDEN) -#define ATTRIBUTE_HIDDEN -#endif - -#ifdef _MSC_VER -#define ATTRIBUTE_FORCEINLINE __forceinline -#elif defined(__GNUC__) -#define ATTRIBUTE_FORCEINLINE inline __attribute__((__always_inline__)) -#elif defined(__CLANG__) -#if __has_attribute(__always_inline__) -#define ATTRIBUTE_FORCEINLINE inline __attribute__((__always_inline__)) -#else -#define ATTRIBUTE_FORCEINLINE inline -#endif -#else -#define ATTRIBUTE_FORCEINLINE inline -#endif - -/* - * To have a on add-on and kodi itself handled string always on known size! - */ -#define ADDON_STANDARD_STRING_LENGTH 1024 -#define ADDON_STANDARD_STRING_LENGTH_SMALL 256 - -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @ingroup cpp_kodi_addon_addonbase - /// @brief Return value of functions in @ref cpp_kodi_addon_addonbase "kodi::addon::CAddonBase" - /// and associated classes. - /// - ///@{ - typedef enum ADDON_STATUS - { - /// @brief For everything OK and no error - ADDON_STATUS_OK, - - /// @brief A needed connection was lost - ADDON_STATUS_LOST_CONNECTION, - - /// @brief Addon needs a restart inside Kodi - ADDON_STATUS_NEED_RESTART, - - /// @brief Necessary settings are not yet set - ADDON_STATUS_NEED_SETTINGS, - - /// @brief Unknown and incomprehensible error - ADDON_STATUS_UNKNOWN, - - /// @brief Permanent failure, like failing to resolve methods - ADDON_STATUS_PERMANENT_FAILURE, - - /* internal used return error if function becomes not used from child on - * addon */ - ADDON_STATUS_NOT_IMPLEMENTED - } ADDON_STATUS; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_Defs_AddonLog enum AddonLog - /// @ingroup cpp_kodi_Defs - /// @brief **Log file type definitions**\n - /// These define the types of log entries given with @ref kodi::Log() to Kodi. - /// - /// ------------------------------------------------------------------------- - /// - /// **Example:** - /// ~~~~~~~~~~~~~{.cpp} - /// #include - /// - /// kodi::Log(ADDON_LOG_ERROR, "%s: There is an error occurred!", __func__); - /// - /// ~~~~~~~~~~~~~ - /// - ///@{ - typedef enum AddonLog - { - /// @brief **0** : To include debug information in the log file. - ADDON_LOG_DEBUG = 0, - - /// @brief **1** : To include information messages in the log file. - ADDON_LOG_INFO = 1, - - /// @brief **2** : To write warnings in the log file. - ADDON_LOG_WARNING = 2, - - /// @brief **3** : To report error messages in the log file. - ADDON_LOG_ERROR = 3, - - /// @brief **4** : To notify fatal unrecoverable errors, which can may also indicate - /// upcoming crashes. - ADDON_LOG_FATAL = 4 - } AddonLog; - ///@} - //---------------------------------------------------------------------------- - - /*! @brief Standard undefined pointer handle */ - typedef void* KODI_HANDLE; - - /*! - * @brief Handle used to return data from the PVR add-on to CPVRClient - */ - struct ADDON_HANDLE_STRUCT - { - void* callerAddress; /*!< address of the caller */ - void* dataAddress; /*!< address to store data in */ - int dataIdentifier; /*!< parameter to pass back when calling the callback */ - }; - typedef struct ADDON_HANDLE_STRUCT* ADDON_HANDLE; - - /*! - * @brief Callback function tables from addon to Kodi - * Set complete from Kodi! - */ - struct AddonToKodiFuncTable_kodi; - struct AddonToKodiFuncTable_kodi_audioengine; - struct AddonToKodiFuncTable_kodi_filesystem; - struct AddonToKodiFuncTable_kodi_network; - struct AddonToKodiFuncTable_kodi_gui; - typedef struct AddonToKodiFuncTable_Addon - { - // Pointer inside Kodi, used on callback functions to give related handle - // class, for this ADDON::CAddonDll inside Kodi. - KODI_HANDLE kodiBase; - - // Function addresses used for callbacks from addon to Kodi - char* (*get_type_version)(void* kodiBase, int type); - - void (*free_string)(void* kodiBase, char* str); - void (*free_string_array)(void* kodiBase, char** arr, int numElements); - 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_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); - - void* (*get_interface)(void* kodiBase, const char* name, const char* version); - - struct AddonToKodiFuncTable_kodi* kodi; - struct AddonToKodiFuncTable_kodi_audioengine* kodi_audioengine; - struct AddonToKodiFuncTable_kodi_filesystem* kodi_filesystem; - struct AddonToKodiFuncTable_kodi_gui* kodi_gui; - struct AddonToKodiFuncTable_kodi_network* kodi_network; - - // Move up by min version change about - bool (*is_setting_using_default)(void* kodiBase, const char* id); - } AddonToKodiFuncTable_Addon; - - /*! - * @brief Function tables from Kodi to addon - */ - typedef struct KodiToAddonFuncTable_Addon - { - void (*destroy)(); - ADDON_STATUS (*get_status)(); - ADDON_STATUS(*create_instance) - (int instanceType, - const char* instanceID, - KODI_HANDLE instance, - const char* version, - KODI_HANDLE* addonInstance, - KODI_HANDLE parent); - void (*destroy_instance)(int instanceType, KODI_HANDLE instance); - ADDON_STATUS (*set_setting)(const char* settingName, const void* settingValue); - } KodiToAddonFuncTable_Addon; - - /*! - * @brief Main structure passed from kodi to addon with basic information needed to - * create add-on. - */ - typedef struct AddonGlobalInterface - { - // String with full path where add-on is installed (without his name on end) - // Set from Kodi! - const char* libBasePath; - - // Master API version of Kodi itself (ADDON_GLOBAL_VERSION_MAIN) - const char* kodi_base_api_version; - - // Pointer of first created instance, used in case this add-on goes with single way - // Set from Kodi! - KODI_HANDLE firstKodiInstance; - - // Pointer to master base class inside add-on - // Set from addon header (kodi::addon::CAddonBase)! - KODI_HANDLE addonBase; - - // Pointer to a instance used on single way (together with this class) - // Set from addon header (kodi::addon::IAddonInstance)! - KODI_HANDLE globalSingleInstance; - - // Callback function tables from addon to Kodi - // Set from Kodi! - AddonToKodiFuncTable_Addon* toKodi; - - // Function tables from Kodi to addon - // Set from addon header! - KodiToAddonFuncTable_Addon* toAddon; - } AddonGlobalInterface; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -- cgit v1.2.3