xbmc
Public Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
XBMCAddon::xbmcgui::InterceptorBase Class Referenceabstract

These two classes are closely associated with the Interceptor template below. More...

#include <WindowInterceptor.h>

Inheritance diagram for XBMCAddon::xbmcgui::InterceptorBase:
Inheritance graph
[legend]
Collaboration diagram for XBMCAddon::xbmcgui::InterceptorBase:
Collaboration graph
[legend]

Public Member Functions

virtual CGUIWindowget ()=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< Windowwindow
 

Static Protected Attributes

static thread_local refupcallTls
 

Friends

class ref
 

Detailed Description

These two classes are closely associated with the Interceptor template below.

For more detailed explanation, see that class.

Member Function Documentation

◆ up()

static bool XBMCAddon::xbmcgui::InterceptorBase::up ( )
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.


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