kodi
|
Public Member Functions | |
virtual void | DelayedCallOpen () |
If the scripting language needs special handling for calls that block or are delayed in any other means, this should be overloaded. More... | |
virtual void | DelayedCallClose () |
If the scripting language needs special handling for calls that block or are delayed in any other means, this should be overloaded. More... | |
virtual void | MakePendingCalls () |
virtual CallbackHandler * | GetCallbackHandler () |
For scripting languages that need a global callback handler, this method should be overloaded to supply one. | |
virtual void | Constructing (AddonClass *beingConstructed) |
This is a callback method that can be overridden to receive a callback when an AddonClass that has this language hook is on is being constructed. More... | |
virtual void | Destructing (AddonClass *beingDestructed) |
This is a callback method that can be overridden to receive a callback when an AddonClass that has this language hook is on is being destructed. More... | |
virtual String | GetAddonId () |
This method should be done a different way but since the only other way I can think to do it requires an InheritableThreadLocal C++ equivalent, I'm going to defer to this technique for now. More... | |
virtual String | GetAddonVersion () |
virtual long | GetInvokerId () |
virtual void | RegisterPlayerCallback (IPlayerCallback *player)=0 |
virtual void | UnregisterPlayerCallback (IPlayerCallback *player)=0 |
virtual void | RegisterMonitorCallback (XBMCAddon::xbmc::Monitor *player)=0 |
virtual void | UnregisterMonitorCallback (XBMCAddon::xbmc::Monitor *player)=0 |
virtual bool | WaitForEvent (CEvent &hEvent, unsigned int milliseconds)=0 |
![]() | |
const char * | GetClassname () const |
LanguageHook * | GetLanguageHook () |
bool | isDeallocating () |
This method should be called while holding a Synchronize on the object. More... | |
void | Release () const |
void | Acquire () const |
Static Public Member Functions | |
static void | SetLanguageHook (LanguageHook *languageHook) |
static LanguageHook * | GetLanguageHook () |
static void | ClearLanguageHook () |
![]() | |
static short | getNumAddonClasses () |
Additional Inherited Members | |
![]() | |
virtual void | deallocating () |
This method is meant to be called from the destructor of the lowest level class. More... | |
![]() | |
static short | getNextClassIndex () |
This is meant to be called during static initialization and so isn't synchronized. | |
![]() | |
LanguageHook * | languageHook |
|
inlinevirtual |
This is a callback method that can be overridden to receive a callback when an AddonClass that has this language hook is on is being constructed.
It is called from the constructor of AddonClass so the implementor cannot assume the subclasses have been built or that calling a virtual function on the AddonClass will work as expected.
|
inlinevirtual |
If the scripting language needs special handling for calls that block or are delayed in any other means, this should be overloaded.
In Python when control is passed to a native method that blocks, you need to allow other threads in Python to run by using Py_BEGIN_ALLOW_THREADS. When that delayed method ends you need to restore the Python thread state using Py_END_ALLOW_THREADS. This is the place to put that functionality
Reimplemented in XBMCAddon::Python::PythonLanguageHook.
|
inlinevirtual |
If the scripting language needs special handling for calls that block or are delayed in any other means, this should be overloaded.
In Python when control is passed to a native method that blocks, you need to allow other threads in Python to run by using Py_BEGIN_ALLOW_THREADS. This is the place to put that functionality
Reimplemented in XBMCAddon::Python::PythonLanguageHook.
|
inlinevirtual |
This is a callback method that can be overridden to receive a callback when an AddonClass that has this language hook is on is being destructed.
It is called from the destructor of AddonClass so the implementor should assume the subclasses have been torn down and that calling a virtual function on the AddonClass will not work as expected.
|
inlinevirtual |
This method should be done a different way but since the only other way I can think to do it requires an InheritableThreadLocal C++ equivalent, I'm going to defer to this technique for now.
Currently (for python) the scripting language has the Addon id injected into it as a global variable. Therefore the only way to retrieve it is to use scripting language specific calls. So until I figure out a better way to do this, this is how I need to retrieve it.
Reimplemented in XBMCAddon::Python::PythonLanguageHook.