From be933ef2241d79558f91796cc5b3a161f72ebf9c Mon Sep 17 00:00:00 2001 From: manuel Date: Mon, 19 Oct 2020 00:52:24 +0200 Subject: sync with upstream --- .../kodi/c-api/addon-instance/pvr/CMakeLists.txt | 14 - .../c-api/addon-instance/pvr/pvr_channel_groups.h | 54 -- .../kodi/c-api/addon-instance/pvr/pvr_channels.h | 104 ---- .../kodi/c-api/addon-instance/pvr/pvr_defines.h | 61 -- .../kodi/c-api/addon-instance/pvr/pvr_edl.h | 62 -- .../kodi/c-api/addon-instance/pvr/pvr_epg.h | 653 --------------------- .../kodi/c-api/addon-instance/pvr/pvr_general.h | 288 --------- .../kodi/c-api/addon-instance/pvr/pvr_menu_hook.h | 72 --- .../kodi/c-api/addon-instance/pvr/pvr_recordings.h | 143 ----- .../kodi/c-api/addon-instance/pvr/pvr_stream.h | 155 ----- .../kodi/c-api/addon-instance/pvr/pvr_timers.h | 407 ------------- 11 files changed, 2013 deletions(-) delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/CMakeLists.txt delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channel_groups.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channels.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_defines.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_edl.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_epg.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_general.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_menu_hook.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_recordings.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h delete mode 100644 xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_timers.h (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr') diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/CMakeLists.txt b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/CMakeLists.txt deleted file mode 100644 index 6617084..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -set(HEADERS pvr_channel_groups.h - pvr_channels.h - pvr_defines.h - pvr_edl.h - pvr_epg.h - pvr_general.h - pvr_menu_hook.h - pvr_recordings.h - pvr_stream.h - pvr_timers.h) - -if(NOT ENABLE_STATIC_LIBS) - core_add_library(addons_kodi-addon-dev-kit_include_kodi_c-api_addon-instance_pvr) -endif() diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channel_groups.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channel_groups.h deleted file mode 100644 index 36f9ed6..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channel_groups.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#include - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 3 - PVR channel group -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - /*! - * @brief "C" PVR add-on channel group. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRChannelGroup for description of values. - */ - typedef struct PVR_CHANNEL_GROUP - { - char strGroupName[PVR_ADDON_NAME_STRING_LENGTH]; - bool bIsRadio; - unsigned int iPosition; - } PVR_CHANNEL_GROUP; - - /*! - * @brief "C" PVR add-on channel group member. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRChannelGroupMember for description of values. - */ - typedef struct PVR_CHANNEL_GROUP_MEMBER - { - char strGroupName[PVR_ADDON_NAME_STRING_LENGTH]; - unsigned int iChannelUniqueId; - unsigned int iChannelNumber; - unsigned int iSubChannelNumber; - int iOrder; - } PVR_CHANNEL_GROUP_MEMBER; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channels.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channels.h deleted file mode 100644 index a2ce591..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_channels.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#include - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 2 - PVR channel -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_Channel - /// @brief Denotes that no channel uid is available. - /// - /// Special @ref kodi::addon::PVRTimer::SetClientChannelUid() and - /// @ref kodi::addon::PVRRecording::SetChannelUid() value to indicate that no - /// channel uid is available. - #define PVR_CHANNEL_INVALID_UID -1 - //---------------------------------------------------------------------------- - - /*! - * @brief "C" PVR add-on channel. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRChannel for description of values. - */ - typedef struct PVR_CHANNEL - { - unsigned int iUniqueId; - bool bIsRadio; - unsigned int iChannelNumber; - unsigned int iSubChannelNumber; - char strChannelName[PVR_ADDON_NAME_STRING_LENGTH]; - char strMimeType[PVR_ADDON_INPUT_FORMAT_STRING_LENGTH]; - unsigned int iEncryptionSystem; - char strIconPath[PVR_ADDON_URL_STRING_LENGTH]; - bool bIsHidden; - bool bHasArchive; - int iOrder; - } PVR_CHANNEL; - - /*! - * @brief "C" PVR add-on signal status information. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRSignalStatus for description of values. - */ - typedef struct PVR_SIGNAL_STATUS - { - char strAdapterName[PVR_ADDON_NAME_STRING_LENGTH]; - char strAdapterStatus[PVR_ADDON_NAME_STRING_LENGTH]; - char strServiceName[PVR_ADDON_NAME_STRING_LENGTH]; - char strProviderName[PVR_ADDON_NAME_STRING_LENGTH]; - char strMuxName[PVR_ADDON_NAME_STRING_LENGTH]; - int iSNR; - int iSignal; - long iBER; - long iUNC; - } PVR_SIGNAL_STATUS; - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_Channel_PVRDescrambleInfo - /// @brief Special @ref cpp_kodi_addon_pvr_Defs_Channel_PVRDescrambleInfo - /// value to indicate that a struct member's value is not available - /// - #define PVR_DESCRAMBLE_INFO_NOT_AVAILABLE -1 - //---------------------------------------------------------------------------- - - /*! - * @brief "C" PVR add-on descramble information. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRDescrambleInfo for description of values. - */ - typedef struct PVR_DESCRAMBLE_INFO - { - int iPid; - int iCaid; - int iProvid; - int iEcmTime; - int iHops; - char strCardSystem[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; - char strReader[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; - char strFrom[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; - char strProtocol[PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH]; - } PVR_DESCRAMBLE_INFO; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_defines.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_defines.h deleted file mode 100644 index af1daae..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_defines.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * 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 - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Standard PVR definitions -// -// Values related to all parts and not used direct on addon, are to define here. -// -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - /*! - * @brief API array sizes which are used for data exchange between - * Kodi and addon. - */ - ///@{ - #define PVR_ADDON_NAME_STRING_LENGTH 1024 - #define PVR_ADDON_URL_STRING_LENGTH 1024 - #define PVR_ADDON_DESC_STRING_LENGTH 1024 - #define PVR_ADDON_INPUT_FORMAT_STRING_LENGTH 32 - #define PVR_ADDON_EDL_LENGTH 32 - #define PVR_ADDON_TIMERTYPE_ARRAY_SIZE 32 - #define PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE 512 - #define PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE_SMALL 128 - #define PVR_ADDON_TIMERTYPE_STRING_LENGTH 128 - #define PVR_ADDON_ATTRIBUTE_DESC_LENGTH 128 - #define PVR_ADDON_ATTRIBUTE_VALUES_ARRAY_SIZE 512 - #define PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH 64 - #define PVR_ADDON_DATE_STRING_LENGTH 32 - ///@} - - /*! - * @brief "C" Representation of a general attribute integer value. - */ - typedef struct PVR_ATTRIBUTE_INT_VALUE - { - int iValue; - char strDescription[PVR_ADDON_ATTRIBUTE_DESC_LENGTH]; - } PVR_ATTRIBUTE_INT_VALUE; - - /*! - * @brief "C" Representation of a named value. - */ - typedef struct PVR_NAMED_VALUE - { - char strName[PVR_ADDON_NAME_STRING_LENGTH]; - char strValue[PVR_ADDON_NAME_STRING_LENGTH]; - } PVR_NAMED_VALUE; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_edl.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_edl.h deleted file mode 100644 index 8378eaf..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_edl.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#include - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 8 - PVR Edit definition list (EDL) -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_EDLEntry_PVR_EDL_TYPE enum PVR_EDL_TYPE - /// @ingroup cpp_kodi_addon_pvr_Defs_EDLEntry - /// @brief **Edit definition list types**\n - /// Possible type values for @ref cpp_kodi_addon_pvr_Defs_EDLEntry_PVREDLEntry. - /// - ///@{ - typedef enum PVR_EDL_TYPE - { - /// @brief __0__ : cut (completely remove content) - PVR_EDL_TYPE_CUT = 0, - - /// @brief __1__ : mute audio - PVR_EDL_TYPE_MUTE = 1, - - /// @brief __2__ : scene markers (chapter seeking) - PVR_EDL_TYPE_SCENE = 2, - - /// @brief __3__ : commercial breaks - PVR_EDL_TYPE_COMBREAK = 3 - } PVR_EDL_TYPE; - ///@} - //---------------------------------------------------------------------------- - - /*! - * @brief "C" Edit definition list entry. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVREDLEntry for description of values. - */ - typedef struct PVR_EDL_ENTRY - { - int64_t start; - int64_t end; - enum PVR_EDL_TYPE type; - } PVR_EDL_ENTRY; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_epg.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_epg.h deleted file mode 100644 index 57c603f..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_epg.h +++ /dev/null @@ -1,653 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#include - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 4 - PVR EPG -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT enum EPG_EVENT_CONTENTMASK (and sub types) - /// @ingroup cpp_kodi_addon_pvr_Defs_epg - /// @brief **EPG entry content event types.**\n - /// These ID's come from the DVB-SI EIT table "content descriptor" - /// Also known under the name "E-book genre assignments". - /// - /// See [ETSI EN 300 468 V1.14.1 (2014-05)](https://www.etsi.org/deliver/etsi_en/300400_300499/300468/01.14.01_60/en_300468v011401p.pdf) - /// about. - /// - /// Values used by this functions: - /// - @ref kodi::addon::PVREPGTag::SetGenreType() - /// - @ref kodi::addon::PVREPGTag::SetGenreSubType() - /// - @ref kodi::addon::PVRRecording::SetGenreType() - /// - @ref kodi::addon::PVRRecording::SetGenreSubType() - /// - /// Following types are listed here: - /// | emum Type | Description - /// |-----------|-------------------- - /// | @ref EPG_EVENT_CONTENTMASK | EPG entry main content to use. - /// | @ref EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_MOVIEDRAMA event types for sub type of "Movie/Drama". - /// | @ref EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_NEWSCURRENTAFFAIRS event types for sub type of "News/Current affairs". - /// | @ref EPG_EVENT_CONTENTSUBMASK_SHOW | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SHOW event types for sub type of "Show/Game show". - /// | @ref EPG_EVENT_CONTENTSUBMASK_SPORTS | @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SPORTS event types for sub type of "Sports". - /// | @ref EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_CHILDRENYOUTH event types for sub type of "Children's/Youth programmes". - /// | @ref EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_MUSICBALLETDANCE event types for sub type of "Music/Ballet/Dance". - /// | @ref EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_ARTSCULTURE event types for sub type of "Arts/Culture (without music)". - /// | @ref EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SOCIALPOLITICALECONOMICS event types for sub type of "Social/Political issues/Economics". - /// | @ref EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_EDUCATIONALSCIENCE event types for sub type of "Education/Science/Factual topics". - /// | @ref EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_LEISUREHOBBIES event types for sub type of "Leisure hobbies". - /// | @ref EPG_EVENT_CONTENTSUBMASK_SPECIAL | EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SPECIAL event types for sub type of "Special characteristics". - ///@{ - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry main content to use. - /// - ///@{ - typedef enum EPG_EVENT_CONTENTMASK - { - /// @brief __0x00__ : Undefined content mask entry. - EPG_EVENT_CONTENTMASK_UNDEFINED = 0x00, - - /// @brief __0x10__ : Movie/Drama.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA about related sub types. - EPG_EVENT_CONTENTMASK_MOVIEDRAMA = 0x10, - - /// @brief __0x20__ : News/Current affairs.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS about related sub types. - EPG_EVENT_CONTENTMASK_NEWSCURRENTAFFAIRS = 0x20, - - /// @brief __0x30__ : Show/Game show.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_SHOW about related sub types. - EPG_EVENT_CONTENTMASK_SHOW = 0x30, - - /// @brief __0x40__ : Sports.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_SPORTS about related sub types. - EPG_EVENT_CONTENTMASK_SPORTS = 0x40, - - /// @brief __0x50__ : Children's/Youth programmes.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH about related sub types. - EPG_EVENT_CONTENTMASK_CHILDRENYOUTH = 0x50, - - /// @brief __0x60__ : Music/Ballet/Dance.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE about related sub types. - EPG_EVENT_CONTENTMASK_MUSICBALLETDANCE = 0x60, - - /// @brief __0x70__ : Arts/Culture (without music).\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE about related sub types. - EPG_EVENT_CONTENTMASK_ARTSCULTURE = 0x70, - - /// @brief __0x80__ : Social/Political issues/Economics.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS about related sub types. - EPG_EVENT_CONTENTMASK_SOCIALPOLITICALECONOMICS = 0x80, - - /// @brief __0x90__ : Education/Science/Factual topics.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE about related sub types. - EPG_EVENT_CONTENTMASK_EDUCATIONALSCIENCE = 0x90, - - /// @brief __0xA0__ : Leisure hobbies.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES about related sub types. - EPG_EVENT_CONTENTMASK_LEISUREHOBBIES = 0xA0, - - /// @brief __0xB0__ : Special characteristics.\n - /// \n - /// See @ref EPG_EVENT_CONTENTSUBMASK_SPECIAL about related sub types. - EPG_EVENT_CONTENTMASK_SPECIAL = 0xB0, - - /// @brief __0xF0__ User defined. - EPG_EVENT_CONTENTMASK_USERDEFINED = 0xF0, - - /// @brief Used to override standard genre types with a own name about.\n - /// \n - /// Set to this value @ref EPG_GENRE_USE_STRING on following places: - /// - @ref kodi::addon::PVREPGTag::SetGenreType() - /// - @ref kodi::addon::PVREPGTag::SetGenreSubType() - /// - @ref kodi::addon::PVRRecording::SetGenreType() - /// - @ref kodi::addon::PVRRecording::SetGenreSubType() - /// - /// @warning Value here is not a [ETSI EN 300 468 V1.14.1 (2014-05)](https://www.etsi.org/deliver/etsi_en/300400_300499/300468/01.14.01_60/en_300468v011401p.pdf) - /// conform. - /// - /// @note This is a own Kodi definition to set that genre is given by own - /// string. Used on @ref kodi::addon::PVREPGTag::SetGenreDescription() and - /// @ref kodi::addon::PVRRecording::SetGenreDescription() - EPG_GENRE_USE_STRING = 0x100 - } EPG_EVENT_CONTENTMASK; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_MOVIEDRAMA event - /// types for sub type of "Movie/Drama". - /// - ///@{ - typedef enum EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA - { - /// @brief __0x0__ : Movie/drama (general). - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_GENERAL = 0x0, - - /// @brief __0x1__ : Detective/thriller. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_DETECTIVE_THRILLER = 0x1, - - /// @brief __0x2__ : Adventure/western/war. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_ADVENTURE_WESTERN_WAR = 0x2, - - /// @brief __0x3__ : Science fiction/fantasy/horror. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_SCIENCEFICTION_FANTASY_HORROR = 0x3, - - /// @brief __0x4__ : Comedy. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_COMEDY = 0x4, - - /// @brief __0x5__ : Soap/melodrama/folkloric. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_SOAP_MELODRAMA_FOLKLORIC = 0x5, - - /// @brief __0x6__ : Romance. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_ROMANCE = 0x6, - - /// @brief __0x7__ : Serious/classical/religious/historical movie/drama. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_SERIOUS_CLASSICAL_RELIGIOUS_HISTORICAL = 0x7, - - /// @brief __0x8__ : Adult movie/drama. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_ADULT = 0x8, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_MOVIEDRAMA; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_NEWSCURRENTAFFAIRS event - /// types for sub type of "News/Current affairs". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS - { - /// @brief __0x0__ : News/current affairs (general). - EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS_GENERAL = 0x0, - - /// @brief __0x1__ : News/weather report. - EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS_WEATHER = 0x1, - - /// @brief __0x2__ : News magazine. - EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS_MAGAZINE = 0x2, - - /// @brief __0x3__ : Documentary. - EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS_DOCUMENTARY = 0x3, - - /// @brief __0x4__ : Discussion/interview/debate - EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS_DISCUSSION_INTERVIEW_DEBATE = 0x4, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_NEWSCURRENTAFFAIRS; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SHOW event - /// types for sub type of "Show/Game show". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_SHOW - { - /// @brief __0x0__ : Show/game show (general). - EPG_EVENT_CONTENTSUBMASK_SHOW_GENERAL = 0x0, - - /// @brief __0x1__ : Game show/quiz/contest. - EPG_EVENT_CONTENTSUBMASK_SHOW_GAMESHOW_QUIZ_CONTEST = 0x1, - - /// @brief __0x2__ : Variety show. - EPG_EVENT_CONTENTSUBMASK_SHOW_VARIETY_SHOW = 0x2, - - /// @brief __0x3__ : Talk show. - EPG_EVENT_CONTENTSUBMASK_SHOW_TALK_SHOW = 0x3, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_SHOW_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_SHOW; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SPORTS event - /// types for sub type of "Sports". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_SPORTS - { - /// @brief __0x0__ : Sports (general). - EPG_EVENT_CONTENTSUBMASK_SPORTS_GENERAL = 0x0, - - /// @brief __0x1__ : Special events (Olympic Games, World Cup, etc.). - EPG_EVENT_CONTENTSUBMASK_SPORTS_OLYMPICGAMES_WORLDCUP = 0x1, - - /// @brief __0x2__ : Sports magazines. - EPG_EVENT_CONTENTSUBMASK_SPORTS_SPORTS_MAGAZINES = 0x2, - - /// @brief __0x3__ : Football/soccer. - EPG_EVENT_CONTENTSUBMASK_SPORTS_FOOTBALL_SOCCER = 0x3, - - /// @brief __0x4__ : Tennis/squash. - EPG_EVENT_CONTENTSUBMASK_SPORTS_TENNIS_SQUASH = 0x4, - - /// @brief __0x5__ : Team sports (excluding football). - EPG_EVENT_CONTENTSUBMASK_SPORTS_TEAMSPORTS = 0x5, - - /// @brief __0x6__ : Athletics. - EPG_EVENT_CONTENTSUBMASK_SPORTS_ATHLETICS = 0x6, - - /// @brief __0x7__ : Motor sport. - EPG_EVENT_CONTENTSUBMASK_SPORTS_MOTORSPORT = 0x7, - - /// @brief __0x8__ : Water sport. - EPG_EVENT_CONTENTSUBMASK_SPORTS_WATERSPORT = 0x8, - - /// @brief __0x9__ : Winter sports. - EPG_EVENT_CONTENTSUBMASK_SPORTS_WINTERSPORTS = 0x9, - - /// @brief __0xA__ : Equestrian. - EPG_EVENT_CONTENTSUBMASK_SPORTS_EQUESTRIAN = 0xA, - - /// @brief __0xB__ : Martial sports. - EPG_EVENT_CONTENTSUBMASK_SPORTS_MARTIALSPORTS = 0xB, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_SPORTS_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_SPORTS; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_CHILDRENYOUTH event - /// types for sub type of "Children's/Youth programmes". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH - { - /// @brief __0x0__ : Children's/youth programmes (general). - EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH_GENERAL = 0x0, - - /// @brief __0x1__ : Pre-school children's programmes. - EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH_PRESCHOOL_CHILDREN = 0x1, - - /// @brief __0x2__ : Entertainment programmes for 6 to 14. - EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH_ENTERTAIN_6TO14 = 0x2, - - /// @brief __0x3__ : Entertainment programmes for 10 to 16. - EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH_ENTERTAIN_10TO16 = 0x3, - - /// @brief __0x4__ : Informational/educational/school programmes. - EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH_INFORMATIONAL_EDUCATIONAL_SCHOOL = 0x4, - - /// @brief __0x5__ : Cartoons/puppets. - EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH_CARTOONS_PUPPETS = 0x5, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_CHILDRENYOUTH; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_MUSICBALLETDANCE event - /// types for sub type of "Music/Ballet/Dance". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE - { - /// @brief __0x0__ : Music/ballet/dance (general). - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_GENERAL = 0x0, - - /// @brief __0x1__ : Rock/pop. - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_ROCKPOP = 0x1, - - /// @brief __0x2__ : Serious music/classical music. - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_SERIOUSMUSIC_CLASSICALMUSIC = 0x2, - - /// @brief __0x3__ : Folk/traditional music. - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_FOLK_TRADITIONAL_MUSIC = 0x3, - - /// @brief __0x4__ : Jazz. - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_JAZZ = 0x4, - - /// @brief __0x5__ : Musical/opera. - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_MUSICAL_OPERA = 0x5, - - /// @brief __0x6__ : Ballet. - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_BALLET = 0x6, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_MUSICBALLETDANCE; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_ARTSCULTURE event - /// types for sub type of "Arts/Culture (without music)". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE - { - /// @brief __0x0__ : Arts/culture (without music, general). - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_GENERAL = 0x0, - - /// @brief __0x1__ : Performing arts. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_PERFORMINGARTS = 0x1, - - /// @brief __0x2__ : Fine arts. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_FINEARTS = 0x2, - - /// @brief __0x3__ : Religion. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_RELIGION = 0x3, - - /// @brief __0x4__ : Popular culture/traditional arts. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_POPULARCULTURE_TRADITIONALARTS = 0x4, - - /// @brief __0x5__ : Literature. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_LITERATURE = 0x5, - - /// @brief __0x6__ : Film/cinema. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_FILM_CINEMA = 0x6, - - /// @brief __0x7__ : Experimental film/video. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_EXPERIMENTALFILM_VIDEO = 0x7, - - /// @brief __0x8__ : Broadcasting/press. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_BROADCASTING_PRESS = 0x8, - - /// @brief __0x9__ : New media. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_NEWMEDIA = 0x9, - - /// @brief __0xA__ : Arts/culture magazines. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_ARTS_CULTUREMAGAZINES = 0xA, - - /// @brief __0xB__ : Fashion. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_FASHION = 0xB, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_ARTSCULTURE; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SOCIALPOLITICALECONOMICS event - /// types for sub type of "Social/Political issues/Economics". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS - { - /// @brief __0x0__ : Social/political issues/economics (general). - EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS_GENERAL = 0x0, - - /// @brief __0x1__ : Magazines/reports/documentary. - EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS_MAGAZINES_REPORTS_DOCUMENTARY = 0x1, - - /// @brief __0x2__ : Economics/social advisory. - EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS_ECONOMICS_SOCIALADVISORY = 0x2, - - /// @brief __0x3__ : Remarkable people. - EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS_REMARKABLEPEOPLE = 0x3, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_SOCIALPOLITICALECONOMICS; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_EDUCATIONALSCIENCE event - /// types for sub type of "Education/Science/Factual topics". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE - { - /// @brief __0x0__ : Education/science/factual topics (general). - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_GENERAL = 0x0, - - /// @brief __0x1__ : Nature/animals/environment. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_NATURE_ANIMALS_ENVIRONMENT = 0x1, - - /// @brief __0x2__ : Technology/natural sciences. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_TECHNOLOGY_NATURALSCIENCES = 0x2, - - /// @brief __0x3__ : Medicine/physiology/psychology. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_MEDICINE_PHYSIOLOGY_PSYCHOLOGY = 0x3, - - /// @brief __0x4__ : Foreign countries/expeditions. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_FOREIGNCOUNTRIES_EXPEDITIONS = 0x4, - - /// @brief __0x5__ : Social/spiritual sciences. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_SOCIAL_SPIRITUALSCIENCES = 0x5, - - /// @brief __0x6__ : Further education. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_FURTHEREDUCATION = 0x6, - - /// @brief __0x7__ : Languages. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_LANGUAGES = 0x7, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_EDUCATIONALSCIENCE; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_LEISUREHOBBIES event - /// types for sub type of "Leisure hobbies". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES - { - /// @brief __0x0__ : Leisure hobbies (general) . - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_GENERAL = 0x0, - - /// @brief __0x1__ : Tourism/travel. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_TOURISM_TRAVEL = 0x1, - - /// @brief __0x2__ : Handicraft. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_HANDICRAFT = 0x2, - - /// @brief __0x3__ : Motoring. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_MOTORING = 0x3, - - /// @brief __0x4__ : Fitness and health. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_FITNESSANDHEALTH = 0x4, - - /// @brief __0x5__ : Cooking. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_COOKING = 0x5, - - /// @brief __0x6__ : Advertisement/shopping. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_ADVERTISEMENT_SHOPPING = 0x6, - - /// @brief __0x7__ : Gardening. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_GARDENING = 0x7, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_LEISUREHOBBIES; - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT - /// @brief EPG entry sub content to @ref EPG_EVENT_CONTENTMASK_SPECIAL event - /// types for sub type of "Special characteristics". - /// - typedef enum EPG_EVENT_CONTENTSUBMASK_SPECIAL - { - /// @brief __0x0__ : Special characteristics / Original language (general). - EPG_EVENT_CONTENTSUBMASK_SPECIAL_GENERAL = 0x0, - - /// @brief __0x1__ : Black and white. - EPG_EVENT_CONTENTSUBMASK_SPECIAL_BLACKANDWHITE = 0x1, - - /// @brief __0x2__ : Unpublished. - EPG_EVENT_CONTENTSUBMASK_SPECIAL_UNPUBLISHED = 0x2, - - /// @brief __0x3__ : Live broadcast. - EPG_EVENT_CONTENTSUBMASK_SPECIAL_LIVEBROADCAST = 0x3, - - /// @brief __0x4__ : Plano-stereoscopic. - EPG_EVENT_CONTENTSUBMASK_SPECIAL_PLANOSTEREOSCOPIC = 0x4, - - /// @brief __0x5__ : Local or regional. - EPG_EVENT_CONTENTSUBMASK_SPECIAL_LOCALORREGIONAL = 0x5, - - /// @brief __0xF__ : User defined. - EPG_EVENT_CONTENTSUBMASK_SPECIAL_USERDEFINED = 0xF - } EPG_EVENT_CONTENTSUBMASK_SPECIAL; - //---------------------------------------------------------------------------- - - ///@} - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg - /// @brief Separator to use in strings containing different tokens, for example - /// writers, directors, actors of an event. - /// - #define EPG_STRING_TOKEN_SEPARATOR "," - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_epg_EPG_TAG_FLAG enum EPG_TAG_FLAG - /// @ingroup cpp_kodi_addon_pvr_Defs_epg - /// @brief Bit field of independent flags associated with the EPG entry.\n - /// Values used by @ref kodi::addon::PVREPGTag::SetFlags(). - /// - /// Here's example about the use of this: - /// ~~~~~~~~~~~~~{.cpp} - /// kodi::addon::PVREPGTag tag; - /// tag.SetFlags(EPG_TAG_FLAG_IS_SERIES | EPG_TAG_FLAG_IS_NEW); - /// ~~~~~~~~~~~~~ - /// - ///@{ - typedef enum EPG_TAG_FLAG - { - /// @brief __0000 0000__ : Nothing special to say about this entry. - EPG_TAG_FLAG_UNDEFINED = 0, - - /// @brief __0000 0001__ : This EPG entry is part of a series. - EPG_TAG_FLAG_IS_SERIES = (1 << 0), - - /// @brief __0000 0010__ : This EPG entry will be flagged as new. - EPG_TAG_FLAG_IS_NEW = (1 << 1), - - /// @brief __0000 0100__ : This EPG entry will be flagged as a premiere. - EPG_TAG_FLAG_IS_PREMIERE = (1 << 2), - - /// @brief __0000 1000__ : This EPG entry will be flagged as a finale. - EPG_TAG_FLAG_IS_FINALE = (1 << 3), - - /// @brief __0001 0000__ : This EPG entry will be flagged as live. - EPG_TAG_FLAG_IS_LIVE = (1 << 4), - } EPG_TAG_FLAG; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg - /// @brief Special PVREPGTag::SetUniqueBroadcastId value - /// - /// Special @ref kodi::addon::PVREPGTag::SetUniqueBroadcastId() value to - /// indicate that a tag has not a valid EPG event uid. - /// - #define EPG_TAG_INVALID_UID 0 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg - /// @brief Special @ref kodi::addon::PVREPGTag::SetSeriesNumber(), @ref kodi::addon::PVREPGTag::SetEpisodeNumber() - /// and @ref kodi::addon::PVREPGTag::SetEpisodePartNumber() value to indicate - /// it is not to be used. - /// - #define EPG_TAG_INVALID_SERIES_EPISODE -1 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_epg - /// @brief Timeframe value for use with @ref kodi::addon::CInstancePVRClient::SetEPGTimeFrame() - /// function to indicate "no timeframe". - /// - #define EPG_TIMEFRAME_UNLIMITED -1 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_epg_EPG_EVENT_STATE enum EPG_EVENT_STATE - /// @ingroup cpp_kodi_addon_pvr_Defs_epg - /// @brief **EPG event states.**\n - /// Used with @ref kodi::addon::CInstancePVRClient::EpgEventStateChange() - /// callback. - /// - ///@{ - typedef enum EPG_EVENT_STATE - { - /// @brief __0__ : Event created. - EPG_EVENT_CREATED = 0, - - /// @brief __1__ : Event updated. - EPG_EVENT_UPDATED = 1, - - /// @brief __2__ : Event deleted. - EPG_EVENT_DELETED = 2, - } EPG_EVENT_STATE; - ///@} - //---------------------------------------------------------------------------- - - /*! - * @brief "C" PVR add-on channel group member. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVREPGTag for description of values. - */ - typedef struct EPG_TAG - { - unsigned int iUniqueBroadcastId; - unsigned int iUniqueChannelId; - const char* strTitle; - time_t startTime; - time_t endTime; - const char* strPlotOutline; - const char* strPlot; - const char* strOriginalTitle; - const char* strCast; - const char* strDirector; - const char* strWriter; - int iYear; - const char* strIMDBNumber; - const char* strIconPath; - int iGenreType; - int iGenreSubType; - const char* strGenreDescription; - const char* strFirstAired; - int iParentalRating; - int iStarRating; - int iSeriesNumber; - int iEpisodeNumber; - int iEpisodePartNumber; - const char* strEpisodeName; - unsigned int iFlags; - const char* strSeriesLink; - } EPG_TAG; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_general.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_general.h deleted file mode 100644 index 52787b0..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_general.h +++ /dev/null @@ -1,288 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#ifdef BUILD_KODI_ADDON -#include "../../../InputStreamConstants.h" -#else -#include "cores/VideoPlayer/Interface/Addon/InputStreamConstants.h" -#endif - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 1 - General PVR -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_General_PVR_ERROR enum PVR_ERROR - /// @ingroup cpp_kodi_addon_pvr_Defs_General - /// @brief **PVR add-on error codes**\n - /// Used as return values on most PVR related functions. - /// - /// In this way, a PVR instance signals errors in its processing and, under - /// certain conditions, allows Kodi to make corrections. - /// - ///@{ - typedef enum PVR_ERROR - { - /// @brief __0__ : No error occurred. - PVR_ERROR_NO_ERROR = 0, - - /// @brief __-1__ : An unknown error occurred. - PVR_ERROR_UNKNOWN = -1, - - /// @brief __-2__ : The method that Kodi called is not implemented by the add-on. - PVR_ERROR_NOT_IMPLEMENTED = -2, - - /// @brief __-3__ : The backend reported an error, or the add-on isn't connected. - PVR_ERROR_SERVER_ERROR = -3, - - /// @brief __-4__ : The command was sent to the backend, but the response timed out. - PVR_ERROR_SERVER_TIMEOUT = -4, - - /// @brief __-5__ : The command was rejected by the backend. - PVR_ERROR_REJECTED = -5, - - /// @brief __-6__ : The requested item can not be added, because it's already present. - PVR_ERROR_ALREADY_PRESENT = -6, - - /// @brief __-7__ : The parameters of the method that was called are invalid for this - /// operation. - PVR_ERROR_INVALID_PARAMETERS = -7, - - /// @brief __-8__ : A recording is running, so the timer can't be deleted without - /// doing a forced delete. - PVR_ERROR_RECORDING_RUNNING = -8, - - /// @brief __-9__ : The command failed. - PVR_ERROR_FAILED = -9, - } PVR_ERROR; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_General_PVR_CONNECTION_STATE enum PVR_CONNECTION_STATE - /// @ingroup cpp_kodi_addon_pvr_Defs_General - /// @brief **PVR backend connection states**\n - /// Used with @ref kodi::addon::CInstancePVRClient::ConnectionStateChange() callback. - /// - /// With this, a PVR instance signals that Kodi should perform special - /// operations. - /// - ///@{ - typedef enum PVR_CONNECTION_STATE - { - /// @brief __0__ : Unknown state (e.g. not yet tried to connect). - PVR_CONNECTION_STATE_UNKNOWN = 0, - - /// @brief __1__ : Backend server is not reachable (e.g. server not existing or - /// network down). - PVR_CONNECTION_STATE_SERVER_UNREACHABLE = 1, - - /// @brief __2__ : Backend server is reachable, but there is not the expected type of - /// server running (e.g. HTSP required, but FTP running at given server:port). - PVR_CONNECTION_STATE_SERVER_MISMATCH = 2, - - /// @brief __3__ : Backend server is reachable, but server version does not match - /// client requirements. - PVR_CONNECTION_STATE_VERSION_MISMATCH = 3, - - /// @brief __4__ : Backend server is reachable, but denies client access (e.g. due - /// to wrong credentials). - PVR_CONNECTION_STATE_ACCESS_DENIED = 4, - - /// @brief __5__ : Connection to backend server is established. - PVR_CONNECTION_STATE_CONNECTED = 5, - - /// @brief __6__ : No connection to backend server (e.g. due to network errors or - /// client initiated disconnect). - PVR_CONNECTION_STATE_DISCONNECTED = 6, - - /// @brief __7__ : Connecting to backend. - PVR_CONNECTION_STATE_CONNECTING = 7, - } PVR_CONNECTION_STATE; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_General_PVR_STREAM_PROPERTY definition PVR_STREAM_PROPERTY - /// @ingroup cpp_kodi_addon_pvr_Defs_General_Inputstream - /// @brief **PVR related stream property values**\n - /// This is used to pass additional data to Kodi on a given PVR stream. - /// - /// Then transferred to livestream, recordings or EPG Tag stream using the - /// properties. - /// - /// This defines are used by: - /// - @ref kodi::addon::CInstancePVRClient::GetChannelStreamProperties() - /// - @ref kodi::addon::CInstancePVRClient::GetEPGTagStreamProperties() - /// - @ref kodi::addon::CInstancePVRClient::GetRecordingStreamProperties() - /// - /// - ///--------------------------------------------------------------------------- - /// - /// **Example:** - /// ~~~~~~~~~~~~~{.cpp} - /// ... - /// - /// PVR_ERROR CMyPVRInstance::GetChannelStreamProperties(const kodi::addon::PVRChannel& channel, - /// std::vector& properties) - /// { - /// ... - /// properties.emplace_back(PVR_STREAM_PROPERTY_INPUTSTREAM, "inputstream.adaptive"); - /// properties.emplace_back("inputstream.adaptive.manifest_type", "mpd"); - /// properties.emplace_back("inputstream.adaptive.manifest_update_parameter", "full"); - /// properties.emplace_back(PVR_STREAM_PROPERTY_MIMETYPE, "application/xml+dash"); - /// return PVR_ERROR_NO_ERROR; - /// } - /// - /// ... - /// ~~~~~~~~~~~~~ - /// - ///@{ - - /// @brief the URL of the stream that should be played. - /// - #define PVR_STREAM_PROPERTY_STREAMURL "streamurl" - - /// @brief To define in stream properties the name of the inputstream add-on - /// that should be used. - /// - /// Leave blank to use Kodi's built-in playing capabilities or to allow ffmpeg - /// to handle directly set to @ref PVR_STREAM_PROPERTY_VALUE_INPUTSTREAMFFMPEG. - /// - #define PVR_STREAM_PROPERTY_INPUTSTREAM STREAM_PROPERTY_INPUTSTREAM - - /// @brief Identification string for an input stream. - /// - /// This value can be used in addition to @ref PVR_STREAM_PROPERTY_INPUTSTREAM. - /// It is used to provide the respective inpustream addon with additional - /// identification. - /// - /// The difference between this and other stream properties is that it is also - /// passed in the associated @ref kodi::addon::CAddonBase::CreateInstance() - /// call. - /// - /// This makes it possible to select different processing classes within the - /// associated add-on. - /// - /// - ///--------------------------------------------------------------------------- - /// - /// **Example:** - /// ~~~~~~~~~~~~~{.cpp} - /// ... - /// - /// // On PVR instance of addon - /// PVR_ERROR CMyPVRInstance::GetChannelStreamProperties(const kodi::addon::PVRChannel& channel, - /// std::vector& properties) - /// { - /// ... - /// // For here on example the inpustream is also inside the PVR addon - /// properties.emplace_back(PVR_STREAM_PROPERTY_INPUTSTREAM, "pvr.my_one"); - /// properties.emplace_back(PVR_STREAM_PROPERTY_INPUTSTREAM_INSTANCE_ID, "my_special_id_1"); - /// return PVR_ERROR_NO_ERROR; - /// } - /// - /// ... - /// - /// // On CAddonBase part of addon - /// ADDON_STATUS CMyAddon::CreateInstanceEx(int instanceType, - /// std::string instanceID, - /// KODI_HANDLE instance, - /// KODI_HANDLE& addonInstance - /// const std::string& version) - /// { - /// if (instanceType == ADDON_INSTANCE_INPUTSTREAM) - /// { - /// kodi::Log(ADDON_LOG_NOTICE, "Creating my special inputstream"); - /// if (instanceID == "my_special_id_1") - /// addonInstance = new CMyPVRClientInstance_Type1(instance, version); - /// else if (instanceID == "my_special_id_2") - /// addonInstance = new CMyPVRClientInstance_Type2(instance, version); - /// return ADDON_STATUS_OK; - /// } - /// else if (...) - /// { - /// ... - /// } - /// return ADDON_STATUS_UNKNOWN; - /// } - /// - /// ... - /// ~~~~~~~~~~~~~ - /// - #define PVR_STREAM_PROPERTY_INPUTSTREAM_INSTANCE_ID STREAM_PROPERTY_INPUTSTREAM_INSTANCE_ID - - /// @brief the MIME type of the stream that should be played. - /// - #define PVR_STREAM_PROPERTY_MIMETYPE "mimetype" - - /// @brief "true" to denote that the stream that should be played is a - /// realtime stream. - /// - /// Any other value indicates that this is no realtime stream. - /// - #define PVR_STREAM_PROPERTY_ISREALTIMESTREAM STREAM_PROPERTY_ISREALTIMESTREAM - - /// @brief "true" to denote that if the stream is from an EPG tag. - /// - /// It should be played is a live stream. Otherwise if it's a EPG tag it will - /// play as normal video. - /// - #define PVR_STREAM_PROPERTY_EPGPLAYBACKASLIVE "epgplaybackaslive" - - /// @brief Special value for @ref PVR_STREAM_PROPERTY_INPUTSTREAM to use - /// ffmpeg to directly play a stream URL. - #define PVR_STREAM_PROPERTY_VALUE_INPUTSTREAMFFMPEG STREAM_PROPERTY_VALUE_INPUTSTREAMFFMPEG - - ///@} - //----------------------------------------------------------------------------- - - /*! - * @brief "C" PVR add-on capabilities. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRCapabilities for description of values. - */ - typedef struct PVR_ADDON_CAPABILITIES - { - bool bSupportsEPG; - bool bSupportsEPGEdl; - bool bSupportsTV; - bool bSupportsRadio; - bool bSupportsRecordings; - bool bSupportsRecordingsUndelete; - bool bSupportsTimers; - bool bSupportsChannelGroups; - bool bSupportsChannelScan; - bool bSupportsChannelSettings; - bool bHandlesInputStream; - bool bHandlesDemuxing; - bool bSupportsRecordingPlayCount; - bool bSupportsLastPlayedPosition; - bool bSupportsRecordingEdl; - bool bSupportsRecordingsRename; - bool bSupportsRecordingsLifetimeChange; - bool bSupportsDescrambleInfo; - bool bSupportsAsyncEPGTransfer; - bool bSupportsRecordingSize; - - unsigned int iRecordingsLifetimesSize; - struct PVR_ATTRIBUTE_INT_VALUE recordingsLifetimeValues[PVR_ADDON_ATTRIBUTE_VALUES_ARRAY_SIZE]; - } PVR_ADDON_CAPABILITIES; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_menu_hook.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_menu_hook.h deleted file mode 100644 index df2216f..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_menu_hook.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 7 - Menu hook -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Menuhook_PVR_MENUHOOK_CAT enum PVR_MENUHOOK_CAT - /// @ingroup cpp_kodi_addon_pvr_Defs_Menuhook - /// @brief **PVR context menu hook categories**\n - /// Possible menu types given to Kodi with @ref kodi::addon::CInstancePVRClient::AddMenuHook(). - /// - ///@{ - typedef enum PVR_MENUHOOK_CAT - { - /// @brief __-1__ : Unknown menu hook. - PVR_MENUHOOK_UNKNOWN = -1, - - /// @brief __0__ : All categories. - PVR_MENUHOOK_ALL = 0, - - /// @brief __1__ : For channels. - PVR_MENUHOOK_CHANNEL = 1, - - /// @brief __2__ : For timers. - PVR_MENUHOOK_TIMER = 2, - - /// @brief __3__ : For EPG. - PVR_MENUHOOK_EPG = 3, - - /// @brief __4__ : For recordings. - PVR_MENUHOOK_RECORDING = 4, - - /// @brief __5__ : For deleted recordings. - PVR_MENUHOOK_DELETED_RECORDING = 5, - - /// @brief __6__ : For settings. - PVR_MENUHOOK_SETTING = 6, - } PVR_MENUHOOK_CAT; - ///@} - //---------------------------------------------------------------------------- - - /*! - * @brief "C" PVR add-on menu hook. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRMenuhook for description of values. - */ - typedef struct PVR_MENUHOOK - { - unsigned int iHookId; - unsigned int iLocalizedStringId; - enum PVR_MENUHOOK_CAT category; - } PVR_MENUHOOK; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_recordings.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_recordings.h deleted file mode 100644 index 1a7fc66..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_recordings.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#include -#include -#include - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 5 - PVR recordings -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Recording_PVR_RECORDING_FLAG enum PVR_RECORDING_FLAG - /// @ingroup cpp_kodi_addon_pvr_Defs_Recording - /// @brief **Bit field of independent flags associated with the EPG entry.**\n - /// Values used by @ref kodi::addon::PVRRecording::SetFlags(). - /// - /// Here's example about the use of this: - /// ~~~~~~~~~~~~~{.cpp} - /// kodi::addon::PVRRecording tag; - /// tag.SetFlags(PVR_RECORDING_FLAG_IS_SERIES | PVR_RECORDING_FLAG_IS_PREMIERE); - /// ~~~~~~~~~~~~~ - /// - ///@{ - typedef enum PVR_RECORDING_FLAG - { - /// @brief __0000 0000__ : Nothing special to say about this recording. - PVR_RECORDING_FLAG_UNDEFINED = 0, - - /// @brief __0000 0001__ : This recording is part of a series. - PVR_RECORDING_FLAG_IS_SERIES = (1 << 0), - - /// @brief __0000 0010__ : This recording will be flagged as new. - PVR_RECORDING_FLAG_IS_NEW = (1 << 1), - - /// @brief __0000 0100__ : This recording will be flagged as a premiere. - PVR_RECORDING_FLAG_IS_PREMIERE = (1 << 2), - - /// @brief __0000 1000__ : This recording will be flagged as a finale. - PVR_RECORDING_FLAG_IS_FINALE = (1 << 3), - - /// @brief __0001 0000__ : This recording will be flagged as live. - PVR_RECORDING_FLAG_IS_LIVE = (1 << 4), - } PVR_RECORDING_FLAG; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_Recording_PVRRecording - /// @brief Special @ref kodi::addon::PVRRecording::SetSeriesNumber() and - /// @ref kodi::addon::PVRRecording::SetEpisodeNumber() value to indicate it is - /// not to be used. - /// - /// Used if recording has no valid season and/or episode info. - /// - #define PVR_RECORDING_INVALID_SERIES_EPISODE EPG_TAG_INVALID_SERIES_EPISODE - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_Recording_PVRRecording - /// @brief Value where set in background to inform that related part not used. - /// - /// Normally this related parts need not to set by this as it is default. - #define PVR_RECORDING_VALUE_NOT_AVAILABLE -1 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Recording_PVR_RECORDING_CHANNEL_TYPE enum PVR_RECORDING_CHANNEL_TYPE - /// @ingroup cpp_kodi_addon_pvr_Defs_Recording - /// @brief **PVR recording channel types**\n - /// Used on @ref kodi::addon::PVRRecording::SetChannelType() value to set related - /// type. - /// - ///@{ - typedef enum PVR_RECORDING_CHANNEL_TYPE - { - /// @brief __0__ : Unknown type. - PVR_RECORDING_CHANNEL_TYPE_UNKNOWN = 0, - - /// @brief __1__ : TV channel. - PVR_RECORDING_CHANNEL_TYPE_TV = 1, - - /// @brief __2__ : Radio channel. - PVR_RECORDING_CHANNEL_TYPE_RADIO = 2, - } PVR_RECORDING_CHANNEL_TYPE; - ///@} - //---------------------------------------------------------------------------- - - /*! - * @brief "C" PVR add-on recording. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref kodi::addon::PVRRecording for description of values. - */ - typedef struct PVR_RECORDING - { - char strRecordingId[PVR_ADDON_NAME_STRING_LENGTH]; - char strTitle[PVR_ADDON_NAME_STRING_LENGTH]; - char strEpisodeName[PVR_ADDON_NAME_STRING_LENGTH]; - int iSeriesNumber; - int iEpisodeNumber; - int iYear; - char strDirectory[PVR_ADDON_URL_STRING_LENGTH]; - char strPlotOutline[PVR_ADDON_DESC_STRING_LENGTH]; - char strPlot[PVR_ADDON_DESC_STRING_LENGTH]; - char strGenreDescription[PVR_ADDON_DESC_STRING_LENGTH]; - char strChannelName[PVR_ADDON_NAME_STRING_LENGTH]; - char strIconPath[PVR_ADDON_URL_STRING_LENGTH]; - char strThumbnailPath[PVR_ADDON_URL_STRING_LENGTH]; - char strFanartPath[PVR_ADDON_URL_STRING_LENGTH]; - time_t recordingTime; - int iDuration; - int iPriority; - int iLifetime; - int iGenreType; - int iGenreSubType; - int iPlayCount; - int iLastPlayedPosition; - bool bIsDeleted; - unsigned int iEpgEventId; - int iChannelUid; - enum PVR_RECORDING_CHANNEL_TYPE channelType; - char strFirstAired[PVR_ADDON_DATE_STRING_LENGTH]; - unsigned int iFlags; - int64_t sizeInBytes; - } PVR_RECORDING; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h deleted file mode 100644 index 04b4059..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_stream.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#ifdef BUILD_KODI_ADDON -#include "../../../DemuxPacket.h" -#else -#include "cores/VideoPlayer/Interface/Addon/DemuxPacket.h" -#endif - -#include -#include - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 9 - PVR stream definitions (NOTE: Becomes replaced -// in future by inputstream addon instance way) -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_Stream - /// @brief Maximum of allowed streams - /// - #define PVR_STREAM_MAX_STREAMS 20 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_Stream - /// @brief Invalid codec identifier - /// - #define PVR_INVALID_CODEC_ID 0 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @ingroup cpp_kodi_addon_pvr_Defs_Stream - /// @brief Invalid codec - /// - #define PVR_INVALID_CODEC \ - { \ - PVR_CODEC_TYPE_UNKNOWN, PVR_INVALID_CODEC_ID \ - } - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Stream_PVR_CODEC_TYPE enum PVR_CODEC_TYPE - /// @ingroup cpp_kodi_addon_pvr_Defs_Stream - /// @brief **Inputstream types**\n - /// To identify type on stream. - /// - /// Used on @ref kodi::addon::PVRStreamProperties::SetCodecType and @ref kodi::addon::PVRStreamProperties::SetCodecType. - /// - ///@{ - typedef enum PVR_CODEC_TYPE - { - /// @brief To set nothing defined. - PVR_CODEC_TYPE_UNKNOWN = -1, - - /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Video. - PVR_CODEC_TYPE_VIDEO, - - /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Audio. - PVR_CODEC_TYPE_AUDIO, - - /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Data. - /// - /// With codec id related source identified. - PVR_CODEC_TYPE_DATA, - - /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Subtitle. - PVR_CODEC_TYPE_SUBTITLE, - - /// @brief To identify @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Radio RDS. - PVR_CODEC_TYPE_RDS, - - PVR_CODEC_TYPE_NB - } PVR_CODEC_TYPE; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Stream_PVR_CODEC struct PVR_CODEC - /// @ingroup cpp_kodi_addon_pvr_Defs_Stream - /// @brief **Codec identification structure**\n - /// Identifier about stream between Kodi and addon. - /// - ///@{ - typedef struct PVR_CODEC - { - /// @brief Used codec type for stream. - enum PVR_CODEC_TYPE codec_type; - - /// @brief Related codec identifier, normally match the ffmpeg id's. - unsigned int codec_id; - } PVR_CODEC; - ///@} - //---------------------------------------------------------------------------- - - /*! - * @brief "C" Stream properties - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties for description of values. - */ - typedef struct PVR_STREAM_PROPERTIES - { - unsigned int iStreamCount; - struct PVR_STREAM - { - unsigned int iPID; - enum PVR_CODEC_TYPE iCodecType; - unsigned int iCodecId; - char strLanguage[4]; - int iSubtitleInfo; - int iFPSScale; - int iFPSRate; - int iHeight; - int iWidth; - float fAspect; - int iChannels; - int iSampleRate; - int iBlockAlign; - int iBitRate; - int iBitsPerSample; - } stream[PVR_STREAM_MAX_STREAMS]; - } PVR_STREAM_PROPERTIES; - - /*! - * @brief "C" Times of playing stream (Live TV and recordings) - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref cpp_kodi_addon_pvr_Defs_Stream_PVRStreamTimes for description of values. - */ - typedef struct PVR_STREAM_TIMES - { - time_t startTime; - int64_t ptsStart; - int64_t ptsBegin; - int64_t ptsEnd; - } PVR_STREAM_TIMES; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_timers.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_timers.h deleted file mode 100644 index bc16adb..0000000 --- a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/pvr/pvr_timers.h +++ /dev/null @@ -1,407 +0,0 @@ -/* - * 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 - -#include "pvr_defines.h" - -#include -#include -#include - -//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -// "C" Definitions group 6 - PVR timers -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Timer_PVR_TIMER_ definition PVR_TIMER (various) - /// @ingroup cpp_kodi_addon_pvr_Defs_Timer - /// @brief **PVR timer various different definitions**\n - /// This mostly used on @ref cpp_kodi_addon_pvr_Defs_Timer_PVRTimer "kodi::addon::PVRTimer" - /// to define default or not available. - /// - ///@{ - - //============================================================================ - /// @brief Numeric PVR timer type definitions (@ref kodi::addon::PVRTimer::SetTimerType() - /// values). - /// - /// "Null" value for a numeric timer type. - #define PVR_TIMER_TYPE_NONE 0 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @brief Special @ref kodi::addon::PVRTimer::SetClientIndex() value to indicate - /// that a timer has not (yet) a valid client index. - /// - /// Timer has not (yet) a valid client index. - #define PVR_TIMER_NO_CLIENT_INDEX 0 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @brief Special @ref kodi::addon::PVRTimer::SetParentClientIndex() value to - /// indicate that a timer has no parent. - /// - /// Timer has no parent; it was not scheduled by a repeating timer. - #define PVR_TIMER_NO_PARENT PVR_TIMER_NO_CLIENT_INDEX - //---------------------------------------------------------------------------- - - //============================================================================ - /// @brief Special @ref kodi::addon::PVRTimer::SetEPGUid() value to indicate - /// that a timer has no EPG event uid. - /// - /// Timer has no EPG event unique identifier. - #define PVR_TIMER_NO_EPG_UID EPG_TAG_INVALID_UID - //---------------------------------------------------------------------------- - - //============================================================================ - /// @brief Special @ref kodi::addon::PVRTimer::SetClientChannelUid() value to - /// indicate "any channel". Useful for some repeating timer types. - /// - /// denotes "any channel", not a specific one. - /// - #define PVR_TIMER_ANY_CHANNEL -1 - //---------------------------------------------------------------------------- - - //============================================================================ - /// @brief Value where set in background to inform that related part not used. - /// - /// Normally this related parts need not to set by this as it is default. - #define PVR_TIMER_VALUE_NOT_AVAILABLE -1 - //---------------------------------------------------------------------------- - - ///@} - //---------------------------------------------------------------------------- - - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Timer_PVR_TIMER_TYPES enum PVR_TIMER_TYPES - /// @ingroup cpp_kodi_addon_pvr_Defs_Timer - /// @brief **PVR timer type attributes (@ref kodi::addon::PVRTimerType::SetAttributes() values).**\n - /// To defines the attributes for a type. These values are bit fields that can be - /// used together. - /// - ///-------------------------------------------------------------------------- - /// - /// **Example:** - /// ~~~~~~~~~~~~~{.cpp} - /// kodi::addon::PVRTimerType tag; - /// tag.SetAttributes(PVR_TIMER_TYPE_IS_MANUAL | PVR_TIMER_TYPE_IS_REPEATING); - /// ~~~~~~~~~~~~~ - /// - ///@{ - typedef enum PVR_TIMER_TYPES - { - /// @brief __0000 0000 0000 0000 0000 0000 0000 0000__ :\n Empty attribute value. - PVR_TIMER_TYPE_ATTRIBUTE_NONE = 0, - - /// @brief __0000 0000 0000 0000 0000 0000 0000 0001__ :\n Defines whether this is a type for - /// manual (time-based) or epg-based timers. - PVR_TIMER_TYPE_IS_MANUAL = (1 << 0), - - /// @brief __0000 0000 0000 0000 0000 0000 0000 0010__ :\n Defines whether this is a type for - /// repeating or one-shot timers. - PVR_TIMER_TYPE_IS_REPEATING = (1 << 1), - - /// @brief __0000 0000 0000 0000 0000 0000 0000 0100__ :\n Timers of this type must not be edited - /// by Kodi. - PVR_TIMER_TYPE_IS_READONLY = (1 << 2), - - /// @brief __0000 0000 0000 0000 0000 0000 0000 1000__ :\n Timers of this type must not be created - /// by Kodi. All other operations are allowed, though. - PVR_TIMER_TYPE_FORBIDS_NEW_INSTANCES = (1 << 3), - - /// @brief __0000 0000 0000 0000 0000 0000 0001 0000__ :\n This type supports enabling/disabling - /// of the timer (@ref kodi::addon::PVRTimer::SetState() with - /// @ref PVR_TIMER_STATE_SCHEDULED | @ref PVR_TIMER_STATE_DISABLED). - PVR_TIMER_TYPE_SUPPORTS_ENABLE_DISABLE = (1 << 4), - - /// @brief __0000 0000 0000 0000 0000 0000 0010 0000__ :\n This type supports channels - /// (@ref kodi::addon::PVRTimer::SetClientChannelUid()). - PVR_TIMER_TYPE_SUPPORTS_CHANNELS = (1 << 5), - - /// @brief __0000 0000 0000 0000 0000 0000 0100 0000__ :\n This type supports a recording start - /// time (@ref kodi::addon::PVRTimer::SetStartTime()). - PVR_TIMER_TYPE_SUPPORTS_START_TIME = (1 << 6), - - /// @brief __0000 0000 0000 0000 0000 0000 1000 0000__ :\n This type supports matching epg episode - /// title using@ref kodi::addon::PVRTimer::SetEPGSearchString(). - PVR_TIMER_TYPE_SUPPORTS_TITLE_EPG_MATCH = (1 << 7), - - /// @brief __0000 0000 0000 0000 0000 0001 0000 0000__ :\n This type supports matching "more" epg - /// data (not just episode title) using @ref kodi::addon::PVRTimer::SetEPGSearchString(). - /// Setting @ref PVR_TIMER_TYPE_SUPPORTS_FULLTEXT_EPG_MATCH implies - /// @ref PVR_TIMER_TYPE_SUPPORTS_TITLE_EPG_MATCH. - PVR_TIMER_TYPE_SUPPORTS_FULLTEXT_EPG_MATCH = (1 << 8), - - /// @brief __0000 0000 0000 0000 0000 0010 0000 0000__ :\n This type supports a first day the - /// timer gets active (@ref kodi::addon::PVRTimer::SetFirstDay()). - PVR_TIMER_TYPE_SUPPORTS_FIRST_DAY = (1 << 9), - - /// @brief __0000 0000 0000 0000 0000 0100 0000 0000__ :\n This type supports weekdays for - /// defining the recording schedule (@ref kodi::addon::PVRTimer::SetWeekdays()). - PVR_TIMER_TYPE_SUPPORTS_WEEKDAYS = (1 << 10), - - /// @brief __0000 0000 0000 0000 0000 1000 0000 0000__ :\n This type supports the "record only new episodes" feature - /// (@ref kodi::addon::PVRTimer::SetPreventDuplicateEpisodes()). - PVR_TIMER_TYPE_SUPPORTS_RECORD_ONLY_NEW_EPISODES = (1 << 11), - - /// @brief __0000 0000 0000 0000 0001 0000 0000 0000__ :\n This type supports pre and post record time (@ref kodi::addon::PVRTimer::SetMarginStart(), - /// @ref kodi::addon::PVRTimer::SetMarginEnd()). - PVR_TIMER_TYPE_SUPPORTS_START_END_MARGIN = (1 << 12), - - /// @brief __0000 0000 0000 0000 0010 0000 0000 0000__ :\n This type supports recording priority (@ref kodi::addon::PVRTimer::SetPriority()). - PVR_TIMER_TYPE_SUPPORTS_PRIORITY = (1 << 13), - - /// @brief __0000 0000 0000 0000 0100 0000 0000 0000__ :\n This type supports recording lifetime (@ref kodi::addon::PVRTimer::SetLifetime()). - PVR_TIMER_TYPE_SUPPORTS_LIFETIME = (1 << 14), - - /// @brief __0000 0000 0000 0000 1000 0000 0000 0000__ :\n This type supports placing recordings in user defined folders - /// (@ref kodi::addon::PVRTimer::SetDirectory()). - PVR_TIMER_TYPE_SUPPORTS_RECORDING_FOLDERS = (1 << 15), - - /// @brief __0000 0000 0000 0001 0000 0000 0000 0000__ :\n This type supports a list of recording groups - /// (@ref kodi::addon::PVRTimer::SetRecordingGroup()). - PVR_TIMER_TYPE_SUPPORTS_RECORDING_GROUP = (1 << 16), - - /// @brief __0000 0000 0000 0010 0000 0000 0000 0000__ :\n This type supports a recording end time (@ref kodi::addon::PVRTimer::SetEndTime()). - PVR_TIMER_TYPE_SUPPORTS_END_TIME = (1 << 17), - - /// @brief __0000 0000 0000 0100 0000 0000 0000 0000__ :\n Enables an 'Any Time' over-ride option for start time - /// (using @ref kodi::addon::PVRTimer::SetStartAnyTime()). - PVR_TIMER_TYPE_SUPPORTS_START_ANYTIME = (1 << 18), - - /// @brief __0000 0000 0000 1000 0000 0000 0000 0000__ :\n Enables a separate 'Any Time' over-ride for end time - /// (using @ref kodi::addon::PVRTimer::SetEndAnyTime()). - PVR_TIMER_TYPE_SUPPORTS_END_ANYTIME = (1 << 19), - - /// @brief __0000 0000 0001 0000 0000 0000 0000 0000__ :\n This type supports specifying a maximum recordings setting' - /// (@ref kodi::addon::PVRTimer::SetMaxRecordings()). - PVR_TIMER_TYPE_SUPPORTS_MAX_RECORDINGS = (1 << 20), - - /// @brief __0000 0000 0010 0000 0000 0000 0000 0000__ :\n This type should not appear on any create menus which don't - /// provide an associated @ref cpp_kodi_addon_pvr_Defs_epg_PVREPGTag "EPG tag". - PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE = (1 << 21), - - /// @brief __0000 0000 0100 0000 0000 0000 0000 0000__ :\n This type should not appear on any create menus which provide an - /// associated @ref cpp_kodi_addon_pvr_Defs_epg_PVREPGTag "EPG tag". - PVR_TIMER_TYPE_FORBIDS_EPG_TAG_ON_CREATE = (1 << 22), - - /// @brief __0000 0000 1000 0000 0000 0000 0000 0000__ :\n This type should not appear on any create menus unless associated - /// with an @ref cpp_kodi_addon_pvr_Defs_epg_PVREPGTag "EPG tag" with - /// 'series' attributes. - /// - /// Following conditions allow this: - /// - @ref kodi::addon::PVREPGTag::SetFlags() have flag @ref EPG_TAG_FLAG_IS_SERIES - /// - @ref kodi::addon::PVREPGTag::SetSeriesNumber() > 0 - /// - @ref kodi::addon::PVREPGTag::SetEpisodeNumber() > 0 - /// - @ref kodi::addon::PVREPGTag::SetEpisodePartNumber() > 0 - /// - /// Implies @ref PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE. - PVR_TIMER_TYPE_REQUIRES_EPG_SERIES_ON_CREATE = (1 << 23), - - /// @brief __0000 0001 0000 0000 0000 0000 0000 0000__ :\n This type supports 'any channel', for example when defining a timer - /// rule that should match any channel instaed of a particular channel. - PVR_TIMER_TYPE_SUPPORTS_ANY_CHANNEL = (1 << 24), - - /// @brief __0000 0010 0000 0000 0000 0000 0000 0000__ :\n This type should not appear on any create menus which don't provide - /// an associated @ref cpp_kodi_addon_pvr_Defs_epg_PVREPGTag "EPG tag" with - /// a series link. - PVR_TIMER_TYPE_REQUIRES_EPG_SERIESLINK_ON_CREATE = (1 << 25), - - /// @brief __0000 0100 0000 0000 0000 0000 0000 0000__ :\n This type allows deletion of an otherwise read-only timer. - PVR_TIMER_TYPE_SUPPORTS_READONLY_DELETE = (1 << 26), - - /// @brief __0000 1000 0000 0000 0000 0000 0000 0000__ :\n Timers of this type do trigger a reminder if time is up. - PVR_TIMER_TYPE_IS_REMINDER = (1 << 27), - - /// @brief __0001 0000 0000 0000 0000 0000 0000 0000__ :\n This type supports pre record time (@ref kodi::addon::PVRTimer::SetMarginStart()). - PVR_TIMER_TYPE_SUPPORTS_START_MARGIN = (1 << 28), - - /// @brief __0010 0000 0000 0000 0000 0000 0000 0000__ :\n This type supports post record time (@ref kodi::addon::PVRTimer::SetMarginEnd()). - PVR_TIMER_TYPE_SUPPORTS_END_MARGIN = (1 << 29), - } PVR_TIMER_TYPES; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Timer_PVR_WEEKDAY enum PVR_WEEKDAY - /// @ingroup cpp_kodi_addon_pvr_Defs_Timer - /// @brief **PVR timer weekdays** (@ref kodi::addon::PVRTimer::SetWeekdays() **values**)\n - /// Used to select the days of a week you want. - /// - /// It can be also used to select several days e.g.: - /// ~~~~~~~~~~~~~{.cpp} - /// ... - /// unsigned int day = PVR_WEEKDAY_MONDAY | PVR_WEEKDAY_SATURDAY; - /// ... - /// ~~~~~~~~~~~~~ - /// - ///@{ - typedef enum PVR_WEEKDAYS - { - /// @brief __0000 0000__ : Nothing selected. - PVR_WEEKDAY_NONE = 0, - - /// @brief __0000 0001__ : To select Monday. - PVR_WEEKDAY_MONDAY = (1 << 0), - - /// @brief __0000 0010__ : To select Tuesday. - PVR_WEEKDAY_TUESDAY = (1 << 1), - - /// @brief __0000 0100__ : To select Wednesday. - PVR_WEEKDAY_WEDNESDAY = (1 << 2), - - /// @brief __0000 1000__ : To select Thursday. - PVR_WEEKDAY_THURSDAY = (1 << 3), - - /// @brief __0001 0000__ : To select Friday. - PVR_WEEKDAY_FRIDAY = (1 << 4), - - /// @brief __0010 0000__ : To select Saturday. - PVR_WEEKDAY_SATURDAY = (1 << 5), - - /// @brief __0100 0000__ : To select Sunday. - PVR_WEEKDAY_SUNDAY = (1 << 6), - - /// @brief __0111 1111__ : To select all days of week. - PVR_WEEKDAY_ALLDAYS = PVR_WEEKDAY_MONDAY | PVR_WEEKDAY_TUESDAY | PVR_WEEKDAY_WEDNESDAY | - PVR_WEEKDAY_THURSDAY | PVR_WEEKDAY_FRIDAY | PVR_WEEKDAY_SATURDAY | - PVR_WEEKDAY_SUNDAY - } PVR_WEEKDAY; - ///@} - //---------------------------------------------------------------------------- - - //============================================================================ - /// @defgroup cpp_kodi_addon_pvr_Defs_Timer_PVR_TIMER_STATE enum PVR_TIMER_STATE - /// @ingroup cpp_kodi_addon_pvr_Defs_Timer - /// @brief **PVR timer states**\n - /// To set within @ref cpp_kodi_addon_pvr_Defs_Timer_PVRTimer "kodi::addon::PVRTimer" - /// the needed state about. - /// - ///@{ - typedef enum PVR_TIMER_STATE - { - /// @brief __0__ : The timer was just created on the backend and is not yet active. - /// - /// This state must not be used for timers just created on the client side. - PVR_TIMER_STATE_NEW = 0, - - /// @brief __1__ : The timer is scheduled for recording. - PVR_TIMER_STATE_SCHEDULED = 1, - - /// @brief __2__ : The timer is currently recordings. - PVR_TIMER_STATE_RECORDING = 2, - - /// @brief __3__ : The recording completed successfully. - PVR_TIMER_STATE_COMPLETED = 3, - - /// @brief __4__ : Recording started, but was aborted. - PVR_TIMER_STATE_ABORTED = 4, - - /// @brief __5__ : The timer was scheduled, but was canceled. - PVR_TIMER_STATE_CANCELLED = 5, - - /// @brief __6__ : The scheduled timer conflicts with another one, but will be - /// recorded. - PVR_TIMER_STATE_CONFLICT_OK = 6, - - /// @brief __7__ : The scheduled timer conflicts with another one and won't be - /// recorded. - PVR_TIMER_STATE_CONFLICT_NOK = 7, - - /// @brief __8__ : The timer is scheduled, but can't be recorded for some reason. - PVR_TIMER_STATE_ERROR = 8, - - /// @brief __9__ : The timer was disabled by the user, can be enabled via setting - /// the state to @ref PVR_TIMER_STATE_SCHEDULED. - PVR_TIMER_STATE_DISABLED = 9, - } PVR_TIMER_STATE; - ///@} - //---------------------------------------------------------------------------- - - /*! - * @brief "C" PVR add-on timer event. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref cpp_kodi_addon_pvr_Defs_Timer_PVRTimer "kodi::addon::PVRTimer" for - * description of values. - */ - typedef struct PVR_TIMER - { - unsigned int iClientIndex; - unsigned int iParentClientIndex; - int iClientChannelUid; - time_t startTime; - time_t endTime; - bool bStartAnyTime; - bool bEndAnyTime; - enum PVR_TIMER_STATE state; - unsigned int iTimerType; - char strTitle[PVR_ADDON_NAME_STRING_LENGTH]; - char strEpgSearchString[PVR_ADDON_NAME_STRING_LENGTH]; - bool bFullTextEpgSearch; - char strDirectory[PVR_ADDON_URL_STRING_LENGTH]; - char strSummary[PVR_ADDON_DESC_STRING_LENGTH]; - int iPriority; - int iLifetime; - int iMaxRecordings; - unsigned int iRecordingGroup; - time_t firstDay; - unsigned int iWeekdays; - unsigned int iPreventDuplicateEpisodes; - unsigned int iEpgUid; - unsigned int iMarginStart; - unsigned int iMarginEnd; - int iGenreType; - int iGenreSubType; - char strSeriesLink[PVR_ADDON_URL_STRING_LENGTH]; - } PVR_TIMER; - - /*! - * @brief "C" PVR add-on timer event type. - * - * Structure used to interface in "C" between Kodi and Addon. - * - * See @ref cpp_kodi_addon_pvr_Defs_Timer_PVRTimerType "kodi::addon::PVRTimerType" for - * description of values. - */ - typedef struct PVR_TIMER_TYPE - { - unsigned int iId; - uint64_t iAttributes; - char strDescription[PVR_ADDON_TIMERTYPE_STRING_LENGTH]; - - unsigned int iPrioritiesSize; - struct PVR_ATTRIBUTE_INT_VALUE priorities[PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE]; - int iPrioritiesDefault; - - unsigned int iLifetimesSize; - struct PVR_ATTRIBUTE_INT_VALUE lifetimes[PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE]; - int iLifetimesDefault; - - unsigned int iPreventDuplicateEpisodesSize; - struct PVR_ATTRIBUTE_INT_VALUE preventDuplicateEpisodes[PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE]; - unsigned int iPreventDuplicateEpisodesDefault; - - unsigned int iRecordingGroupSize; - struct PVR_ATTRIBUTE_INT_VALUE recordingGroup[PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE]; - unsigned int iRecordingGroupDefault; - - unsigned int iMaxRecordingsSize; - struct PVR_ATTRIBUTE_INT_VALUE maxRecordings[PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE_SMALL]; - int iMaxRecordingsDefault; - } PVR_TIMER_TYPE; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -- cgit v1.2.3