11 #include "interfaces/legacy/LanguageHook.h" 12 #include "threads/Event.h" 24 struct MutableInteger;
33 PyInterpreterState* m_interp;
34 CCriticalSection crit;
35 std::set<AddonClass*> currentObjects;
47 void MakePendingCalls()
override;
64 String GetAddonVersion()
override;
65 long GetInvokerId()
override;
71 bool WaitForEvent(
CEvent& hEvent,
unsigned int milliseconds)
override;
74 static bool IsAddonClassInstanceRegistered(
AddonClass* obj);
76 void RegisterAddonClassInstance(
AddonClass* obj);
77 void UnregisterAddonClassInstance(
AddonClass* obj);
78 bool HasRegisteredAddonClassInstance(
AddonClass* obj);
79 inline bool HasRegisteredAddonClasses()
81 std::unique_lock<CCriticalSection> l(*
this);
82 return !currentObjects.empty();
87 inline std::set<AddonClass*>& GetRegisteredAddonClasses() {
return currentObjects; }
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
This class supplies the python specific functionality for plugging into the API.
Definition: LanguageHook.h:31
This class is a smart pointer for a Referenced class.
Definition: AddonClass.h:154
String GetAddonId() override
This method should be done a different way but since the only other way I can think to do it requires...
Definition: LanguageHook.cpp:119
This is the abstraction representing different ways to handle the execution of callbacks.
Definition: CallbackHandler.h:21
XBMCAddon::CallbackHandler * GetCallbackHandler() override
PythonCallbackHandler expects to be instantiated PER AddonClass instance that is to be used as a call...
Definition: LanguageHook.cpp:113
Defining LOG_LIFECYCLE_EVENTS will log all instantiations, deletions and also reference countings (in...
Definition: Addon.cpp:25
Definition: IPlayerCallback.h:18
Definition: LanguageHook.h:29
void DelayedCallClose() override
If the scripting language needs special handling for calls that block or are delayed in any other mea...
Definition: LanguageHook.cpp:49
This class is the superclass for all reference counted classes in the api.
Definition: AddonClass.h:57
void DelayedCallOpen() override
If the scripting language needs special handling for calls that block or are delayed in any other mea...
Definition: LanguageHook.cpp:43