From 5f8335c1e49ce108ef3481863833c98efa00411b Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 2 Jul 2020 23:09:26 +0200 Subject: sync with upstream --- .../include/kodi/c-api/general.h | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/general.h (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/general.h') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/general.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/general.h new file mode 100644 index 0000000..ede8e94 --- /dev/null +++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/general.h @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2005-2018 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 + +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + + //============================================================================ + /// \ingroup cpp_kodi_Defs + /// @brief For kodi::CurrentKeyboardLayout used defines + /// + typedef enum StdKbButtons + { + /// The quantity of buttons per row on Kodi's standard keyboard + STD_KB_BUTTONS_PER_ROW = 20, + /// The quantity of rows on Kodi's standard keyboard + STD_KB_BUTTONS_MAX_ROWS = 4, + /// Keyboard layout type, this for initial standard + STD_KB_MODIFIER_KEY_NONE = 0x00, + /// Keyboard layout type, this for shift controled layout (uppercase) + STD_KB_MODIFIER_KEY_SHIFT = 0x01, + /// Keyboard layout type, this to show symbols + STD_KB_MODIFIER_KEY_SYMBOL = 0x02 + } StdKbButtons; + //---------------------------------------------------------------------------- + + //============================================================================ + /// \ingroup cpp_kodi_Defs + /// @brief For kodi::QueueNotification() used message types + /// + typedef enum QueueMsg + { + /// Show info notification message + QUEUE_INFO, + /// Show warning notification message + QUEUE_WARNING, + /// Show error notification message + QUEUE_ERROR, + /// Show with own given image and parts if set on values + QUEUE_OWN_STYLE + } QueueMsg; + //---------------------------------------------------------------------------- + + //============================================================================ + /// \ingroup cpp_kodi_Defs + /// @brief Format codes to get string from them. + /// + /// Used on kodi::GetLanguage(). + /// + typedef enum LangFormats + { + /// two letter code as defined in ISO 639-1 + LANG_FMT_ISO_639_1, + /// three letter code as defined in ISO 639-2/T or ISO 639-2/B + LANG_FMT_ISO_639_2, + /// full language name in English + LANG_FMT_ENGLISH_NAME + } LangFormats; + //---------------------------------------------------------------------------- + + /* + * For interface between add-on and kodi. + * + * This structure defines the addresses of functions stored inside Kodi which + * are then available for the add-on to call + * + * All function pointers there are used by the C++ interface functions below. + * You find the set of them on xbmc/addons/interfaces/General.cpp + * + * Note: For add-on development itself this is not needed + */ + typedef struct AddonKeyboardKeyTable + { + char* keys[STD_KB_BUTTONS_MAX_ROWS][STD_KB_BUTTONS_PER_ROW]; + } AddonKeyboardKeyTable; + typedef struct AddonToKodiFuncTable_kodi + { + char* (*get_addon_info)(void* kodiBase, const char* id); + bool (*open_settings_dialog)(void* kodiBase); + char* (*unknown_to_utf8)(void* kodiBase, const char* source, bool* ret, bool failOnBadChar); + char* (*get_localized_string)(void* kodiBase, long label_id); + char* (*get_language)(void* kodiBase, int format, bool region); + bool (*queue_notification)(void* kodiBase, + int type, + const char* header, + const char* message, + const char* imageFile, + unsigned int displayTime, + bool withSound, + unsigned int messageTime); + void (*get_md5)(void* kodiBase, const char* text, char* md5); + char* (*get_temp_path)(void* kodiBase); + char* (*get_region)(void* kodiBase, const char* id); + void (*get_free_mem)(void* kodiBase, long* free, long* total, bool as_bytes); + int (*get_global_idle_time)(void* kodiBase); + bool (*is_addon_avilable)(void* kodiBase, const char* id, char** version, bool* enabled); + void (*kodi_version)(void* kodiBase, + char** compile_name, + int* major, + int* minor, + char** revision, + char** tag, + char** tagversion); + char* (*get_current_skin_id)(void* kodiBase); + bool (*get_keyboard_layout)(void* kodiBase, + char** layout_name, + int modifier_key, + struct AddonKeyboardKeyTable* layout); + bool (*change_keyboard_layout)(void* kodiBase, char** layout_name); + } AddonToKodiFuncTable_kodi; + + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ -- cgit v1.2.3