diff options
Diffstat (limited to 'xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h')
| -rw-r--r-- | xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h | 43 |
1 files changed, 32 insertions, 11 deletions
diff --git a/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h index faa99fa..1153eca 100644 --- a/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h +++ b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon_base.h | |||
| @@ -6,8 +6,6 @@ | |||
| 6 | * See LICENSES/README.md for more information. | 6 | * See LICENSES/README.md for more information. |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | #pragma once | ||
| 10 | |||
| 11 | #ifndef C_API_ADDON_BASE_H | 9 | #ifndef C_API_ADDON_BASE_H |
| 12 | #define C_API_ADDON_BASE_H | 10 | #define C_API_ADDON_BASE_H |
| 13 | 11 | ||
| @@ -27,6 +25,8 @@ | |||
| 27 | #endif | 25 | #endif |
| 28 | #endif | 26 | #endif |
| 29 | 27 | ||
| 28 | // Generic helper definitions for smallest possible alignment | ||
| 29 | //@{ | ||
| 30 | #undef ATTRIBUTE_PACKED | 30 | #undef ATTRIBUTE_PACKED |
| 31 | #undef PRAGMA_PACK_BEGIN | 31 | #undef PRAGMA_PACK_BEGIN |
| 32 | #undef PRAGMA_PACK_END | 32 | #undef PRAGMA_PACK_END |
| @@ -34,18 +34,16 @@ | |||
| 34 | #if defined(__GNUC__) | 34 | #if defined(__GNUC__) |
| 35 | #define ATTRIBUTE_PACKED __attribute__((packed)) | 35 | #define ATTRIBUTE_PACKED __attribute__((packed)) |
| 36 | #define PRAGMA_PACK 0 | 36 | #define PRAGMA_PACK 0 |
| 37 | #define ATTRIBUTE_HIDDEN __attribute__((visibility("hidden"))) | ||
| 38 | #endif | 37 | #endif |
| 39 | 38 | ||
| 40 | #if !defined(ATTRIBUTE_PACKED) | 39 | #if !defined(ATTRIBUTE_PACKED) |
| 41 | #define ATTRIBUTE_PACKED | 40 | #define ATTRIBUTE_PACKED |
| 42 | #define PRAGMA_PACK 1 | 41 | #define PRAGMA_PACK 1 |
| 43 | #endif | 42 | #endif |
| 43 | //@} | ||
| 44 | 44 | ||
| 45 | #if !defined(ATTRIBUTE_HIDDEN) | 45 | // Generic helper definitions for inline function support |
| 46 | #define ATTRIBUTE_HIDDEN | 46 | //@{ |
| 47 | #endif | ||
| 48 | |||
| 49 | #ifdef _MSC_VER | 47 | #ifdef _MSC_VER |
| 50 | #define ATTRIBUTE_FORCEINLINE __forceinline | 48 | #define ATTRIBUTE_FORCEINLINE __forceinline |
| 51 | #elif defined(__GNUC__) | 49 | #elif defined(__GNUC__) |
| @@ -59,6 +57,27 @@ | |||
| 59 | #else | 57 | #else |
| 60 | #define ATTRIBUTE_FORCEINLINE inline | 58 | #define ATTRIBUTE_FORCEINLINE inline |
| 61 | #endif | 59 | #endif |
| 60 | //@} | ||
| 61 | |||
| 62 | // Generic helper definitions for shared library support | ||
| 63 | //@{ | ||
| 64 | #if defined _WIN32 || defined __CYGWIN__ | ||
| 65 | #define ATTRIBUTE_DLL_IMPORT __declspec(dllimport) | ||
| 66 | #define ATTRIBUTE_DLL_EXPORT __declspec(dllexport) | ||
| 67 | #define ATTRIBUTE_DLL_LOCAL | ||
| 68 | #else | ||
| 69 | #if __GNUC__ >= 4 | ||
| 70 | #define ATTRIBUTE_DLL_IMPORT __attribute__ ((visibility ("default"))) | ||
| 71 | #define ATTRIBUTE_DLL_EXPORT __attribute__ ((visibility ("default"))) | ||
| 72 | #define ATTRIBUTE_DLL_LOCAL __attribute__ ((visibility ("hidden"))) | ||
| 73 | #else | ||
| 74 | #define ATTRIBUTE_DLL_IMPORT | ||
| 75 | #define ATTRIBUTE_DLL_EXPORT | ||
| 76 | #define ATTRIBUTE_DLL_LOCAL | ||
| 77 | #endif | ||
| 78 | #endif | ||
| 79 | #define ATTRIBUTE_HIDDEN ATTRIBUTE_DLL_LOCAL // Fallback to old | ||
| 80 | //@} | ||
| 62 | 81 | ||
| 63 | // Hardware specific device context interface | 82 | // Hardware specific device context interface |
| 64 | #define ADDON_HARDWARE_CONTEXT void* | 83 | #define ADDON_HARDWARE_CONTEXT void* |
| @@ -75,9 +94,11 @@ extern "C" | |||
| 75 | #endif /* __cplusplus */ | 94 | #endif /* __cplusplus */ |
| 76 | 95 | ||
| 77 | //============================================================================ | 96 | //============================================================================ |
| 78 | /// @ingroup cpp_kodi_addon_addonbase | 97 | /// @ingroup cpp_kodi_addon_addonbase_Defs |
| 79 | /// @brief Return value of functions in @ref cpp_kodi_addon_addonbase "kodi::addon::CAddonBase" | 98 | /// @defgroup cpp_kodi_addon_addonbase_Defs_ADDON_STATUS enum ADDON_STATUS |
| 80 | /// and associated classes. | 99 | /// @brief <b>Return value of functions in @ref cpp_kodi_addon_addonbase "kodi::addon::CAddonBase" |
| 100 | /// and associated classes</b>\n | ||
| 101 | /// With this Kodi can do any follow-up work or add-on e.g. declare it as defective. | ||
| 81 | /// | 102 | /// |
| 82 | ///@{ | 103 | ///@{ |
| 83 | typedef enum ADDON_STATUS | 104 | typedef enum ADDON_STATUS |
| @@ -211,7 +232,7 @@ extern "C" | |||
| 211 | typedef struct KodiToAddonFuncTable_Addon | 232 | typedef struct KodiToAddonFuncTable_Addon |
| 212 | { | 233 | { |
| 213 | void (*destroy)(); | 234 | void (*destroy)(); |
| 214 | ADDON_STATUS (*get_status)(); | 235 | ADDON_STATUS (*get_status)(); // TODO unused remove by next min version increase |
| 215 | ADDON_STATUS(*create_instance) | 236 | ADDON_STATUS(*create_instance) |
| 216 | (int instanceType, | 237 | (int instanceType, |
| 217 | const char* instanceID, | 238 | const char* instanceID, |
