Kodi Docs 20.0
Kodi is an open source media player and entertainment hub.
XBMCAddon::AddonClass Class Reference

#include <AddonClass.h>

Inheritance diagram for XBMCAddon::AddonClass:
CCriticalSection XbmcThreads::CountingLockable< XbmcThreads::CRecursiveMutex > XBMCAddon::AddonCallback XBMCAddon::AsyncCallbackMessage XBMCAddon::Callback XBMCAddon::CallbackHandler XBMCAddon::LanguageHook XBMCAddon::xbmc::Actor XBMCAddon::xbmc::AudioStreamDetail XBMCAddon::xbmc::InfoTagGame XBMCAddon::xbmc::InfoTagMusic XBMCAddon::xbmc::InfoTagPicture XBMCAddon::xbmc::InfoTagRadioRDS XBMCAddon::xbmc::InfoTagVideo XBMCAddon::xbmc::Keyboard XBMCAddon::xbmc::PlayList XBMCAddon::xbmc::RenderCapture XBMCAddon::xbmc::SubtitleStreamDetail XBMCAddon::xbmc::VideoStreamDetail XBMCAddon::xbmcaddon::Addon XBMCAddon::xbmcaddon::Settings XBMCAddon::xbmcdrm::CryptoSession XBMCAddon::xbmcgui::Action XBMCAddon::xbmcgui::Control XBMCAddon::xbmcgui::Dialog XBMCAddon::xbmcgui::DialogProgress XBMCAddon::xbmcgui::DialogProgressBG XBMCAddon::xbmcgui::ListItem XBMCAddon::xbmcvfs::File XBMCAddon::xbmcvfs::Stat XBMCAddon::xbmcwsgi::WsgiErrorStream XBMCAddon::xbmcwsgi::WsgiInputStreamIterator XBMCAddon::xbmcwsgi::WsgiResponse XBMCAddon::xbmcwsgi::WsgiResponseBody

Classes

class  Ref
 

Public Member Functions

 AddonClass ()
 
virtual ~AddonClass ()
 
const char * GetClassname () const
 
LanguageHookGetLanguageHook ()
 
bool isDeallocating ()
 
void Release () const
 
void Acquire () const
 
- Public Member Functions inherited from XbmcThreads::CountingLockable< XbmcThreads::CRecursiveMutex >
 CountingLockable ()=default
 
void lock ()
 
bool try_lock ()
 
void unlock ()
 
unsigned int exit (unsigned int leave=0)
 
void restore (unsigned int restoreCount)
 
XbmcThreads::CRecursiveMutex & get_underlying ()
 

Static Public Member Functions

static short getNumAddonClasses ()
 

Protected Member Functions

virtual void deallocating ()
 

Static Protected Member Functions

static short getNextClassIndex ()
 

Protected Attributes

LanguageHooklanguageHook
 
- Protected Attributes inherited from XbmcThreads::CountingLockable< XbmcThreads::CRecursiveMutex >
XbmcThreads::CRecursiveMutex mutex
 
unsigned int count
 

Detailed Description

This class is the superclass for all reference counted classes in the api. It provides a means for the bindings to handle all api objects generically.

It also provides some means for debugging "lifecycle" events (see the above description of LOG_LIFECYCLE_EVENTS).

If a scripting language bindings require specific handling there is a hook to add in these language specifics that can be set here.

Constructor & Destructor Documentation

◆ AddonClass()

XBMCAddon::AddonClass::AddonClass ( )

◆ ~AddonClass()

XBMCAddon::AddonClass::~AddonClass ( )
virtual

Member Function Documentation

◆ Acquire()

void XBMCAddon::AddonClass::Acquire ( ) const
inline

◆ deallocating()

virtual void XBMCAddon::AddonClass::deallocating ( )
inlineprotectedvirtual

This method is meant to be called from the destructor of the lowest level class.

It's virtual because it's a convenient place to receive messages that we're about to go be deleted but prior to any real tear-down.

Any overloading classes need to remember to pass the call up the chain.

Reimplemented in XBMCAddon::xbmcgui::DialogProgress, XBMCAddon::xbmcgui::DialogProgressBG, and XBMCAddon::xbmcgui::Window.

◆ GetClassname()

const char * XBMCAddon::AddonClass::GetClassname ( ) const
inline

◆ GetLanguageHook()

LanguageHook * XBMCAddon::AddonClass::GetLanguageHook ( )
inline

◆ getNextClassIndex()

static short XBMCAddon::AddonClass::getNextClassIndex ( )
staticprotected

This is meant to be called during static initialization and so isn't synchronized.

◆ getNumAddonClasses()

static short XBMCAddon::AddonClass::getNumAddonClasses ( )
static

◆ isDeallocating()

bool XBMCAddon::AddonClass::isDeallocating ( )
inline

This method should be called while holding a Synchronize on the object. It will prevent the deallocation during the time it's held.

◆ Release()

void XBMCAddon::AddonClass::Release ( ) const
inline

Member Data Documentation

◆ languageHook

LanguageHook* XBMCAddon::AddonClass::languageHook
protected

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