1
0
mirror of https://github.com/DigitalDevices/pvr.octonet.git synced 2023-10-10 13:36:57 +02:00

Merge pull request #56 from AlwinEsch/Nexus-change

[Nexus] API related update
This commit is contained in:
Kai Sommerfeld 2022-01-01 19:38:39 +01:00 committed by GitHub
commit 23b4f3eecf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 34 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<addon <addon
id="pvr.octonet" id="pvr.octonet"
version="20.1.0" version="20.2.0"
name="Digital Devices Octopus NET Client" name="Digital Devices Octopus NET Client"
provider-name="digitaldevices"> provider-name="digitaldevices">
<requires>@ADDON_DEPENDS@</requires> <requires>@ADDON_DEPENDS@</requires>

View File

@ -23,9 +23,8 @@
#endif #endif
OctonetData::OctonetData(const std::string& octonetAddress, OctonetData::OctonetData(const std::string& octonetAddress,
KODI_HANDLE instance, const kodi::addon::IInstanceInfo& instance)
const std::string& kodiVersion) : kodi::addon::CInstancePVRClient(instance)
: kodi::addon::CInstancePVRClient(instance, kodiVersion)
{ {
m_serverAddress = octonetAddress; m_serverAddress = octonetAddress;
m_channels.clear(); m_channels.clear();
@ -33,7 +32,7 @@ OctonetData::OctonetData(const std::string& octonetAddress,
m_lastEpgLoad = 0; m_lastEpgLoad = 0;
if (!LoadChannelList()) if (!LoadChannelList())
kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::GetLocalizedString(30001).c_str(), kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::addon::GetLocalizedString(30001).c_str(),
m_channels.size()); m_channels.size());
/* /*

View File

@ -43,12 +43,11 @@ struct OctonetGroup
std::vector<int> members; std::vector<int> members;
}; };
class ATTRIBUTE_HIDDEN OctonetData : public kodi::addon::CInstancePVRClient class ATTR_DLL_LOCAL OctonetData : public kodi::addon::CInstancePVRClient
{ {
public: public:
OctonetData(const std::string& octonetAddress, OctonetData(const std::string& octonetAddress,
KODI_HANDLE instance, const kodi::addon::IInstanceInfo& instance);
const std::string& kodiVersion);
~OctonetData() override; ~OctonetData() override;
PVR_ERROR GetCapabilities(kodi::addon::PVRCapabilities& capabilities) override; PVR_ERROR GetCapabilities(kodi::addon::PVRCapabilities& capabilities) override;

View File

@ -13,45 +13,41 @@
#include "OctonetData.h" #include "OctonetData.h"
ADDON_STATUS COctonetAddon::SetSetting(const std::string& settingName, ADDON_STATUS COctonetAddon::SetSetting(const std::string& settingName,
const kodi::CSettingValue& settingValue) const kodi::addon::CSettingValue& settingValue)
{ {
/* For simplicity do a full addon restart whenever settings are /* For simplicity do a full addon restart whenever settings are
* changed */ * changed */
return ADDON_STATUS_NEED_RESTART; return ADDON_STATUS_NEED_RESTART;
} }
ADDON_STATUS COctonetAddon::CreateInstance(int instanceType, ADDON_STATUS COctonetAddon::CreateInstance(const kodi::addon::IInstanceInfo& instance,
const std::string& instanceID, KODI_ADDON_INSTANCE_HDL& hdl)
KODI_HANDLE instance,
const std::string& version,
KODI_HANDLE& addonInstance)
{ {
if (instanceType == ADDON_INSTANCE_PVR) if (instance.IsType(ADDON_INSTANCE_PVR))
{ {
kodi::Log(ADDON_LOG_DEBUG, "%s: Creating octonet pvr instance", __func__); kodi::Log(ADDON_LOG_DEBUG, "%s: Creating octonet pvr instance", __func__);
/* IP or hostname of the octonet to be connected to */ /* IP or hostname of the octonet to be connected to */
std::string octonetAddress = kodi::GetSettingString("octonetAddress"); std::string octonetAddress = kodi::addon::GetSettingString("octonetAddress");
OctonetData* usedInstance = new OctonetData(octonetAddress, instance, version); OctonetData* usedInstance = new OctonetData(octonetAddress, instance);
addonInstance = usedInstance; hdl = usedInstance;
m_usedInstances.emplace(instanceID, usedInstance); m_usedInstances.emplace(instance.GetID(), usedInstance);
return ADDON_STATUS_OK; return ADDON_STATUS_OK;
} }
return ADDON_STATUS_UNKNOWN; return ADDON_STATUS_UNKNOWN;
} }
void COctonetAddon::DestroyInstance(int instanceType, void COctonetAddon::DestroyInstance(const kodi::addon::IInstanceInfo& instance,
const std::string& instanceID, const KODI_ADDON_INSTANCE_HDL hdl)
KODI_HANDLE addonInstance)
{ {
if (instanceType == ADDON_INSTANCE_PVR) if (instance.IsType(ADDON_INSTANCE_PVR))
{ {
kodi::Log(ADDON_LOG_DEBUG, "%s: Destoying octonet pvr instance", __func__); kodi::Log(ADDON_LOG_DEBUG, "%s: Destoying octonet pvr instance", __func__);
const auto& it = m_usedInstances.find(instanceID); const auto& it = m_usedInstances.find(instance.GetID());
if (it != m_usedInstances.end()) if (it != m_usedInstances.end())
{ {
m_usedInstances.erase(it); m_usedInstances.erase(it);

View File

@ -15,21 +15,17 @@
class OctonetData; class OctonetData;
class ATTRIBUTE_HIDDEN COctonetAddon : public kodi::addon::CAddonBase class ATTR_DLL_LOCAL COctonetAddon : public kodi::addon::CAddonBase
{ {
public: public:
COctonetAddon() = default; COctonetAddon() = default;
ADDON_STATUS SetSetting(const std::string& settingName, ADDON_STATUS SetSetting(const std::string& settingName,
const kodi::CSettingValue& settingValue) override; const kodi::addon::CSettingValue& settingValue) override;
ADDON_STATUS CreateInstance(int instanceType, ADDON_STATUS CreateInstance(const kodi::addon::IInstanceInfo& instance,
const std::string& instanceID, KODI_ADDON_INSTANCE_HDL& hdl) override;
KODI_HANDLE instance, void DestroyInstance(const kodi::addon::IInstanceInfo& instance,
const std::string& version, const KODI_ADDON_INSTANCE_HDL hdl) override;
KODI_HANDLE& addonInstance) override;
void DestroyInstance(int instanceType,
const std::string& instanceID,
KODI_HANDLE addonInstance) override;
private: private:
std::unordered_map<std::string, OctonetData*> m_usedInstances; std::unordered_map<std::string, OctonetData*> m_usedInstances;