Kodi Documentation
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:


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

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

Member Function Documentation

◆ Acquire()

void XBMCAddon::AddonClass::Acquire ( ) const

◆ deallocating()

virtual void XBMCAddon::AddonClass::deallocating ( )

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

◆ GetLanguageHook()

LanguageHook* XBMCAddon::AddonClass::GetLanguageHook ( )

◆ getNextClassIndex()

static short XBMCAddon::AddonClass::getNextClassIndex ( )

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

◆ getNumAddonClasses()

static short XBMCAddon::AddonClass::getNumAddonClasses ( )

◆ isDeallocating()

bool XBMCAddon::AddonClass::isDeallocating ( )

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

Member Data Documentation

◆ languageHook

LanguageHook* XBMCAddon::AddonClass::languageHook

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