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.