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

#include <AddonClass.h>

Inheritance diagram for XBMCAddon::AddonClass:
Collaboration diagram for XBMCAddon::AddonClass:

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::DialogProgressBG, XBMCAddon::xbmcgui::DialogProgress, 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: