mirror of
				https://github.com/DigitalDevices/pvr.octonet.git
				synced 2025-03-01 10:53:09 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			20.1.0-Nex
			...
			20.2.0-Nex
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 23b4f3eecf | ||
|  | 2a4230567c | ||
|  | 567232b5fb | 
| @@ -1,7 +1,7 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <addon | ||||
|   id="pvr.octonet" | ||||
|   version="20.1.0" | ||||
|   version="20.2.0" | ||||
|   name="Digital Devices Octopus NET Client" | ||||
|   provider-name="digitaldevices"> | ||||
|   <requires>@ADDON_DEPENDS@</requires> | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user