<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Yate: Message Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1Message.html">Message</a> </div> </div> <div class="contents"> <h1>Message Class Reference</h1><!-- doxytag: class="TelEngine::Message" --><!-- doxytag: inherits="TelEngine::NamedList" -->A message container class. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yatengine_8h-source.html">yatengine.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for Message:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1Message.png" usemap="#Message_map" border="0" alt=""></center> <map name="Message_map"> <area href="classTelEngine_1_1NamedList.html" alt="NamedList" shape="rect" coords="0,112,72,136"> <area href="classTelEngine_1_1String.html" alt="String" shape="rect" coords="0,56,72,80"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,72,24"> </map> </div> <p> <a href="classTelEngine_1_1Message-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#8a35b3bb573922e67bc2531335d336b8">Message</a> (const char *name, const char *retval=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#78f95a1e8d89370d96d8d49c7aad81fb">Message</a> (const <a class="el" href="classTelEngine_1_1Message.html">Message</a> &original)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#77bbb3ffd8a298c81a043e4d6c7cf032">~Message</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#aa71c3294b1a073c3ad0b64a2ed6325a">getObject</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &name) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1String.html">String</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#b967abea1ca600b2d2162aa33973e248">retValue</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#789cdee8e00b2e8951781b4ac6cdcb48">retValue</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1RefObject.html">RefObject</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#ce6af75c8b7cd55f05d20244ab345642">userData</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#77bfe2cad0637617c0560385dd88804d">userData</a> (<a class="el" href="classTelEngine_1_1RefObject.html">RefObject</a> *data)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#ee87a391e548199dafc028350e1ea9e8">userObject</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &name) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#3cd31574e84b409024d17ccdae6a96ee">setNotify</a> (bool notify=true)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1Time.html">Time</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#e74f2e31a8a4563a9608369c2b62be9f">msgTime</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1Time.html">Time</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#7556c4b4228f6d9b541589acfe122b7f">msgTime</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1Message.html">Message</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#b3285a2c0aecead722de9d6c2782ea77">operator=</a> (const char *value)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1String.html">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#db1b2af0dd2a3bc3fb52d80b76507dd7">encode</a> (const char *id) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1String.html">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#34780a4ec0291280a143568b2d060321">encode</a> (bool received, const char *id) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#b70bb5447f436caa32321d0e3439f2ae">decode</a> (const char *str, <a class="el" href="classTelEngine_1_1String.html">String</a> &id)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#2fd5a7315d33b32145e4510304d7f526">decode</a> (const char *str, bool &received, const char *id)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1Message.html#6175ba84d433f6008eb7249c043d26f6">dispatched</a> (bool accepted)</td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc22d6e21b1632fdf70629d396fe89cc"></a><!-- doxytag: member="TelEngine::Message::MessageDispatcher" ref="fc22d6e21b1632fdf70629d396fe89cc" args="" --> class </td><td class="memItemRight" valign="bottom"><b>MessageDispatcher</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A message container class. <p> This class holds the messages that are moved around in the engine. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="8a35b3bb573922e67bc2531335d336b8"></a><!-- doxytag: member="TelEngine::Message::Message" ref="8a35b3bb573922e67bc2531335d336b8" args="(const char *name, const char *retval=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1Message.html">Message</a> </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>retval</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a new message.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of the message - must not be NULL or empty </td></tr> <tr><td valign="top"></td><td valign="top"><em>retval</em> </td><td>Default return value </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="78f95a1e8d89370d96d8d49c7aad81fb"></a><!-- doxytag: member="TelEngine::Message::Message" ref="78f95a1e8d89370d96d8d49c7aad81fb" args="(const Message &original)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1Message.html">Message</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1Message.html">Message</a> & </td> <td class="paramname"> <em>original</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor. Note that user data and notification are not copied. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>original</em> </td><td><a class="el" href="classTelEngine_1_1Message.html" title="A message container class.">Message</a> we are copying from </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="77bbb3ffd8a298c81a043e4d6c7cf032"></a><!-- doxytag: member="TelEngine::Message::~Message" ref="77bbb3ffd8a298c81a043e4d6c7cf032" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">~<a class="el" href="classTelEngine_1_1Message.html">Message</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Destruct the message and dereferences any user data </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="2fd5a7315d33b32145e4510304d7f526"></a><!-- doxytag: member="TelEngine::Message::decode" ref="2fd5a7315d33b32145e4510304d7f526" args="(const char *str, bool &received, const char *id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int decode </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool & </td> <td class="paramname"> <em>received</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Decode a string from an external communication interface that is an answer to a specific external processing request. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td><a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> to decode </td></tr> <tr><td valign="top"></td><td valign="top"><em>received</em> </td><td>Pointer to variable to store the dispatch return value </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>The identifier expected </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>-2 for success, -1 if the string was not the expected answer, index of first erroneous character if failed </dd></dl> </div> </div><p> <a class="anchor" name="b70bb5447f436caa32321d0e3439f2ae"></a><!-- doxytag: member="TelEngine::Message::decode" ref="b70bb5447f436caa32321d0e3439f2ae" args="(const char *str, String &id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int decode </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Decode a string from an external communication interface for processing in the engine. The message is modified accordingly. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td><a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> to decode </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>A <a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> object in which the identifier is stored </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>-2 for success, -1 if the string was not a text form of a message, index of first erroneous character if failed </dd></dl> </div> </div><p> <a class="anchor" name="6175ba84d433f6008eb7249c043d26f6"></a><!-- doxytag: member="TelEngine::Message::dispatched" ref="6175ba84d433f6008eb7249c043d26f6" args="(bool accepted)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void dispatched </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>accepted</em> </td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Notify the message it has been dispatched. The default behaviour is to call the <a class="el" href="classTelEngine_1_1Message.html#6175ba84d433f6008eb7249c043d26f6">dispatched()</a> method of the user data if it implements <a class="el" href="classTelEngine_1_1MessageNotifier.html">MessageNotifier</a> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>accepted</em> </td><td>True if one handler accepted the message </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="34780a4ec0291280a143568b2d060321"></a><!-- doxytag: member="TelEngine::Message::encode" ref="34780a4ec0291280a143568b2d060321" args="(bool received, const char *id) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1String.html">String</a> encode </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>received</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Encode the message into a string adequate for sending as answer to an external communication interface <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>received</em> </td><td>True if message was processed locally </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>Unique identifier to add to the string </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="db1b2af0dd2a3bc3fb52d80b76507dd7"></a><!-- doxytag: member="TelEngine::Message::encode" ref="db1b2af0dd2a3bc3fb52d80b76507dd7" args="(const char *id) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1String.html">String</a> encode </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Encode the message into a string adequate for sending for processing to an external communication interface <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>Unique identifier to add to the string </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="aa71c3294b1a073c3ad0b64a2ed6325a"></a><!-- doxytag: member="TelEngine::Message::getObject" ref="aa71c3294b1a073c3ad0b64a2ed6325a" args="(const String &name) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void* getObject </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get a pointer to a derived class given that class name <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of the class we are asking for </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the requested class or NULL if this object doesn't implement it </dd></dl> <p>Reimplemented from <a class="el" href="classTelEngine_1_1NamedList.html#aa71c3294b1a073c3ad0b64a2ed6325a">NamedList</a>.</p> </div> </div><p> <a class="anchor" name="7556c4b4228f6d9b541589acfe122b7f"></a><!-- doxytag: member="TelEngine::Message::msgTime" ref="7556c4b4228f6d9b541589acfe122b7f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1Time.html">Time</a>& msgTime </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Retrive a const reference to the creation time of the message. <dl class="return" compact><dt><b>Returns:</b></dt><dd>A reference to the <a class="el" href="classTelEngine_1_1Time.html">Time</a> when the message was created </dd></dl> </div> </div><p> <a class="anchor" name="e74f2e31a8a4563a9608369c2b62be9f"></a><!-- doxytag: member="TelEngine::Message::msgTime" ref="e74f2e31a8a4563a9608369c2b62be9f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1Time.html">Time</a>& msgTime </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Retrive a reference to the creation time of the message. <dl class="return" compact><dt><b>Returns:</b></dt><dd>A reference to the <a class="el" href="classTelEngine_1_1Time.html">Time</a> when the message was created </dd></dl> </div> </div><p> <a class="anchor" name="b3285a2c0aecead722de9d6c2782ea77"></a><!-- doxytag: member="TelEngine::Message::operator=" ref="b3285a2c0aecead722de9d6c2782ea77" args="(const char *value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1Message.html">Message</a>& operator= </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Name assignment operator <p>Reimplemented from <a class="el" href="classTelEngine_1_1String.html#278b39df6141f5551062da2f28d22032">String</a>.</p> <p>References <a class="el" href="yateclass_8h-source.html#l01485">String::operator=()</a>.</p> </div> </div><p> <a class="anchor" name="789cdee8e00b2e8951781b4ac6cdcb48"></a><!-- doxytag: member="TelEngine::Message::retValue" ref="789cdee8e00b2e8951781b4ac6cdcb48" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1String.html">String</a>& retValue </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Retrive a const reference to the value returned by the message. <dl class="return" compact><dt><b>Returns:</b></dt><dd>A reference to the value the message will return </dd></dl> </div> </div><p> <a class="anchor" name="b967abea1ca600b2d2162aa33973e248"></a><!-- doxytag: member="TelEngine::Message::retValue" ref="b967abea1ca600b2d2162aa33973e248" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1String.html">String</a>& retValue </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Retrive a reference to the value returned by the message. <dl class="return" compact><dt><b>Returns:</b></dt><dd>A reference to the value the message will return </dd></dl> </div> </div><p> <a class="anchor" name="3cd31574e84b409024d17ccdae6a96ee"></a><!-- doxytag: member="TelEngine::Message::setNotify" ref="3cd31574e84b409024d17ccdae6a96ee" args="(bool notify=true)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void setNotify </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>notify</em> = <code>true</code> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Enable or disable notification of any <a class="el" href="classTelEngine_1_1MessageNotifier.html">MessageNotifier</a> that was set as user data. This method must be called after <a class="el" href="classTelEngine_1_1Message.html#ce6af75c8b7cd55f05d20244ab345642">userData()</a> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>notify</em> </td><td>True to have the message call the notifier </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="77bfe2cad0637617c0560385dd88804d"></a><!-- doxytag: member="TelEngine::Message::userData" ref="77bfe2cad0637617c0560385dd88804d" args="(RefObject *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void userData </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1RefObject.html">RefObject</a> * </td> <td class="paramname"> <em>data</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> 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. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>Pointer to arbitrary user data </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="ce6af75c8b7cd55f05d20244ab345642"></a><!-- doxytag: member="TelEngine::Message::userData" ref="ce6af75c8b7cd55f05d20244ab345642" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1RefObject.html">RefObject</a>* userData </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Retrive the object associated with the message <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to arbitrary user <a class="el" href="classTelEngine_1_1RefObject.html">RefObject</a> </dd></dl> </div> </div><p> <a class="anchor" name="ee87a391e548199dafc028350e1ea9e8"></a><!-- doxytag: member="TelEngine::Message::userObject" ref="ee87a391e548199dafc028350e1ea9e8" args="(const String &name) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* userObject </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get a pointer to a derived class of user data given that class name <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Name of the class we are asking for </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the requested class or NULL if user object id NULL or doesn't implement it </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yatengine_8h-source.html">yatengine.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:12 2008 for Yate by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>