xbmc
Public Member Functions | Protected Attributes | List of all members
ADDON::IAddonInstanceHandler Class Reference
Inheritance diagram for ADDON::IAddonInstanceHandler:
Inheritance graph
[legend]
Collaboration diagram for ADDON::IAddonInstanceHandler:
Collaboration graph
[legend]

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. More...
 
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 AddonDllPtr & Addon () 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.

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