mirror of
https://github.com/DigitalDevices/pvr.octonet.git
synced 2023-10-10 13:36:57 +02:00
63 lines
1.9 KiB
C++
63 lines
1.9 KiB
C++
|
/*
|
||
|
* Copyright (C) 2015 Julian Scheel <julian@jusst.de>
|
||
|
* Copyright (C) 2015 jusst technologies GmbH
|
||
|
* Copyright (C) 2015 Digital Devices GmbH
|
||
|
*
|
||
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
||
|
* See LICENSE.md for more information.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#include "addon.h"
|
||
|
|
||
|
#include "OctonetData.h"
|
||
|
|
||
|
ADDON_STATUS COctonetAddon::SetSetting(const std::string& settingName,
|
||
|
const kodi::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)
|
||
|
{
|
||
|
if (instanceType == 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");
|
||
|
|
||
|
OctonetData* usedInstance = new OctonetData(octonetAddress, instance, version);
|
||
|
addonInstance = usedInstance;
|
||
|
|
||
|
m_usedInstances.emplace(instanceID, usedInstance);
|
||
|
return ADDON_STATUS_OK;
|
||
|
}
|
||
|
|
||
|
return ADDON_STATUS_UNKNOWN;
|
||
|
}
|
||
|
|
||
|
void COctonetAddon::DestroyInstance(int instanceType,
|
||
|
const std::string& instanceID,
|
||
|
KODI_HANDLE addonInstance)
|
||
|
{
|
||
|
if (instanceType == ADDON_INSTANCE_PVR)
|
||
|
{
|
||
|
kodi::Log(ADDON_LOG_DEBUG, "%s: Destoying octonet pvr instance", __func__);
|
||
|
|
||
|
const auto& it = m_usedInstances.find(instanceID);
|
||
|
if (it != m_usedInstances.end())
|
||
|
{
|
||
|
m_usedInstances.erase(it);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ADDONCREATOR(COctonetAddon)
|