xbmc
|
These two classes are closely associated with the Interceptor template below. More...
#include <WindowInterceptor.h>
Public Member Functions | |
virtual CGUIWindow * | get ()=0 |
virtual void | SetRenderOrder (int renderOrder) |
virtual void | setActive (bool active) |
virtual bool | isActive () |
Static Protected Member Functions | |
static bool | up () |
Calling up ONCE resets the upcall to to false. More... | |
Protected Attributes | |
AddonClass::Ref< Window > | window |
Static Protected Attributes | |
static thread_local ref * | upcallTls |
Friends | |
class | ref |
These two classes are closely associated with the Interceptor template below.
For more detailed explanation, see that class.
|
inlinestaticprotected |
Calling up ONCE resets the upcall to to false.
The reason is that when a call is recursive we cannot assume the ref has cleared the flag. so ...
ref(window)->UpCall()
during the context of 'UpCall' it's possible that another call will be made back on the window from the xbmc core side (this happens in sometimes in OnMessage). In that case, if upcall is still 'true', than the call will wrongly proceed back to the xbmc core side rather than to the Addon API side.