diff --git a/xbmc/addons/interface/api/addon-instance/pvr.cpp b/xbmc/addons/interface/api/addon-instance/pvr.cpp index a630b7c0a65e9..893ba3d9f52ee 100644 --- a/xbmc/addons/interface/api/addon-instance/pvr.cpp +++ b/xbmc/addons/interface/api/addon-instance/pvr.cpp @@ -45,6 +45,7 @@ void CHdl_kodi_addoninstance_pvr_h::InitDirect(directFuncToKodi_addoninstance_pv ifcToKodi->kodi_addon_pvr_connection_state_change_v1 = kodi_addon_pvr_connection_state_change_v1; ifcToKodi->kodi_addon_pvr_epg_event_state_change_v1 = kodi_addon_pvr_epg_event_state_change_v1; ifcToKodi->kodi_addon_pvr_transfer_channel_entry_v1 = kodi_addon_pvr_transfer_channel_entry_v1; + ifcToKodi->kodi_addon_pvr_transfer_provider_entry_v1 = kodi_addon_pvr_transfer_provider_entry_v1; ifcToKodi->kodi_addon_pvr_transfer_channel_group_v1 = kodi_addon_pvr_transfer_channel_group_v1; ifcToKodi->kodi_addon_pvr_transfer_channel_group_member_v1 = kodi_addon_pvr_transfer_channel_group_member_v1; @@ -53,6 +54,7 @@ void CHdl_kodi_addoninstance_pvr_h::InitDirect(directFuncToKodi_addoninstance_pv kodi_addon_pvr_transfer_recording_entry_v1; ifcToKodi->kodi_addon_pvr_transfer_timer_entry_v1 = kodi_addon_pvr_transfer_timer_entry_v1; ifcToKodi->kodi_addon_pvr_trigger_channel_update_v1 = kodi_addon_pvr_trigger_channel_update_v1; + ifcToKodi->kodi_addon_pvr_trigger_provider_update_v1 = kodi_addon_pvr_trigger_provider_update_v1; ifcToKodi->kodi_addon_pvr_trigger_channel_groups_update_v1 = kodi_addon_pvr_trigger_channel_groups_update_v1; ifcToKodi->kodi_addon_pvr_trigger_epg_update_v1 = kodi_addon_pvr_trigger_epg_update_v1; @@ -159,6 +161,20 @@ bool CHdl_kodi_addoninstance_pvr_h::HandleMessage(int funcGroup, kodi_addon_pvr_transfer_channel_entry_v1(this, hdl, handle, &chan); return true; } + case funcParent_kodi_addon_pvr_transfer_provider_entry_v1: + { + // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_provider_entry( KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_PROVIDER* provider) __INTRODUCED_IN_KODI(1); + // Tuple in: typedef std::tuple msgParent__IN_kodi_addon_pvr_transfer_provider_entry_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgParent_OUT_kodi_addon_pvr_transfer_provider_entry_v1; /* Autogenerated */ + msgParent__IN_kodi_addon_pvr_transfer_provider_entry_v1 t = in.get().as(); + PVR_PROVIDER provider; + KODI_OWN_HDL hdl = reinterpret_cast(std::get<0>(t)); + const KODI_ADDON_PVR_TRANSFER_HDL handle = + reinterpret_cast(std::get<1>(t)); + std::get<2>(t).SetCStructure(&provider); + kodi_addon_pvr_transfer_provider_entry_v1(this, hdl, handle, &provider); + return true; + } case funcParent_kodi_addon_pvr_transfer_channel_group_v1: { // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_channel_group( KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_CHANNEL_GROUP* group) __INTRODUCED_IN_KODI(1); @@ -239,6 +255,16 @@ bool CHdl_kodi_addoninstance_pvr_h::HandleMessage(int funcGroup, kodi_addon_pvr_trigger_channel_update_v1(this, hdl); return true; } + case funcParent_kodi_addon_pvr_trigger_provider_update_v1: + { + // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_provider_update(KODI_OWN_HDL hdl) __INTRODUCED_IN_KODI(1); + // Tuple in: typedef std::tuple msgParent__IN_kodi_addon_pvr_trigger_provider_update_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgParent_OUT_kodi_addon_pvr_trigger_provider_update_v1; /* Autogenerated */ + msgParent__IN_kodi_addon_pvr_trigger_provider_update_v1 t = in.get().as(); + KODI_OWN_HDL hdl = reinterpret_cast(std::get<0>(t)); + kodi_addon_pvr_trigger_provider_update_v1(this, hdl); + return true; + } case funcParent_kodi_addon_pvr_trigger_channel_groups_update_v1: { // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_channel_groups_update(KODI_OWN_HDL hdl) __INTRODUCED_IN_KODI(1); @@ -624,6 +650,59 @@ enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_descramble_info channel_uid, descramble_info); } +enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_providers_amount_v1( + KODI_ADDON_PVR_HDL hdl, int* amount) +{ + // Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_PROVIDERS_AMOUNT_V1)( KODI_ADDON_PVR_HDL hdl, int* amount); + // Tuple in: typedef std::tuple msgChild__IN_kodi_addon_pvr_get_providers_amount_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_providers_amount_v1; /* Autogenerated */ + +#ifndef KODI_INHIBIT_SHARED + if (!m_interface.m_directDll) + { + msgpack::sbuffer in; + msgpack::sbuffer out; + msgpack::pack(in, msgChild__IN_kodi_addon_pvr_get_providers_amount_v1(PtrValue(hdl), *amount)); + if (!m_process->SendMessage(funcGroup_addoninstance_pvr_h, + funcChild_kodi_addon_pvr_get_providers_amount_v1, in, out)) + return PVR_ERROR_NO_ERROR; + msgpack::unpacked ident = msgpack::unpack(out.data(), out.size()); + msgChild_OUT_kodi_addon_pvr_get_providers_amount_v1 t = ident.get().as(); + *amount = std::get<1>(t); + return std::get<0>(t); + } +#endif /* !KODI_INHIBIT_SHARED */ + + return m_ifcToAddon->kodi_addon_pvr_get_providers_amount_v1(m_ifcToAddon->thisClassHdl, hdl, + amount); +} + +enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_providers_v1( + KODI_ADDON_PVR_HDL hdl, KODI_ADDON_PVR_TRANSFER_HDL handle) +{ + // Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_PROVIDERS_V1)( KODI_ADDON_PVR_HDL hdl, KODI_ADDON_PVR_TRANSFER_HDL handle); + // Tuple in: typedef std::tuple msgChild__IN_kodi_addon_pvr_get_providers_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_providers_v1; /* Autogenerated */ + +#ifndef KODI_INHIBIT_SHARED + if (!m_interface.m_directDll) + { + msgpack::sbuffer in; + msgpack::sbuffer out; + msgpack::pack(in, + msgChild__IN_kodi_addon_pvr_get_providers_v1(PtrValue(hdl), PtrValue(handle))); + if (!m_process->SendMessage(funcGroup_addoninstance_pvr_h, + funcChild_kodi_addon_pvr_get_providers_v1, in, out)) + return PVR_ERROR_NO_ERROR; + msgpack::unpacked ident = msgpack::unpack(out.data(), out.size()); + msgChild_OUT_kodi_addon_pvr_get_providers_v1 t = ident.get().as(); + return std::get<0>(t); + } +#endif /* !KODI_INHIBIT_SHARED */ + + return m_ifcToAddon->kodi_addon_pvr_get_providers_v1(m_ifcToAddon->thisClassHdl, hdl, handle); +} + enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_channel_groups_amount_v1( KODI_ADDON_PVR_HDL hdl, int* amount) { @@ -1918,6 +1997,24 @@ void CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_transfer_channel_entry_v1( /*---AUTO_GEN_PARSE---*/ } +void CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_transfer_provider_entry_v1( + void* thisClassHdl, + KODI_OWN_HDL hdl, + const KODI_ADDON_PVR_TRANSFER_HDL handle, + const struct PVR_PROVIDER* provider) +{ + auto thisClass = reinterpret_cast(thisClassHdl); + if (thisClass == nullptr) + return; + + /*---AUTO_GEN_PARSE---*/ + // Code below must be set manually by hand to make work to Kodi + +#warning Function "CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_transfer_provider_entry" must be set by hand. Alternatively add /*---AUTO_GEN_PARSE---*/ on back of target function in header to find on scan. + + /*---AUTO_GEN_PARSE---*/ +} + void CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_transfer_channel_group_v1( void* thisClassHdl, KODI_OWN_HDL hdl, @@ -2023,6 +2120,21 @@ void CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_trigger_channel_update_v1(voi /*---AUTO_GEN_PARSE---*/ } +void CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_trigger_provider_update_v1(void* thisClassHdl, + KODI_OWN_HDL hdl) +{ + auto thisClass = reinterpret_cast(thisClassHdl); + if (thisClass == nullptr) + return; + + /*---AUTO_GEN_PARSE---*/ + // Code below must be set manually by hand to make work to Kodi + +#warning Function "CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_trigger_provider_update" must be set by hand. Alternatively add /*---AUTO_GEN_PARSE---*/ on back of target function in header to find on scan. + + /*---AUTO_GEN_PARSE---*/ +} + void CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_trigger_channel_groups_update_v1( void* thisClassHdl, KODI_OWN_HDL hdl) { diff --git a/xbmc/addons/interface/api/addon-instance/pvr.h b/xbmc/addons/interface/api/addon-instance/pvr.h index 7be4869b77053..2099209284312 100644 --- a/xbmc/addons/interface/api/addon-instance/pvr.h +++ b/xbmc/addons/interface/api/addon-instance/pvr.h @@ -101,6 +101,12 @@ class CHdl_kodi_addoninstance_pvr_h : public IMsgHdl int channel_uid, struct PVR_DESCRAMBLE_INFO* descramble_info); // Added with API 1 + enum PVR_ERROR kodi_addon_pvr_get_providers_amount_v1(KODI_ADDON_PVR_HDL hdl, + int* amount); // Added with API 1 + + enum PVR_ERROR kodi_addon_pvr_get_providers_v1( + KODI_ADDON_PVR_HDL hdl, KODI_ADDON_PVR_TRANSFER_HDL handle); // Added with API 1 + enum PVR_ERROR kodi_addon_pvr_get_channel_groups_amount_v1(KODI_ADDON_PVR_HDL hdl, int* amount); // Added with API 1 @@ -302,6 +308,12 @@ class CHdl_kodi_addoninstance_pvr_h : public IMsgHdl const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_CHANNEL* chan); // Added with API 1 + static void kodi_addon_pvr_transfer_provider_entry_v1( + void* thisClassHdl, + KODI_OWN_HDL hdl, + const KODI_ADDON_PVR_TRANSFER_HDL handle, + const struct PVR_PROVIDER* provider); // Added with API 1 + static void kodi_addon_pvr_transfer_channel_group_v1( void* thisClassHdl, KODI_OWN_HDL hdl, @@ -335,6 +347,9 @@ class CHdl_kodi_addoninstance_pvr_h : public IMsgHdl static void kodi_addon_pvr_trigger_channel_update_v1(void* thisClassHdl, KODI_OWN_HDL hdl); // Added with API 1 + static void kodi_addon_pvr_trigger_provider_update_v1(void* thisClassHdl, + KODI_OWN_HDL hdl); // Added with API 1 + static void kodi_addon_pvr_trigger_channel_groups_update_v1(void* thisClassHdl, KODI_OWN_HDL hdl); // Added with API 1 diff --git a/xbmc/addons/kodi-dev-kit/include/kodi/c-api/dl/kodi_api_1.h b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/dl/kodi_api_1.h index b78269b89d864..7052f84f5b757 100644 --- a/xbmc/addons/kodi-dev-kit/include/kodi/c-api/dl/kodi_api_1.h +++ b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/dl/kodi_api_1.h @@ -8,7 +8,7 @@ /* File autogenerated, see xbmc/addons/kodi-dev-kit/tools/code-generator/code_generator.py */ -/* API_HASH */ +/* API_HASH<6de84e92cebf005888ff9ab18b7a40fe6171dd2efc963b5ee8e555b90e336384> */ #ifndef C_API_DL_API_1_H #define C_API_DL_API_1_H @@ -76,6 +76,7 @@ extern "C" struct PVR_MENUHOOK; struct EPG_TAG; struct PVR_CHANNEL; + struct PVR_PROVIDER; struct PVR_CHANNEL_GROUP; struct PVR_CHANNEL_GROUP_MEMBER; struct PVR_RECORDING; @@ -341,6 +342,8 @@ extern "C" KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct PVR_CHANNEL_GROUP*); typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRANSFER_EPG_ENTRY_V1)( KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct EPG_TAG*); + typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRANSFER_PROVIDER_ENTRY_V1)( + KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct PVR_PROVIDER*); typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRANSFER_RECORDING_ENTRY_V1)( KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct PVR_RECORDING*); typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRANSFER_TIMER_ENTRY_V1)( @@ -349,6 +352,7 @@ extern "C" typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRIGGER_CHANNEL_UPDATE_V1)(KODI_OWN_HDL); typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRIGGER_EPG_UPDATE_V1)(KODI_OWN_HDL, unsigned int); + typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRIGGER_PROVIDER_UPDATE_V1)(KODI_OWN_HDL); typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRIGGER_RECORDING_UPDATE_V1)(KODI_OWN_HDL); typedef void(ATTR_DL_APIENTRYP PFN_KODI_ADDON_PVR_TRIGGER_TIMER_UPDATE_V1)(KODI_OWN_HDL); @@ -1021,12 +1025,14 @@ extern "C" kodi_addon_pvr_transfer_channel_group_member; PFN_KODI_ADDON_PVR_TRANSFER_CHANNEL_GROUP_V1 kodi_addon_pvr_transfer_channel_group; PFN_KODI_ADDON_PVR_TRANSFER_EPG_ENTRY_V1 kodi_addon_pvr_transfer_epg_entry; + PFN_KODI_ADDON_PVR_TRANSFER_PROVIDER_ENTRY_V1 kodi_addon_pvr_transfer_provider_entry; PFN_KODI_ADDON_PVR_TRANSFER_RECORDING_ENTRY_V1 kodi_addon_pvr_transfer_recording_entry; PFN_KODI_ADDON_PVR_TRANSFER_TIMER_ENTRY_V1 kodi_addon_pvr_transfer_timer_entry; PFN_KODI_ADDON_PVR_TRIGGER_CHANNEL_GROUPS_UPDATE_V1 kodi_addon_pvr_trigger_channel_groups_update; PFN_KODI_ADDON_PVR_TRIGGER_CHANNEL_UPDATE_V1 kodi_addon_pvr_trigger_channel_update; PFN_KODI_ADDON_PVR_TRIGGER_EPG_UPDATE_V1 kodi_addon_pvr_trigger_epg_update; + PFN_KODI_ADDON_PVR_TRIGGER_PROVIDER_UPDATE_V1 kodi_addon_pvr_trigger_provider_update; PFN_KODI_ADDON_PVR_TRIGGER_RECORDING_UPDATE_V1 kodi_addon_pvr_trigger_recording_update; PFN_KODI_ADDON_PVR_TRIGGER_TIMER_UPDATE_V1 kodi_addon_pvr_trigger_timer_update; diff --git a/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.cpp b/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.cpp index 941ee39d27974..d8cda0fb9e303 100644 --- a/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.cpp +++ b/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.cpp @@ -48,6 +48,8 @@ void CHdl_kodi_addoninstance_pvr_h::InitDirect(directFuncToAddon_addoninstance_p kodi_addon_pvr_get_channel_stream_properties_v1; ifcToAddon->kodi_addon_pvr_get_signal_status_v1 = kodi_addon_pvr_get_signal_status_v1; ifcToAddon->kodi_addon_pvr_get_descramble_info_v1 = kodi_addon_pvr_get_descramble_info_v1; + ifcToAddon->kodi_addon_pvr_get_providers_amount_v1 = kodi_addon_pvr_get_providers_amount_v1; + ifcToAddon->kodi_addon_pvr_get_providers_v1 = kodi_addon_pvr_get_providers_v1; ifcToAddon->kodi_addon_pvr_get_channel_groups_amount_v1 = kodi_addon_pvr_get_channel_groups_amount_v1; ifcToAddon->kodi_addon_pvr_get_channel_groups_v1 = kodi_addon_pvr_get_channel_groups_v1; @@ -317,6 +319,36 @@ bool CHdl_kodi_addoninstance_pvr_h::HandleMessage(int funcGroup, out, msgChild_OUT_kodi_addon_pvr_get_descramble_info_v1(auto_gen_ret, &descramble_info)); return true; } + case funcChild_kodi_addon_pvr_get_providers_amount_v1: + { + // Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_PROVIDERS_AMOUNT_V1)( KODI_ADDON_PVR_HDL hdl, int* amount); + // Tuple in: typedef std::tuple msgChild__IN_kodi_addon_pvr_get_providers_amount_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_providers_amount_v1; /* Autogenerated */ + + msgChild__IN_kodi_addon_pvr_get_providers_amount_v1 t = in.get().as(); + KODI_ADDON_HDL auto_gen_hdl = reinterpret_cast(std::get<0>(t)); + int amount = std::get<1>(t); + enum PVR_ERROR auto_gen_ret = + kodi_addon_pvr_get_providers_amount_v1(this, auto_gen_hdl, &amount); + + msgpack::pack(out, msgChild_OUT_kodi_addon_pvr_get_providers_amount_v1(auto_gen_ret, amount)); + return true; + } + case funcChild_kodi_addon_pvr_get_providers_v1: + { + // Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_PROVIDERS_V1)( KODI_ADDON_PVR_HDL hdl, KODI_ADDON_PVR_TRANSFER_HDL handle); + // Tuple in: typedef std::tuple msgChild__IN_kodi_addon_pvr_get_providers_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_providers_v1; /* Autogenerated */ + + msgChild__IN_kodi_addon_pvr_get_providers_v1 t = in.get().as(); + KODI_ADDON_HDL auto_gen_hdl = reinterpret_cast(std::get<0>(t)); + KODI_ADDON_PVR_TRANSFER_HDL handle = + reinterpret_cast(std::get<1>(t)); + enum PVR_ERROR auto_gen_ret = kodi_addon_pvr_get_providers_v1(this, auto_gen_hdl, handle); + + msgpack::pack(out, msgChild_OUT_kodi_addon_pvr_get_providers_v1(auto_gen_ret)); + return true; + } case funcChild_kodi_addon_pvr_get_channel_groups_amount_v1: { // Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_CHANNEL_GROUPS_AMOUNT_V1)( KODI_ADDON_PVR_HDL hdl, int* amount); @@ -1267,6 +1299,41 @@ enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_descramble_info return auto_gen_ret; } +enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_providers_amount_v1( + void* thisClassHdl, KODI_ADDON_PVR_HDL hdl, int* amount) // Added with API 1 +{ + auto thisClass = reinterpret_cast(thisClassHdl); + if (thisClass == nullptr) + return PVR_ERROR_NO_ERROR; + + UnionAddonFunctions* union_data = reinterpret_cast(hdl); + enum PVR_ERROR auto_gen_ret = PVR_ERROR_NO_ERROR; + if (union_data->types.kodi_addon_pvr.v1.get_providers_amount) + { + auto_gen_ret = + union_data->types.kodi_addon_pvr.v1.get_providers_amount(union_data->hdl, amount); + } + return auto_gen_ret; +} + +enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_providers_v1( + void* thisClassHdl, + KODI_ADDON_PVR_HDL hdl, + KODI_ADDON_PVR_TRANSFER_HDL handle) // Added with API 1 +{ + auto thisClass = reinterpret_cast(thisClassHdl); + if (thisClass == nullptr) + return PVR_ERROR_NO_ERROR; + + UnionAddonFunctions* union_data = reinterpret_cast(hdl); + enum PVR_ERROR auto_gen_ret = PVR_ERROR_NO_ERROR; + if (union_data->types.kodi_addon_pvr.v1.get_providers) + { + auto_gen_ret = union_data->types.kodi_addon_pvr.v1.get_providers(union_data->hdl, handle); + } + return auto_gen_ret; +} + enum PVR_ERROR CHdl_kodi_addoninstance_pvr_h::kodi_addon_pvr_get_channel_groups_amount_v1( void* thisClassHdl, KODI_ADDON_PVR_HDL hdl, int* amount) // Added with API 1 { @@ -2260,6 +2327,33 @@ ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_channel_entry(KODI_OWN_HDL hdl, chan); } +ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_provider_entry( + KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_PROVIDER* provider) +{ + // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_provider_entry( KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_PROVIDER* provider) __INTRODUCED_IN_KODI(1); + // Tuple in: typedef std::tuple msgParent__IN_kodi_addon_pvr_transfer_provider_entry_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgParent_OUT_kodi_addon_pvr_transfer_provider_entry_v1; /* Autogenerated */ + + if (hdl == nullptr || handle == nullptr || provider == nullptr) + return; + +#ifndef KODI_INHIBIT_SHARED + if (!AddonIfc::g_ifc->direct_used) + { + msgpack::sbuffer in; + msgpack::pack(in, msgParent__IN_kodi_addon_pvr_transfer_provider_entry_v1( + PtrValue(hdl), PtrValue(handle), provider)); + AddonIfc::g_ifc->control->GetThreadIfc()->SendMessage( + funcGroup_addoninstance_pvr_h, funcParent_kodi_addon_pvr_transfer_provider_entry_v1, in); + return; + } +#endif /* !KODI_INHIBIT_SHARED */ + + const auto& auto_gen_group = AddonIfc::g_ifc->direct->to_kodi.addoninstance_pvr_h; + auto_gen_group.kodi_addon_pvr_transfer_provider_entry_v1(auto_gen_group.thisClassHdl, hdl, handle, + provider); +} + ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_channel_group(KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_CHANNEL_GROUP* group) @@ -2427,6 +2521,30 @@ ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_channel_update(KODI_OWN_HDL hdl) auto_gen_group.kodi_addon_pvr_trigger_channel_update_v1(auto_gen_group.thisClassHdl, hdl); } +ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_provider_update(KODI_OWN_HDL hdl) +{ + // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_provider_update(KODI_OWN_HDL hdl) __INTRODUCED_IN_KODI(1); + // Tuple in: typedef std::tuple msgParent__IN_kodi_addon_pvr_trigger_provider_update_v1; /* Autogenerated */ + // Tuple out: typedef std::tuple msgParent_OUT_kodi_addon_pvr_trigger_provider_update_v1; /* Autogenerated */ + + if (hdl == nullptr) + return; + +#ifndef KODI_INHIBIT_SHARED + if (!AddonIfc::g_ifc->direct_used) + { + msgpack::sbuffer in; + msgpack::pack(in, msgParent__IN_kodi_addon_pvr_trigger_provider_update_v1(PtrValue(hdl))); + AddonIfc::g_ifc->control->GetThreadIfc()->SendMessage( + funcGroup_addoninstance_pvr_h, funcParent_kodi_addon_pvr_trigger_provider_update_v1, in); + return; + } +#endif /* !KODI_INHIBIT_SHARED */ + + const auto& auto_gen_group = AddonIfc::g_ifc->direct->to_kodi.addoninstance_pvr_h; + auto_gen_group.kodi_addon_pvr_trigger_provider_update_v1(auto_gen_group.thisClassHdl, hdl); +} + ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_channel_groups_update(KODI_OWN_HDL hdl) { // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_channel_groups_update(KODI_OWN_HDL hdl) __INTRODUCED_IN_KODI(1); diff --git a/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.h b/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.h index 3bd12d317e525..e209eeff5b525 100644 --- a/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.h +++ b/xbmc/addons/kodi-dev-kit/src/addon/api/addon-instance/pvr.h @@ -116,6 +116,15 @@ class ATTR_DLL_LOCAL CHdl_kodi_addoninstance_pvr_h : public IMsgHdl int channel_uid, struct PVR_DESCRAMBLE_INFO* descramble_info); // Added with API 1 + static enum PVR_ERROR kodi_addon_pvr_get_providers_amount_v1(void* thisClassHdl, + KODI_ADDON_PVR_HDL hdl, + int* amount); // Added with API 1 + + static enum PVR_ERROR kodi_addon_pvr_get_providers_v1( + void* thisClassHdl, + KODI_ADDON_PVR_HDL hdl, + KODI_ADDON_PVR_TRANSFER_HDL handle); // Added with API 1 + static enum PVR_ERROR kodi_addon_pvr_get_channel_groups_amount_v1( void* thisClassHdl, KODI_ADDON_PVR_HDL hdl, int* amount); // Added with API 1 diff --git a/xbmc/addons/kodi-dev-kit/src/addon/api/dl/kodi_api_1.c b/xbmc/addons/kodi-dev-kit/src/addon/api/dl/kodi_api_1.c index 14c8c0e9515e0..69bcdb2f917a3 100644 --- a/xbmc/addons/kodi-dev-kit/src/addon/api/dl/kodi_api_1.c +++ b/xbmc/addons/kodi-dev-kit/src/addon/api/dl/kodi_api_1.c @@ -8,7 +8,7 @@ /* File autogenerated, see xbmc/addons/kodi-dev-kit/tools/code-generator/code_generator.py */ -/* API_HASH */ +/* API_HASH<6de84e92cebf005888ff9ab18b7a40fe6171dd2efc963b5ee8e555b90e336384> */ #include "../../../../include/kodi/c-api/dl/kodi_api_1.h" #include "include/kodi/c-api/addon_base.h" @@ -214,11 +214,13 @@ ATTR_DL_DLL_EXPORT bool load_kodi_api_1(struct kodi_api_1* api) api->kodi_addon_pvr_transfer_channel_group = &kodi_addon_pvr_transfer_channel_group; api->kodi_addon_pvr_transfer_channel_group_member = &kodi_addon_pvr_transfer_channel_group_member; api->kodi_addon_pvr_transfer_epg_entry = &kodi_addon_pvr_transfer_epg_entry; + api->kodi_addon_pvr_transfer_provider_entry = &kodi_addon_pvr_transfer_provider_entry; api->kodi_addon_pvr_transfer_recording_entry = &kodi_addon_pvr_transfer_recording_entry; api->kodi_addon_pvr_transfer_timer_entry = &kodi_addon_pvr_transfer_timer_entry; api->kodi_addon_pvr_trigger_channel_groups_update = &kodi_addon_pvr_trigger_channel_groups_update; api->kodi_addon_pvr_trigger_channel_update = &kodi_addon_pvr_trigger_channel_update; api->kodi_addon_pvr_trigger_epg_update = &kodi_addon_pvr_trigger_epg_update; + api->kodi_addon_pvr_trigger_provider_update = &kodi_addon_pvr_trigger_provider_update; api->kodi_addon_pvr_trigger_recording_update = &kodi_addon_pvr_trigger_recording_update; api->kodi_addon_pvr_trigger_timer_update = &kodi_addon_pvr_trigger_timer_update; diff --git a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr.h b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr.h index bb9e3e29aeaa7..b27e50d894458 100644 --- a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr.h +++ b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr.h @@ -19,6 +19,7 @@ #include "src/shared/api/addon-instance/pvr/pvr_epg.h" #include "src/shared/api/addon-instance/pvr/pvr_general.h" #include "src/shared/api/addon-instance/pvr/pvr_menu_hook.h" +#include "src/shared/api/addon-instance/pvr/pvr_providers.h" #include "src/shared/api/addon-instance/pvr/pvr_recordings.h" #include "src/shared/api/addon-instance/pvr/pvr_timers.h" @@ -45,6 +46,8 @@ typedef struct KODI_ADDON_PVR_FUNC_V1_TO_V1 get_channel_stream_properties; /*---AUTO---*/ PFN_KODI_ADDON_PVR_GET_SIGNAL_STATUS_V1 get_signal_status; /*---AUTO---*/ PFN_KODI_ADDON_PVR_GET_DESCRAMBLE_INFO_V1 get_descramble_info; /*---AUTO---*/ + PFN_KODI_ADDON_PVR_GET_PROVIDERS_AMOUNT_V1 get_providers_amount; /*---AUTO---*/ + PFN_KODI_ADDON_PVR_GET_PROVIDERS_V1 get_providers; /*---AUTO---*/ PFN_KODI_ADDON_PVR_GET_CHANNEL_GROUPS_AMOUNT_V1 get_channel_groups_amount; /*---AUTO---*/ PFN_KODI_ADDON_PVR_GET_CHANNEL_GROUPS_V1 get_channel_groups; /*---AUTO---*/ @@ -165,6 +168,8 @@ typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRANSFER_CHANNEL_GROUP_V1 void*, KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct PVR_CHANNEL_GROUP*); typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRANSFER_EPG_ENTRY_V1)( void*, KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct EPG_TAG*); +typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRANSFER_PROVIDER_ENTRY_V1)( + void*, KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct PVR_PROVIDER*); typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRANSFER_RECORDING_ENTRY_V1)( void*, KODI_OWN_HDL, const KODI_ADDON_PVR_TRANSFER_HDL, const struct PVR_RECORDING*); typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRANSFER_TIMER_ENTRY_V1)( @@ -176,6 +181,8 @@ typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRIGGER_CHANNEL_UPDATE_V1 typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRIGGER_EPG_UPDATE_V1)(void*, KODI_OWN_HDL, unsigned int); +typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRIGGER_PROVIDER_UPDATE_V1)(void*, + KODI_OWN_HDL); typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRIGGER_RECORDING_UPDATE_V1)(void*, KODI_OWN_HDL); typedef void(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_TRIGGER_TIMER_UPDATE_V1)(void*, @@ -195,12 +202,14 @@ struct directFuncToKodi_addoninstance_pvr_h kodi_addon_pvr_transfer_channel_group_member_v1; PFN_INT_KODI_ADDON_PVR_TRANSFER_CHANNEL_GROUP_V1 kodi_addon_pvr_transfer_channel_group_v1; PFN_INT_KODI_ADDON_PVR_TRANSFER_EPG_ENTRY_V1 kodi_addon_pvr_transfer_epg_entry_v1; + PFN_INT_KODI_ADDON_PVR_TRANSFER_PROVIDER_ENTRY_V1 kodi_addon_pvr_transfer_provider_entry_v1; PFN_INT_KODI_ADDON_PVR_TRANSFER_RECORDING_ENTRY_V1 kodi_addon_pvr_transfer_recording_entry_v1; PFN_INT_KODI_ADDON_PVR_TRANSFER_TIMER_ENTRY_V1 kodi_addon_pvr_transfer_timer_entry_v1; PFN_INT_KODI_ADDON_PVR_TRIGGER_CHANNEL_GROUPS_UPDATE_V1 kodi_addon_pvr_trigger_channel_groups_update_v1; PFN_INT_KODI_ADDON_PVR_TRIGGER_CHANNEL_UPDATE_V1 kodi_addon_pvr_trigger_channel_update_v1; PFN_INT_KODI_ADDON_PVR_TRIGGER_EPG_UPDATE_V1 kodi_addon_pvr_trigger_epg_update_v1; + PFN_INT_KODI_ADDON_PVR_TRIGGER_PROVIDER_UPDATE_V1 kodi_addon_pvr_trigger_provider_update_v1; PFN_INT_KODI_ADDON_PVR_TRIGGER_RECORDING_UPDATE_V1 kodi_addon_pvr_trigger_recording_update_v1; PFN_INT_KODI_ADDON_PVR_TRIGGER_TIMER_UPDATE_V1 kodi_addon_pvr_trigger_timer_update_v1; }; @@ -263,6 +272,10 @@ typedef enum PVR_ERROR(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_GET_EPG_TAG_EDL void*, KODI_ADDON_PVR_HDL, const struct EPG_TAG*, struct PVR_EDL_ENTRY[], size_t*); typedef enum PVR_ERROR(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_GET_EPG_TAG_STREAM_PROPERTIES_V1)( void*, KODI_ADDON_PVR_HDL, const struct EPG_TAG*, struct PVR_NAMED_VALUE*, size_t*); +typedef enum PVR_ERROR(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_GET_PROVIDERS_AMOUNT_V1)( + void*, KODI_ADDON_PVR_HDL, int*); +typedef enum PVR_ERROR(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_GET_PROVIDERS_V1)( + void*, KODI_ADDON_PVR_HDL, KODI_ADDON_PVR_TRANSFER_HDL); typedef enum PVR_ERROR(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_GET_RECORDINGS_AMOUNT_V1)( void*, KODI_ADDON_PVR_HDL, bool, int*); typedef enum PVR_ERROR(ATTR_INT_APIENTRYP PFN_INT_KODI_ADDON_PVR_GET_RECORDINGS_V1)( @@ -355,6 +368,8 @@ struct directFuncToAddon_addoninstance_pvr_h PFN_INT_KODI_ADDON_PVR_GET_EPG_TAG_EDL_V1 kodi_addon_pvr_get_epg_tag_edl_v1; PFN_INT_KODI_ADDON_PVR_GET_EPG_TAG_STREAM_PROPERTIES_V1 kodi_addon_pvr_get_epg_tag_stream_properties_v1; + PFN_INT_KODI_ADDON_PVR_GET_PROVIDERS_AMOUNT_V1 kodi_addon_pvr_get_providers_amount_v1; + PFN_INT_KODI_ADDON_PVR_GET_PROVIDERS_V1 kodi_addon_pvr_get_providers_v1; PFN_INT_KODI_ADDON_PVR_GET_RECORDINGS_AMOUNT_V1 kodi_addon_pvr_get_recordings_amount_v1; PFN_INT_KODI_ADDON_PVR_GET_RECORDINGS_V1 kodi_addon_pvr_get_recordings_v1; PFN_INT_KODI_ADDON_PVR_GET_RECORDING_EDL_V1 kodi_addon_pvr_get_recording_edl_v1; @@ -401,12 +416,14 @@ typedef enum funcParent_addoninstance_pvr_h : int funcParent_kodi_addon_pvr_connection_state_change_v1, funcParent_kodi_addon_pvr_epg_event_state_change_v1, funcParent_kodi_addon_pvr_transfer_channel_entry_v1, + funcParent_kodi_addon_pvr_transfer_provider_entry_v1, funcParent_kodi_addon_pvr_transfer_channel_group_v1, funcParent_kodi_addon_pvr_transfer_channel_group_member_v1, funcParent_kodi_addon_pvr_transfer_epg_entry_v1, funcParent_kodi_addon_pvr_transfer_recording_entry_v1, funcParent_kodi_addon_pvr_transfer_timer_entry_v1, funcParent_kodi_addon_pvr_trigger_channel_update_v1, + funcParent_kodi_addon_pvr_trigger_provider_update_v1, funcParent_kodi_addon_pvr_trigger_channel_groups_update_v1, funcParent_kodi_addon_pvr_trigger_epg_update_v1, funcParent_kodi_addon_pvr_trigger_recording_update_v1, @@ -436,6 +453,9 @@ typedef std::tuple msgParent_OUT_kodi_addon_pvr_epg_event_state_cha // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_channel_entry( KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_CHANNEL* chan) __INTRODUCED_IN_KODI(1); typedef std::tuple msgParent__IN_kodi_addon_pvr_transfer_channel_entry_v1; /* Autogenerated */ typedef std::tuple msgParent_OUT_kodi_addon_pvr_transfer_channel_entry_v1; /* Autogenerated */ +// Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_provider_entry( KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_PROVIDER* provider) __INTRODUCED_IN_KODI(1); +typedef std::tuple msgParent__IN_kodi_addon_pvr_transfer_provider_entry_v1; /* Autogenerated */ +typedef std::tuple msgParent_OUT_kodi_addon_pvr_transfer_provider_entry_v1; /* Autogenerated */ // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_transfer_channel_group( KODI_OWN_HDL hdl, const KODI_ADDON_PVR_TRANSFER_HDL handle, const struct PVR_CHANNEL_GROUP* group) __INTRODUCED_IN_KODI(1); typedef std::tuple msgParent__IN_kodi_addon_pvr_transfer_channel_group_v1; /* Autogenerated */ typedef std::tuple msgParent_OUT_kodi_addon_pvr_transfer_channel_group_v1; /* Autogenerated */ @@ -454,6 +474,9 @@ typedef std::tuple msgParent_OUT_kodi_addon_pvr_transfer_timer_entry // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_channel_update(KODI_OWN_HDL hdl) __INTRODUCED_IN_KODI(1); typedef std::tuple msgParent__IN_kodi_addon_pvr_trigger_channel_update_v1; /* Autogenerated */ typedef std::tuple msgParent_OUT_kodi_addon_pvr_trigger_channel_update_v1; /* Autogenerated */ +// Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_provider_update(KODI_OWN_HDL hdl) __INTRODUCED_IN_KODI(1); +typedef std::tuple msgParent__IN_kodi_addon_pvr_trigger_provider_update_v1; /* Autogenerated */ +typedef std::tuple msgParent_OUT_kodi_addon_pvr_trigger_provider_update_v1; /* Autogenerated */ // Original API call: ATTR_DLL_EXPORT void kodi_addon_pvr_trigger_channel_groups_update(KODI_OWN_HDL hdl) __INTRODUCED_IN_KODI(1); typedef std::tuple msgParent__IN_kodi_addon_pvr_trigger_channel_groups_update_v1; /* Autogenerated */ typedef std::tuple msgParent_OUT_kodi_addon_pvr_trigger_channel_groups_update_v1; /* Autogenerated */ @@ -485,6 +508,8 @@ typedef enum funcChild_addoninstance_pvr_h : int funcChild_kodi_addon_pvr_get_channel_stream_properties_v1, funcChild_kodi_addon_pvr_get_signal_status_v1, funcChild_kodi_addon_pvr_get_descramble_info_v1, + funcChild_kodi_addon_pvr_get_providers_amount_v1, + funcChild_kodi_addon_pvr_get_providers_v1, funcChild_kodi_addon_pvr_get_channel_groups_amount_v1, funcChild_kodi_addon_pvr_get_channel_groups_v1, funcChild_kodi_addon_pvr_get_channel_group_members_v1, @@ -567,6 +592,12 @@ typedef std::tuple msgChild_OUT_kodi_addon_pvr // Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_DESCRAMBLE_INFO_V1)( KODI_ADDON_PVR_HDL hdl, int channel_uid, struct PVR_DESCRAMBLE_INFO* descramble_info); typedef std::tuple msgChild__IN_kodi_addon_pvr_get_descramble_info_v1; /* Autogenerated */ typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_descramble_info_v1; /* Autogenerated */ +// Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_PROVIDERS_AMOUNT_V1)( KODI_ADDON_PVR_HDL hdl, int* amount); +typedef std::tuple msgChild__IN_kodi_addon_pvr_get_providers_amount_v1; /* Autogenerated */ +typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_providers_amount_v1; /* Autogenerated */ +// Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_PROVIDERS_V1)( KODI_ADDON_PVR_HDL hdl, KODI_ADDON_PVR_TRANSFER_HDL handle); +typedef std::tuple msgChild__IN_kodi_addon_pvr_get_providers_v1; /* Autogenerated */ +typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_providers_v1; /* Autogenerated */ // Original API call: typedef enum PVR_ERROR(ATTR_APIENTRYP PFN_KODI_ADDON_PVR_GET_CHANNEL_GROUPS_AMOUNT_V1)( KODI_ADDON_PVR_HDL hdl, int* amount); typedef std::tuple msgChild__IN_kodi_addon_pvr_get_channel_groups_amount_v1; /* Autogenerated */ typedef std::tuple msgChild_OUT_kodi_addon_pvr_get_channel_groups_amount_v1; /* Autogenerated */ diff --git a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_channels.h b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_channels.h index cc37ee21a9c11..0b5d3ad146b7f 100644 --- a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_channels.h +++ b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_channels.h @@ -49,6 +49,7 @@ struct IFC_PVR_CHANNEL bIsHidden = c_data->bIsHidden; bHasArchive = c_data->bHasArchive; iOrder = c_data->iOrder; + iClientProviderUid = c_data->iClientProviderUid; } void SetCStructure(PVR_CHANNEL* c_data) @@ -67,6 +68,7 @@ struct IFC_PVR_CHANNEL c_data->bIsHidden = bIsHidden; c_data->bHasArchive = bHasArchive; c_data->iOrder = iOrder; + c_data->iClientProviderUid = iClientProviderUid; } unsigned int iUniqueId; @@ -80,6 +82,7 @@ struct IFC_PVR_CHANNEL bool bIsHidden; bool bHasArchive; int iOrder; + int iClientProviderUid; MSGPACK_DEFINE(iUniqueId, bIsRadio, @@ -91,7 +94,8 @@ struct IFC_PVR_CHANNEL strIconPath, bIsHidden, bHasArchive, - iOrder); + iOrder, + iClientProviderUid); }; struct IFC_PVR_SIGNAL_STATUS diff --git a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_epg.h b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_epg.h index c636fd3c6d4a1..5490ba0b6e776 100644 --- a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_epg.h +++ b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_epg.h @@ -68,6 +68,8 @@ struct IFC_EPG_TAG if (c_data->strFirstAired) strFirstAired = c_data->strFirstAired; iParentalRating = c_data->iParentalRating; + if (c_data->strParentalRatingCode) + strParentalRatingCode = c_data->strParentalRatingCode; iStarRating = c_data->iStarRating; iSeriesNumber = c_data->iSeriesNumber; iEpisodeNumber = c_data->iEpisodeNumber; @@ -103,6 +105,7 @@ struct IFC_EPG_TAG c_data->strGenreDescription = strGenreDescription.c_str(); c_data->strFirstAired = strFirstAired.c_str(); c_data->iParentalRating = iParentalRating; + c_data->strParentalRatingCode = strParentalRatingCode.c_str(); c_data->iStarRating = iStarRating; c_data->iSeriesNumber = iSeriesNumber; c_data->iEpisodeNumber = iEpisodeNumber; @@ -131,6 +134,7 @@ struct IFC_EPG_TAG std::string strGenreDescription; std::string strFirstAired; int iParentalRating; + std::string strParentalRatingCode; int iStarRating; int iSeriesNumber; int iEpisodeNumber; @@ -158,6 +162,7 @@ struct IFC_EPG_TAG strGenreDescription, strFirstAired, iParentalRating, + strParentalRatingCode, iStarRating, iSeriesNumber, iEpisodeNumber, diff --git a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_general.h b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_general.h index 56b078db45ad0..16f0973bac97c 100644 --- a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_general.h +++ b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_general.h @@ -58,6 +58,8 @@ struct IFC_PVR_ADDON_CAPABILITIES bSupportsDescrambleInfo = c_data->bSupportsDescrambleInfo; bSupportsAsyncEPGTransfer = c_data->bSupportsAsyncEPGTransfer; bSupportsRecordingSize = c_data->bSupportsRecordingSize; + bSupportsProviders = c_data->bSupportsProviders; + bSupportsRecordingsDelete = c_data->bSupportsRecordingsDelete; iRecordingsLifetimesSize = c_data->iRecordingsLifetimesSize; memcpy(recordingsLifetimeValues.data(), c_data->recordingsLifetimeValues, PVR_ADDON_ATTRIBUTE_VALUES_ARRAY_SIZE); @@ -88,6 +90,8 @@ struct IFC_PVR_ADDON_CAPABILITIES c_data->bSupportsDescrambleInfo = bSupportsDescrambleInfo; c_data->bSupportsAsyncEPGTransfer = bSupportsAsyncEPGTransfer; c_data->bSupportsRecordingSize = bSupportsRecordingSize; + c_data->bSupportsProviders = bSupportsProviders; + c_data->bSupportsRecordingsDelete = bSupportsRecordingsDelete; c_data->iRecordingsLifetimesSize = iRecordingsLifetimesSize; memcpy(c_data->recordingsLifetimeValues, recordingsLifetimeValues.data(), PVR_ADDON_ATTRIBUTE_VALUES_ARRAY_SIZE); @@ -113,6 +117,8 @@ struct IFC_PVR_ADDON_CAPABILITIES bool bSupportsDescrambleInfo; bool bSupportsAsyncEPGTransfer; bool bSupportsRecordingSize; + bool bSupportsProviders; + bool bSupportsRecordingsDelete; unsigned int iRecordingsLifetimesSize; std::array recordingsLifetimeValues; @@ -137,6 +143,8 @@ struct IFC_PVR_ADDON_CAPABILITIES bSupportsDescrambleInfo, bSupportsAsyncEPGTransfer, bSupportsRecordingSize, + bSupportsProviders, + bSupportsRecordingsDelete, iRecordingsLifetimesSize, recordingsLifetimeValues); }; diff --git a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_providers.h b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_providers.h new file mode 100644 index 0000000000000..46f011cfff730 --- /dev/null +++ b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_providers.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2005-2021 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. + */ + +/* File autogenerated, see xbmc/addons/kodi-dev-kit/tools/code-generator/code_generator.py */ + +#pragma once + +#include "../../../../../include/kodi/c-api/addon-instance/pvr/pvr_providers.h" +#include "../../../../../src/shared/api/addon-instance/pvr/pvr_defines.h" +#include "src/shared/SharedGroups.h" + +#include +#include +#include +#include + +/* Code below becomes on auto generation reused, hand edited parts should included here */ +/*---AUTO_GEN_PARSE---*/ +/*---AUTO_GEN_PARSE---*/ + +#ifndef MSGPACK_ADD_ENUM_PVR_PROVIDER_TYPE +#define MSGPACK_ADD_ENUM_PVR_PROVIDER_TYPE +MSGPACK_ADD_ENUM(PVR_PROVIDER_TYPE); +#endif + +namespace KODI +{ +namespace ADDONS +{ +namespace INTERFACE +{ + +struct IFC_PVR_PROVIDER +{ + IFC_PVR_PROVIDER() = default; + IFC_PVR_PROVIDER(const PVR_PROVIDER* c_data) + { + if (c_data == nullptr) + return; + + iUniqueId = c_data->iUniqueId; + memcpy(strName.data(), c_data->strName, PVR_ADDON_NAME_STRING_LENGTH); + type = c_data->type; + memcpy(strIconPath.data(), c_data->strIconPath, PVR_ADDON_URL_STRING_LENGTH); + memcpy(strCountries.data(), c_data->strCountries, PVR_ADDON_COUNTRIES_STRING_LENGTH); + memcpy(strLanguages.data(), c_data->strLanguages, PVR_ADDON_LANGUAGES_STRING_LENGTH); + } + + void SetCStructure(PVR_PROVIDER* c_data) + { + if (c_data == nullptr) + return; + + c_data->iUniqueId = iUniqueId; + memcpy(c_data->strName, strName.data(), PVR_ADDON_NAME_STRING_LENGTH); + c_data->type = type; + memcpy(c_data->strIconPath, strIconPath.data(), PVR_ADDON_URL_STRING_LENGTH); + memcpy(c_data->strCountries, strCountries.data(), PVR_ADDON_COUNTRIES_STRING_LENGTH); + memcpy(c_data->strLanguages, strLanguages.data(), PVR_ADDON_LANGUAGES_STRING_LENGTH); + } + + unsigned int iUniqueId; + std::array strName; + enum PVR_PROVIDER_TYPE type; + std::array strIconPath; + std::array strCountries; + std::array strLanguages; + + MSGPACK_DEFINE(iUniqueId, strName, type, strIconPath, strCountries, strLanguages); +}; + +/* Code below becomes on auto generation reused, hand edited parts should included here */ +/*---AUTO_GEN_PARSE---*/ +/*---AUTO_GEN_PARSE---*/ + +} /* namespace INTERFACE */ +} /* namespace ADDONS */ +} /* namespace KODI */ diff --git a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_recordings.h b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_recordings.h index bb17d40e636e6..7ab09d097f3a2 100644 --- a/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_recordings.h +++ b/xbmc/addons/kodi-dev-kit/src/shared/api/addon-instance/pvr/pvr_recordings.h @@ -72,6 +72,8 @@ struct IFC_PVR_RECORDING memcpy(strFirstAired.data(), c_data->strFirstAired, PVR_ADDON_DATE_STRING_LENGTH); iFlags = c_data->iFlags; sizeInBytes = c_data->sizeInBytes; + iClientProviderUid = c_data->iClientProviderUid; + memcpy(strProviderName.data(), c_data->strProviderName, PVR_ADDON_NAME_STRING_LENGTH); } void SetCStructure(PVR_RECORDING* c_data) @@ -108,6 +110,8 @@ struct IFC_PVR_RECORDING memcpy(c_data->strFirstAired, strFirstAired.data(), PVR_ADDON_DATE_STRING_LENGTH); c_data->iFlags = iFlags; c_data->sizeInBytes = sizeInBytes; + c_data->iClientProviderUid = iClientProviderUid; + memcpy(c_data->strProviderName, strProviderName.data(), PVR_ADDON_NAME_STRING_LENGTH); } std::array strRecordingId; @@ -139,6 +143,8 @@ struct IFC_PVR_RECORDING std::array strFirstAired; unsigned int iFlags; int64_t sizeInBytes; + int iClientProviderUid; + std::array strProviderName; MSGPACK_DEFINE(strRecordingId, strTitle, @@ -168,7 +174,9 @@ struct IFC_PVR_RECORDING channelType, strFirstAired, iFlags, - sizeInBytes); + sizeInBytes, + iClientProviderUid, + strProviderName); }; /* Code below becomes on auto generation reused, hand edited parts should included here */