mirror of
https://github.com/DigitalDevices/pvr.octonet.git
synced 2023-10-10 13:36:57 +02:00
API related update
This commit is contained in:
parent
fb17e25ef6
commit
567232b5fb
@ -23,9 +23,8 @@
|
||||
#endif
|
||||
|
||||
OctonetData::OctonetData(const std::string& octonetAddress,
|
||||
KODI_HANDLE instance,
|
||||
const std::string& kodiVersion)
|
||||
: kodi::addon::CInstancePVRClient(instance, kodiVersion)
|
||||
const kodi::addon::IInstanceInfo& instance)
|
||||
: kodi::addon::CInstancePVRClient(instance)
|
||||
{
|
||||
m_serverAddress = octonetAddress;
|
||||
m_channels.clear();
|
||||
@ -33,7 +32,7 @@ OctonetData::OctonetData(const std::string& octonetAddress,
|
||||
m_lastEpgLoad = 0;
|
||||
|
||||
if (!LoadChannelList())
|
||||
kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::GetLocalizedString(30001).c_str(),
|
||||
kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::addon::GetLocalizedString(30001).c_str(),
|
||||
m_channels.size());
|
||||
|
||||
/*
|
||||
|
@ -43,12 +43,11 @@ struct OctonetGroup
|
||||
std::vector<int> members;
|
||||
};
|
||||
|
||||
class ATTRIBUTE_HIDDEN OctonetData : public kodi::addon::CInstancePVRClient
|
||||
class ATTR_DLL_LOCAL OctonetData : public kodi::addon::CInstancePVRClient
|
||||
{
|
||||
public:
|
||||
OctonetData(const std::string& octonetAddress,
|
||||
KODI_HANDLE instance,
|
||||
const std::string& kodiVersion);
|
||||
const kodi::addon::IInstanceInfo& instance);
|
||||
~OctonetData() override;
|
||||
|
||||
PVR_ERROR GetCapabilities(kodi::addon::PVRCapabilities& capabilities) override;
|
||||
|
@ -13,45 +13,41 @@
|
||||
#include "OctonetData.h"
|
||||
|
||||
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
|
||||
* changed */
|
||||
return ADDON_STATUS_NEED_RESTART;
|
||||
}
|
||||
|
||||
ADDON_STATUS COctonetAddon::CreateInstance(int instanceType,
|
||||
const std::string& instanceID,
|
||||
KODI_HANDLE instance,
|
||||
const std::string& version,
|
||||
KODI_HANDLE& addonInstance)
|
||||
ADDON_STATUS COctonetAddon::CreateInstance(const kodi::addon::IInstanceInfo& instance,
|
||||
KODI_ADDON_INSTANCE_HDL& hdl)
|
||||
{
|
||||
if (instanceType == ADDON_INSTANCE_PVR)
|
||||
if (instance.IsType(ADDON_INSTANCE_PVR))
|
||||
{
|
||||
kodi::Log(ADDON_LOG_DEBUG, "%s: Creating octonet pvr instance", __func__);
|
||||
|
||||
/* 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);
|
||||
addonInstance = usedInstance;
|
||||
OctonetData* usedInstance = new OctonetData(octonetAddress, instance);
|
||||
hdl = usedInstance;
|
||||
|
||||
m_usedInstances.emplace(instanceID, usedInstance);
|
||||
m_usedInstances.emplace(instance.GetID(), usedInstance);
|
||||
return ADDON_STATUS_OK;
|
||||
}
|
||||
|
||||
return ADDON_STATUS_UNKNOWN;
|
||||
}
|
||||
|
||||
void COctonetAddon::DestroyInstance(int instanceType,
|
||||
const std::string& instanceID,
|
||||
KODI_HANDLE addonInstance)
|
||||
void COctonetAddon::DestroyInstance(const kodi::addon::IInstanceInfo& instance,
|
||||
const KODI_ADDON_INSTANCE_HDL hdl)
|
||||
{
|
||||
if (instanceType == ADDON_INSTANCE_PVR)
|
||||
if (instance.IsType(ADDON_INSTANCE_PVR))
|
||||
{
|
||||
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())
|
||||
{
|
||||
m_usedInstances.erase(it);
|
||||
|
16
src/addon.h
16
src/addon.h
@ -15,21 +15,17 @@
|
||||
|
||||
class OctonetData;
|
||||
|
||||
class ATTRIBUTE_HIDDEN COctonetAddon : public kodi::addon::CAddonBase
|
||||
class ATTR_DLL_LOCAL COctonetAddon : public kodi::addon::CAddonBase
|
||||
{
|
||||
public:
|
||||
COctonetAddon() = default;
|
||||
|
||||
ADDON_STATUS SetSetting(const std::string& settingName,
|
||||
const kodi::CSettingValue& settingValue) override;
|
||||
ADDON_STATUS CreateInstance(int instanceType,
|
||||
const std::string& instanceID,
|
||||
KODI_HANDLE instance,
|
||||
const std::string& version,
|
||||
KODI_HANDLE& addonInstance) override;
|
||||
void DestroyInstance(int instanceType,
|
||||
const std::string& instanceID,
|
||||
KODI_HANDLE addonInstance) override;
|
||||
const kodi::addon::CSettingValue& settingValue) override;
|
||||
ADDON_STATUS CreateInstance(const kodi::addon::IInstanceInfo& instance,
|
||||
KODI_ADDON_INSTANCE_HDL& hdl) override;
|
||||
void DestroyInstance(const kodi::addon::IInstanceInfo& instance,
|
||||
const KODI_ADDON_INSTANCE_HDL hdl) override;
|
||||
|
||||
private:
|
||||
std::unordered_map<std::string, OctonetData*> m_usedInstances;
|
||||
|
Loading…
Reference in New Issue
Block a user