Messaging::AsyncPort Class Reference
#include <asyncport.h>
Inheritance diagram for Messaging::AsyncPort:

Detailed Description
The AsyncPort class runs its handlers in a separate thread, so that message processing happens in a separate thread and doesn't block the main thread.(C) 2006 Radon Labs GmbH
Public Member Functions | |
| AsyncPort () | |
| constructor | |
| virtual | ~AsyncPort () |
| destructor | |
| void | SetHandlerThread (const Ptr< HandlerThreadBase > &handlerThread) |
| set pointer to handler thread object (must be derived from HandlerThreadBase) | |
| const Ptr< HandlerThreadBase > & | GetHandlerThread () const |
| get pointer to handler thread object | |
| virtual void | AttachHandler (const Ptr< Handler > &h) |
| attach a handler to the port, may be called before or after Open() | |
| virtual void | RemoveHandler (const Ptr< Handler > &h) |
| dynamically remove a handler from the port | |
| virtual void | Open () |
| open the async port | |
| virtual void | Close () |
| close the async port | |
| bool | IsOpen () const |
| return true if port is open | |
| template<class MESSAGETYPE> | |
| void | Send (const Ptr< MESSAGETYPE > &msg) |
| send an asynchronous message to the port | |
| template<class MESSAGETYPE> | |
| void | SendWait (const Ptr< MESSAGETYPE > &msg) |
| send a message and wait for completion | |
| template<class MESSAGETYPE> | |
| void | Wait (const Ptr< MESSAGETYPE > &msg) |
| wait for a message to be handled | |
| template<class MESSAGETYPE> | |
| bool | Peek (const Ptr< MESSAGETYPE > &msg) |
| peek a message whether it has been handled | |
| template<class MESSAGETYPE> | |
| void | Cancel (const Ptr< MESSAGETYPE > &msg) |
| cancel a pending message | |
| 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!) | |
Member Function Documentation
attach a handler to the port, may be called before or after Open()
Add a message handler, this can either be called before the handler thread is started, or any time afterwards.
Reimplemented in Interface::InterfaceBase.
dynamically remove a handler from the port
Dynamically remove a message handler.
| void Messaging::AsyncPort::Open | ( | ) | [virtual] |
open the async port
Open the async port. The async port needs a valid name before it is opened. Messages can only be sent to an open port.
Reimplemented in Debug::DebugInterface, Http::HttpInterface, Interface::InterfaceBase, and Graphics::GraphicsInterface.
| void Messaging::AsyncPort::Close | ( | ) | [virtual] |
| 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.