Yate
|
A message container class. More...
#include <yatengine.h>
Public Member Functions | |
Message (const char *name, const char *retval=0) | |
Message (const Message &original) | |
~Message () | |
virtual void * | getObject (const String &name) const |
String & | retValue () |
const String & | retValue () const |
RefObject * | userData () const |
void | userData (RefObject *data) |
void * | userObject (const String &name) const |
void | setNotify (bool notify=true) |
Time & | msgTime () |
const Time & | msgTime () const |
Message & | operator= (const char *value) |
String | encode (const char *id) const |
String | encode (bool received, const char *id) const |
int | decode (const char *str, String &id) |
int | decode (const char *str, bool &received, const char *id) |
Protected Member Functions | |
virtual void | dispatched (bool accepted) |
Friends | |
class | MessageDispatcher |
A message container class.
This class holds the messages that are moved around in the engine.
Message | ( | const char * | name, |
const char * | retval = 0 |
||
) |
Creates a new message.
name | Name of the message - must not be NULL or empty |
retval | Default return value |
Copy constructor. Note that user data and notification are not copied.
original | Message we are copying from |
~Message | ( | ) |
Destruct the message and dereferences any user data
int decode | ( | const char * | str, |
String & | id | ||
) |
Decode a string from an external communication interface for processing in the engine. The message is modified accordingly.
int decode | ( | const char * | str, |
bool & | received, | ||
const char * | id | ||
) |
Decode a string from an external communication interface that is an answer to a specific external processing request.
str | String to decode |
received | Pointer to variable to store the dispatch return value |
id | The identifier expected |
virtual void dispatched | ( | bool | accepted | ) | [protected, virtual] |
Notify the message it has been dispatched. The default behaviour is to call the dispatched() method of the user data if it implements MessageNotifier
accepted | True if one handler accepted the message |
String encode | ( | bool | received, |
const char * | id | ||
) | const |
Encode the message into a string adequate for sending as answer to an external communication interface
received | True if message was processed locally |
id | Unique identifier to add to the string |
String encode | ( | const char * | id | ) | const |
Encode the message into a string adequate for sending for processing to an external communication interface
id | Unique identifier to add to the string |
virtual void* getObject | ( | const String & | name | ) | const [virtual] |
Get a pointer to a derived class given that class name
name | Name of the class we are asking for |
Reimplemented from NamedList.
const Time& msgTime | ( | ) | const [inline] |
Retrive a const reference to the creation time of the message.
Time& msgTime | ( | ) | [inline] |
Retrive a reference to the creation time of the message.
Message& operator= | ( | const char * | value | ) | [inline] |
String& retValue | ( | ) | [inline] |
Retrive a reference to the value returned by the message.
const String& retValue | ( | ) | const [inline] |
Retrive a const reference to the value returned by the message.
void setNotify | ( | bool | notify = true | ) | [inline] |
Enable or disable notification of any MessageNotifier that was set as user data. This method must be called after userData()
notify | True to have the message call the notifier |
RefObject* userData | ( | ) | const [inline] |
Retrive the object associated with the message
void userData | ( | RefObject * | data | ) |
Set obscure data associated with the message. The user data is reference counted to avoid stray pointers. Note that setting new user data will disable any notification.
data | Pointer to arbitrary user data |
void* userObject | ( | const String & | name | ) | const [inline] |
Get a pointer to a derived class of user data given that class name
name | Name of the class we are asking for |