CoreGraphics::ThreadSafeRenderEventHandler Class Reference
#include <threadsaferendereventhandler.h>
Detailed Description
A thread-safe subclass of RenderEventHandler. Allows to receive RenderEvents from a differnet thread then the render thread. The producer thread calls the PutEvent() method to push new events into the event handler, these events will be stored in a(C) 2007 Radon Labs GmbH
Public Member Functions | |
ThreadSafeRenderEventHandler () | |
constructor | |
virtual | ~ThreadSafeRenderEventHandler () |
destructor | |
virtual bool | PutEvent (const RenderEvent &event) |
called by RenderDevice when an event happens | |
void | HandlePendingEvents () |
handle all pending events (called by consumer thread) | |
virtual void | OnAttach () |
called when the event handler is attached to the RenderDevice | |
virtual void | OnRemove () |
called when the event handler is removed from the RenderDevice | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Static Public Member Functions | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) | |
Protected Member Functions | |
virtual bool | HandleEvent (const RenderEvent &event) |
called when an event should be processed, override this method in your subclass |
Member Function Documentation
bool CoreGraphics::ThreadSafeRenderEventHandler::PutEvent | ( | const RenderEvent & | e | ) | [virtual] |
called by RenderDevice when an event happens
Put an event into the event handler. This method is called by the render thread's RenderDevice. Events are queued until the consumer thread processes them by calling HandlePendingEvents().
Reimplemented from CoreGraphics::RenderEventHandler.
void CoreGraphics::ThreadSafeRenderEventHandler::HandlePendingEvents | ( | ) |
handle all pending events (called by consumer thread)
Process pending events. This method should be called frequently by the consumer thread. Pending events will be deqeued from the internel event queue and the HandleEvent() method will be called once per event.
bool CoreGraphics::ThreadSafeRenderEventHandler::HandleEvent | ( | const RenderEvent & | e | ) | [protected, virtual] |
called when an event should be processed, override this method in your subclass
Handle an event. This method is called in the consumer thread context from the HandlePendingEvents() method for each pending event. Override this method in your subclass to process the event.
Reimplemented from CoreGraphics::RenderEventHandler.
int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.