Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
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

KODI_ADDON_INSTANCE_INFO m_info {}
 
KODI_ADDON_INSTANCE_STRUCT m_ifc {}
 

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.

Parameters
[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 ( )
virtual

Member Function Documentation

◆ Addon()

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

◆ Author()

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

◆ CreateInstance()

ADDON_STATUS ADDON::IAddonInstanceHandler::CreateInstance ( )

◆ DestroyInstance()

void ADDON::IAddonInstanceHandler::DestroyInstance ( )

◆ GetAddonInfo()

AddonInfoPtr ADDON::IAddonInstanceHandler::GetAddonInfo ( ) const
inline

◆ Icon()

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

◆ ID()

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

◆ InstanceId()

AddonInstanceId ADDON::IAddonInstanceHandler::InstanceId ( ) const
inline

◆ Name()

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

◆ OnPostInstall()

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

◆ OnPostUnInstall()

virtual void ADDON::IAddonInstanceHandler::OnPostUnInstall ( )
inlinevirtual

◆ OnPreInstall()

virtual void ADDON::IAddonInstanceHandler::OnPreInstall ( )
inlinevirtual

Reimplemented in PVR::CPVRClient.

◆ OnPreUnInstall()

virtual void ADDON::IAddonInstanceHandler::OnPreUnInstall ( )
inlinevirtual

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 ( )
inline

◆ UsedType()

ADDON_TYPE ADDON::IAddonInstanceHandler::UsedType ( ) const
inline

◆ Version()

CAddonVersion ADDON::IAddonInstanceHandler::Version ( ) const

Member Data Documentation

◆ m_ifc

KODI_ADDON_INSTANCE_STRUCT ADDON::IAddonInstanceHandler::m_ifc {}
protected

◆ m_info

KODI_ADDON_INSTANCE_INFO ADDON::IAddonInstanceHandler::m_info {}
protected

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