xbmc
Public Member Functions | Static Public Member Functions | List of all members
XBMCAddon::RetardedAsyncCallbackHandler Class Referenceabstract

This class is primarily for Python support (hence the "Retarded" prefix). More...

#include <CallbackHandler.h>

Inheritance diagram for XBMCAddon::RetardedAsyncCallbackHandler:
Inheritance graph
[legend]
Collaboration diagram for XBMCAddon::RetardedAsyncCallbackHandler:
Collaboration graph
[legend]

Public Member Functions

void invokeCallback (Callback *cb) override
 
virtual bool isStateOk (AddonClass *obj)=0
 
virtual bool shouldRemoveCallback (AddonClass *obj, void *userData)=0
 
- Public Member Functions inherited from XBMCAddon::AddonClass
const char * GetClassname () const
 
LanguageHookGetLanguageHook ()
 
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 makePendingCalls ()
 
static void clearPendingCalls (void *userData)
 
- Static Public Member Functions inherited from XBMCAddon::AddonClass
static short getNumAddonClasses ()
 

Additional Inherited Members

- Protected Member Functions inherited from XBMCAddon::AddonClass
virtual void deallocating ()
 This method is meant to be called from the destructor of the lowest level class. More...
 
- Static Protected Member Functions inherited from XBMCAddon::AddonClass
static short getNextClassIndex ()
 This is meant to be called during static initialization and so isn't synchronized.
 
- Protected Attributes inherited from XBMCAddon::AddonClass
LanguageHooklanguageHook
 

Detailed Description

This class is primarily for Python support (hence the "Retarded" prefix).

Python (et. al. Retarded languages) require that the context within which a callback executes is under the control of the language. Therefore, this handler is used to queue messages over to a language controlled thread for eventual execution.

Todo:
Allow a cross thread synchronous execution. Fix the stupid means of calling the clearPendingCalls by passing userData which is specific to the handler/language type.

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