Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
No Matches
ADDON::IAddonInstanceHandler Class Reference

#include <AddonInstanceHandler.h>

Inheritance diagram for ADDON::IAddonInstanceHandler:
ADDON::CVFSEntry CAddonVideoCodec CInputStreamAddon KODI::ADDONS::CAudioDecoder KODI::ADDONS::CImageDecoder KODI::ADDONS::CScreenSaver KODI::ADDONS::CVisualization KODI::CDRIP::CEncoderAddon PERIPHERALS::CPeripheralAddon PVR::CPVRClient

Public Member Functions

 IAddonInstanceHandler (ADDON_TYPE type, const AddonInfoPtr &addonInfo, AddonInstanceId instanceId=ADDON_INSTANCE_ID_UNUSED, KODI_HANDLE parentInstance=nullptr, const std::string &uniqueWorkID="")
 Class constructor for handling add-on instance processes, allowing an add-on to handle multiple work simultaneously and independently.
virtual ~IAddonInstanceHandler ()
ADDON_TYPE UsedType () const
AddonInstanceId InstanceId () const
const std::string & UniqueWorkID ()
std::string ID () const
std::string Name () const
std::string Author () const
std::string Icon () const
std::string Path () const
std::string Profile () const
CAddonVersion Version () const
ADDON_STATUS CreateInstance ()
void DestroyInstance ()
const AddonDllPtrAddon () const
AddonInfoPtr GetAddonInfo () const
virtual void OnPreInstall ()
virtual void OnPostInstall (bool update, bool modal)
virtual void OnPreUnInstall ()
virtual void OnPostUnInstall ()

Protected Attributes


Constructor & Destructor Documentation

◆ IAddonInstanceHandler()

ADDON::IAddonInstanceHandler::IAddonInstanceHandler ( ADDON_TYPE type,
const AddonInfoPtr & addonInfo,
AddonInstanceId instanceId = ADDON_INSTANCE_ID_UNUSED,
KODI_HANDLE parentInstance = nullptr,
const std::string & uniqueWorkID = "" )

Class constructor for handling add-on instance processes, allowing an add-on to handle multiple work simultaneously and independently.

[in]typeThe associated add-on type which is processed in the running instance.
[in]addonInfoClass for querying available add-on information (e.g. content declared in addon.xml).
[in]parentInstance[opt] Above running add-on instance which starts this instance. Used to have the associated class for work to open in the add-on.

Currently used values:
Parent Target Description
kodi::addon::CInstanceInputStream kodi::addon::CInstanceVideoCodec In order to be able to access the overlying input stream instance in the video codec created by Kodi on the add-on.
[in]uniqueWorkID[opt] Identification value intended to pass any special values to the instance to be opened. If not used, the IAddonInstanceHandler class pointer is used as a string.

Currently used values:
Add-on instance type Description
Inputstream To transfer special values to inputstream using the property STREAM_PROPERTY_INPUTSTREAM_INSTANCE_ID from external space, for example PVR add-on which also supports inputstream can exchange special values with it, e.g. select the necessary add-on processing class, since it is not known at the start what is being executed ( live TV, radio, recordings...) and add-on may use different classes.
All other The used class pointer of Kodi's IAddonInstanceHandler is used as a value to have an individually different value.

◆ ~IAddonInstanceHandler()

ADDON::IAddonInstanceHandler::~IAddonInstanceHandler ( )

Member Function Documentation

◆ Addon()

const AddonDllPtr & ADDON::IAddonInstanceHandler::Addon ( ) const

◆ Author()

std::string ADDON::IAddonInstanceHandler::Author ( ) const

◆ CreateInstance()

ADDON_STATUS ADDON::IAddonInstanceHandler::CreateInstance ( )

◆ DestroyInstance()

void ADDON::IAddonInstanceHandler::DestroyInstance ( )

◆ GetAddonInfo()

AddonInfoPtr ADDON::IAddonInstanceHandler::GetAddonInfo ( ) const

◆ Icon()

std::string ADDON::IAddonInstanceHandler::Icon ( ) const

◆ ID()

std::string ADDON::IAddonInstanceHandler::ID ( ) const

◆ InstanceId()

AddonInstanceId ADDON::IAddonInstanceHandler::InstanceId ( ) const

◆ Name()

std::string ADDON::IAddonInstanceHandler::Name ( ) const

◆ OnPostInstall()

virtual void ADDON::IAddonInstanceHandler::OnPostInstall ( bool update,
bool modal )

◆ OnPostUnInstall()

virtual void ADDON::IAddonInstanceHandler::OnPostUnInstall ( )

◆ OnPreInstall()

virtual void ADDON::IAddonInstanceHandler::OnPreInstall ( )

Reimplemented in PVR::CPVRClient.

◆ OnPreUnInstall()

virtual void ADDON::IAddonInstanceHandler::OnPreUnInstall ( )

Reimplemented in PVR::CPVRClient.

◆ Path()

std::string ADDON::IAddonInstanceHandler::Path ( ) const

◆ Profile()

std::string ADDON::IAddonInstanceHandler::Profile ( ) const

◆ UniqueWorkID()

const std::string & ADDON::IAddonInstanceHandler::UniqueWorkID ( )

◆ UsedType()

ADDON_TYPE ADDON::IAddonInstanceHandler::UsedType ( ) const

◆ Version()

CAddonVersion ADDON::IAddonInstanceHandler::Version ( ) const

Member Data Documentation

◆ m_ifc

KODI_ADDON_INSTANCE_STRUCT ADDON::IAddonInstanceHandler::m_ifc {}

◆ m_info

KODI_ADDON_INSTANCE_INFO ADDON::IAddonInstanceHandler::m_info {}

The documentation for this class was generated from the following files: