<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>meanwhile: mw_srvc_aware.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="contents"> <h1>mw_srvc_aware.h File Reference</h1> <p>The aware service. <a href="#_details">More...</a></p> <code>#include "<a class="el" href="mw__common_8h_source.html">mw_common.h</a>"</code><br/> <p><a href="mw__srvc__aware_8h_source.html">Go to the source code of this file.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structmwAwareHandler.html">mwAwareHandler</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structmwAwareListHandler.html">mwAwareListHandler</a></td></tr> <tr><td colspan="2"><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a9673ef57609cdfc52d0f53d77018a5cb">mwService_AWARE</a> 0x00000011</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Type identifier for the aware service. <a href="#a9673ef57609cdfc52d0f53d77018a5cb"></a><br/></td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#aa7277370bc330a93280748cffabb611c">mwAwareAttributeHandler</a> )(struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#ac399c4fd166c3be73879d0a989322ea0">mwAwareIdAttributeHandler</a> )(struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> *id, struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Appropriate function type for the on-option signal. <a href="#ac399c4fd166c3be73879d0a989322ea0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#ab612bd2e0ae1619269280b6850b382d9">mwAwareSnapshotHandler</a> )(struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, struct <a class="el" href="structmwAwareSnapshot.html">mwAwareSnapshot</a> *id)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Appropriate function type for the on-aware signal. <a href="#ab612bd2e0ae1619269280b6850b382d9"></a><br/></td></tr> <tr><td colspan="2"><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8">mwAwareAttributeKeys</a> { <br/> <a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a35df5690450f7a15d5f9c67c6e678a4b">mwAttribute_AV_PREFS_SET</a> = 0x01, <br/> <a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8adb1d5c2cca3454bc04356fa76366099e">mwAttribute_MICROPHONE</a> = 0x02, <br/> <a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a3ea3994c8654686923257569bf1f2c4b">mwAttribute_SPEAKERS</a> = 0x03, <br/> <a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a5a65cfdc1159fc3334a0153a71bc36ea">mwAttribute_VIDEO_CAMERA</a> = 0x04, <br/> <a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a176fb6c3a5ec356d38ed837da0033741">mwAttribute_FILE_TRANSFER</a> = 0x06 <br/> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Predefined keys appropriate for a <a class="el" href="structmwAwareAttribute.html" title="Key/Opaque pair indicating an identity's attribute.">mwAwareAttribute</a>. </p> <a href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8">More...</a><br/></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gboolean </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#af0c4c5116240026e2cbdd1a9e39b083f">mwAwareAttribute_asBoolean</a> (const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">guint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a178680ed401229ba8756f7643145ebb4">mwAwareAttribute_asInteger</a> (const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmwOpaque.html">mwOpaque</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#aa97de2edb78a4bca8fb029bb93a27698">mwAwareAttribute_asOpaque</a> (const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Direct access to an attribute's underlying opaque. <a href="#aa97de2edb78a4bca8fb029bb93a27698"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a05212b8e1eb916ffaade2dc98a9a0f2c">mwAwareAttribute_asString</a> (const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy of attribute string, must be g_free'd. <a href="#a05212b8e1eb916ffaade2dc98a9a0f2c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">guint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a6844d407e56c5000eba88839d69683f3">mwAwareAttribute_getKey</a> (const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a6b4e9cf5303953420f2036590a5fceaa">mwAwareList_addAware</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, GList *id_list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a collection of user IDs to an aware list. <a href="#a6b4e9cf5303953420f2036590a5fceaa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a4f2246c23927b6e383ca43db0c695482">mwAwareList_free</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Clean and free an aware list. <a href="#a4f2246c23927b6e383ca43db0c695482"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gpointer </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#ad418dda7970b946a359e30c198bc51c8">mwAwareList_getClientData</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmwAwareListHandler.html">mwAwareListHandler</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a90cd1deb7eb33a76b50d78e87ee34179">mwAwareList_getHandler</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">guint32 * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a5f9ee152e1b0b6f9e1234e411aece237">mwAwareList_getWatchedAttributes</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#aec598a3fea70191db7eda085d9029458">mwAwareList_new</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, struct <a class="el" href="structmwAwareListHandler.html">mwAwareListHandler</a> *handler)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate and initialize an aware list. <a href="#aec598a3fea70191db7eda085d9029458"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#af120a3a385b9c1ddd7cb21c6a9192d12">mwAwareList_removeAllAware</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a1fae01874bb8231532d3afad8a400d39">mwAwareList_removeAware</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, GList *id_list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove a collection of user IDs from an aware list. <a href="#a1fae01874bb8231532d3afad8a400d39"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#ab93ebcd6a559f2958d9f121cf44ea9de">mwAwareList_removeClientData</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a2193b27bace4f8d2144d14c50e2ca051">mwAwareList_setClientData</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, gpointer data, GDestroyNotify cleanup)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a2925fa791450aed0d944cae7ecd794b7">mwAwareList_unwatchAllAttributes</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">remove all watched attributes <a href="#a2925fa791450aed0d944cae7ecd794b7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a0edcfa5b39f1b07e89f286825060de6d">mwAwareList_unwatchAttributeArray</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, guint32 *keys)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">stop watching a NULL terminated array of keys <a href="#a0edcfa5b39f1b07e89f286825060de6d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a770ee5f5cab511be3afc1c15d859877f">mwAwareList_unwatchAttributes</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, guint32 key,...)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">stop watching a NULL terminated list of keys <a href="#a770ee5f5cab511be3afc1c15d859877f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a4c9fe3fd20cb23f378852e5557193f5b">mwAwareList_watchAttributeArray</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, guint32 *keys)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">watch an NULL terminated array of keys <a href="#a4c9fe3fd20cb23f378852e5557193f5b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a131ac4aa6a0bc27f41c38336f2f1e32c">mwAwareList_watchAttributes</a> (struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, guint32 key,...)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">watch a NULL terminated list of keys <a href="#a131ac4aa6a0bc27f41c38336f2f1e32c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a0e7822840f738d742cc89ac2eceaeafb">mwServiceAware_getAttribute</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> *user, guint32 key)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">look up the last known copy of an attribute for a user by the attribute's key <a href="#a0e7822840f738d742cc89ac2eceaeafb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a45b8200265bdbe10bc6eb4d2be1c863a">mwServiceAware_getText</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> *user)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">look up the status description for a user <a href="#a45b8200265bdbe10bc6eb4d2be1c863a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a14b0405dc36ca3156d9bdd0526d20378">mwServiceAware_new</a> (struct <a class="el" href="structmwSession.html">mwSession</a> *<a class="el" href="structmwService.html#a0c2badd2256155b2bee149fa4b57b7d6">session</a>, struct <a class="el" href="structmwAwareHandler.html">mwAwareHandler</a> *handler)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#aafab0ffd455f248ea7ec5e09aa3b430b">mwServiceAware_setAttribute</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, guint32 key, struct <a class="el" href="structmwOpaque.html">mwOpaque</a> *opaque)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set an attribute value for this session. <a href="#aafab0ffd455f248ea7ec5e09aa3b430b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a56b5e71c7e14bbef1bc8483036a57de2">mwServiceAware_setAttributeBoolean</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, guint32 key, gboolean val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a723af5134b3937cc515988e65330e3ae">mwServiceAware_setAttributeInteger</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, guint32 key, guint32 val)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#ad56699f75da3373b46fad1555976ff47">mwServiceAware_setAttributeString</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, guint32 key, const char *str)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a5a17b054331f6a0ff4fbe8e242f62738">mwServiceAware_setStatus</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> *user, struct <a class="el" href="structmwUserStatus.html">mwUserStatus</a> *stat)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">trigger a got_aware event constructed from the passed user and status information. <a href="#a5a17b054331f6a0ff4fbe8e242f62738"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a5474b312ec1d7018f2290510afd09a8e">mwServiceAware_unsetAttribute</a> (struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, guint32 key)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Unset an attribute for this session. <a href="#a5474b312ec1d7018f2290510afd09a8e"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>The aware service. </p> <p>..</p> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>remove the whole idea of an instantiated <a class="el" href="structmwAwareList.html" title="Instance of an Aware List.">mwAwareList</a> and instead use arbitrary pointers (including NULL) as keys to internally stored lists. This removes the problem of the service free'ing its lists and invalidating <a class="el" href="structmwAwareList.html" title="Instance of an Aware List.">mwAwareList</a> references from client code. </dd></dl> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a9673ef57609cdfc52d0f53d77018a5cb"></a><!-- doxytag: member="mw_srvc_aware.h::mwService_AWARE" ref="a9673ef57609cdfc52d0f53d77018a5cb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define mwService_AWARE 0x00000011</td> </tr> </table> </div> <div class="memdoc"> <p>Type identifier for the aware service. </p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="aa7277370bc330a93280748cffabb611c"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareAttributeHandler" ref="aa7277370bc330a93280748cffabb611c" args=")(struct mwServiceAware *srvc, struct mwAwareAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef void(* <a class="el" href="mw__srvc__aware_8h.html#aa7277370bc330a93280748cffabb611c">mwAwareAttributeHandler</a>)(struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> *srvc, struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ac399c4fd166c3be73879d0a989322ea0"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareIdAttributeHandler" ref="ac399c4fd166c3be73879d0a989322ea0" args=")(struct mwAwareList *list, struct mwAwareIdBlock *id, struct mwAwareAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef void(* <a class="el" href="mw__srvc__aware_8h.html#ac399c4fd166c3be73879d0a989322ea0">mwAwareIdAttributeHandler</a>)(struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> *id, struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> *attrib)</td> </tr> </table> </div> <div class="memdoc"> <p>Appropriate function type for the on-option signal. </p> <p>The option's value may need to be explicitly loaded in some instances, resulting in this handler being triggered again.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>list</em> </td><td><a class="el" href="structmwAwareList.html" title="Instance of an Aware List.">mwAwareList</a> emiting the signal </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>awareness the attribute belongs to </td></tr> <tr><td valign="top"></td><td valign="top"><em>attrib</em> </td><td>attribute </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ab612bd2e0ae1619269280b6850b382d9"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareSnapshotHandler" ref="ab612bd2e0ae1619269280b6850b382d9" args=")(struct mwAwareList *list, struct mwAwareSnapshot *id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef void(* <a class="el" href="mw__srvc__aware_8h.html#ab612bd2e0ae1619269280b6850b382d9">mwAwareSnapshotHandler</a>)(struct <a class="el" href="structmwAwareList.html">mwAwareList</a> *list, struct <a class="el" href="structmwAwareSnapshot.html">mwAwareSnapshot</a> *id)</td> </tr> </table> </div> <div class="memdoc"> <p>Appropriate function type for the on-aware signal. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>list</em> </td><td><a class="el" href="structmwAwareList.html" title="Instance of an Aware List.">mwAwareList</a> emiting the signal </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>awareness status information </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>user-specified data </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="ad8092d618186e59148fc837325f1d1c8"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareAttributeKeys" ref="ad8092d618186e59148fc837325f1d1c8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8">mwAwareAttributeKeys</a></td> </tr> </table> </div> <div class="memdoc"> <p>Predefined keys appropriate for a <a class="el" href="structmwAwareAttribute.html" title="Key/Opaque pair indicating an identity's attribute.">mwAwareAttribute</a>. </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ad8092d618186e59148fc837325f1d1c8a35df5690450f7a15d5f9c67c6e678a4b"></a><!-- doxytag: member="mwAttribute_AV_PREFS_SET" ref="ad8092d618186e59148fc837325f1d1c8a35df5690450f7a15d5f9c67c6e678a4b" args="" -->mwAttribute_AV_PREFS_SET</em> </td><td> <p>A/V prefs specified, gboolean. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ad8092d618186e59148fc837325f1d1c8adb1d5c2cca3454bc04356fa76366099e"></a><!-- doxytag: member="mwAttribute_MICROPHONE" ref="ad8092d618186e59148fc837325f1d1c8adb1d5c2cca3454bc04356fa76366099e" args="" -->mwAttribute_MICROPHONE</em> </td><td> <p>has a microphone, gboolean </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ad8092d618186e59148fc837325f1d1c8a3ea3994c8654686923257569bf1f2c4b"></a><!-- doxytag: member="mwAttribute_SPEAKERS" ref="ad8092d618186e59148fc837325f1d1c8a3ea3994c8654686923257569bf1f2c4b" args="" -->mwAttribute_SPEAKERS</em> </td><td> <p>has speakers, gboolean </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ad8092d618186e59148fc837325f1d1c8a5a65cfdc1159fc3334a0153a71bc36ea"></a><!-- doxytag: member="mwAttribute_VIDEO_CAMERA" ref="ad8092d618186e59148fc837325f1d1c8a5a65cfdc1159fc3334a0153a71bc36ea" args="" -->mwAttribute_VIDEO_CAMERA</em> </td><td> <p>has a video camera, gboolean </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ad8092d618186e59148fc837325f1d1c8a176fb6c3a5ec356d38ed837da0033741"></a><!-- doxytag: member="mwAttribute_FILE_TRANSFER" ref="ad8092d618186e59148fc837325f1d1c8a176fb6c3a5ec356d38ed837da0033741" args="" -->mwAttribute_FILE_TRANSFER</em> </td><td> <p>supports file transfers, gboolean </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="af0c4c5116240026e2cbdd1a9e39b083f"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareAttribute_asBoolean" ref="af0c4c5116240026e2cbdd1a9e39b083f" args="(const struct mwAwareAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gboolean mwAwareAttribute_asBoolean </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> * </td> <td class="paramname"> <em>attrib</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a178680ed401229ba8756f7643145ebb4"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareAttribute_asInteger" ref="a178680ed401229ba8756f7643145ebb4" args="(const struct mwAwareAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">guint32 mwAwareAttribute_asInteger </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> * </td> <td class="paramname"> <em>attrib</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aa97de2edb78a4bca8fb029bb93a27698"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareAttribute_asOpaque" ref="aa97de2edb78a4bca8fb029bb93a27698" args="(const struct mwAwareAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmwOpaque.html">mwOpaque</a>* mwAwareAttribute_asOpaque </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> * </td> <td class="paramname"> <em>attrib</em></td> <td> ) </td> <td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Direct access to an attribute's underlying opaque. </p> </div> </div> <a class="anchor" id="a05212b8e1eb916ffaade2dc98a9a0f2c"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareAttribute_asString" ref="a05212b8e1eb916ffaade2dc98a9a0f2c" args="(const struct mwAwareAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* mwAwareAttribute_asString </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> * </td> <td class="paramname"> <em>attrib</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Copy of attribute string, must be g_free'd. </p> <p>If the attribute's content cannot be loaded as a string, returns NULL </p> </div> </div> <a class="anchor" id="a6844d407e56c5000eba88839d69683f3"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareAttribute_getKey" ref="a6844d407e56c5000eba88839d69683f3" args="(const struct mwAwareAttribute *attrib)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">guint32 mwAwareAttribute_getKey </td> <td>(</td> <td class="paramtype">const struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a> * </td> <td class="paramname"> <em>attrib</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a6b4e9cf5303953420f2036590a5fceaa"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_addAware" ref="a6b4e9cf5303953420f2036590a5fceaa" args="(struct mwAwareList *list, GList *id_list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_addAware </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GList * </td> <td class="paramname"> <em>id_list</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add a collection of user IDs to an aware list. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>list</em> </td><td><a class="el" href="structmwAwareList.html" title="Instance of an Aware List.">mwAwareList</a> to add user ID to </td></tr> <tr><td valign="top"></td><td valign="top"><em>id_list</em> </td><td><a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> list of user IDs to add </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 for success, non-zero to indicate an error. </dd></dl> </div> </div> <a class="anchor" id="a4f2246c23927b6e383ca43db0c695482"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_free" ref="a4f2246c23927b6e383ca43db0c695482" args="(struct mwAwareList *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mwAwareList_free </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Clean and free an aware list. </p> </div> </div> <a class="anchor" id="ad418dda7970b946a359e30c198bc51c8"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_getClientData" ref="ad418dda7970b946a359e30c198bc51c8" args="(struct mwAwareList *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gpointer mwAwareList_getClientData </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a90cd1deb7eb33a76b50d78e87ee34179"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_getHandler" ref="a90cd1deb7eb33a76b50d78e87ee34179" args="(struct mwAwareList *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmwAwareListHandler.html">mwAwareListHandler</a>* mwAwareList_getHandler </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a5f9ee152e1b0b6f9e1234e411aece237"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_getWatchedAttributes" ref="a5f9ee152e1b0b6f9e1234e411aece237" args="(struct mwAwareList *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">guint32* mwAwareList_getWatchedAttributes </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aec598a3fea70191db7eda085d9029458"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_new" ref="aec598a3fea70191db7eda085d9029458" args="(struct mwServiceAware *srvc, struct mwAwareListHandler *handler)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmwAwareList.html">mwAwareList</a>* mwAwareList_new </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structmwAwareListHandler.html">mwAwareListHandler</a> * </td> <td class="paramname"> <em>handler</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Allocate and initialize an aware list. </p> </div> </div> <a class="anchor" id="af120a3a385b9c1ddd7cb21c6a9192d12"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_removeAllAware" ref="af120a3a385b9c1ddd7cb21c6a9192d12" args="(struct mwAwareList *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_removeAllAware </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a1fae01874bb8231532d3afad8a400d39"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_removeAware" ref="a1fae01874bb8231532d3afad8a400d39" args="(struct mwAwareList *list, GList *id_list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_removeAware </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GList * </td> <td class="paramname"> <em>id_list</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Remove a collection of user IDs from an aware list. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>list</em> </td><td><a class="el" href="structmwAwareList.html" title="Instance of an Aware List.">mwAwareList</a> to remove user ID from </td></tr> <tr><td valign="top"></td><td valign="top"><em>id_list</em> </td><td><a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> list of user IDs to remove </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 for success, non-zero to indicate an error. </dd></dl> </div> </div> <a class="anchor" id="ab93ebcd6a559f2958d9f121cf44ea9de"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_removeClientData" ref="ab93ebcd6a559f2958d9f121cf44ea9de" args="(struct mwAwareList *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mwAwareList_removeClientData </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2193b27bace4f8d2144d14c50e2ca051"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_setClientData" ref="a2193b27bace4f8d2144d14c50e2ca051" args="(struct mwAwareList *list, gpointer data, GDestroyNotify cleanup)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mwAwareList_setClientData </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">gpointer </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GDestroyNotify </td> <td class="paramname"> <em>cleanup</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a2925fa791450aed0d944cae7ecd794b7"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_unwatchAllAttributes" ref="a2925fa791450aed0d944cae7ecd794b7" args="(struct mwAwareList *list)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_unwatchAllAttributes </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>remove all watched attributes </p> </div> </div> <a class="anchor" id="a0edcfa5b39f1b07e89f286825060de6d"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_unwatchAttributeArray" ref="a0edcfa5b39f1b07e89f286825060de6d" args="(struct mwAwareList *list, guint32 *keys)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_unwatchAttributeArray </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 * </td> <td class="paramname"> <em>keys</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>stop watching a NULL terminated array of keys </p> </div> </div> <a class="anchor" id="a770ee5f5cab511be3afc1c15d859877f"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_unwatchAttributes" ref="a770ee5f5cab511be3afc1c15d859877f" args="(struct mwAwareList *list, guint32 key,...)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_unwatchAttributes </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"> <em>...</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>stop watching a NULL terminated list of keys </p> </div> </div> <a class="anchor" id="a4c9fe3fd20cb23f378852e5557193f5b"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_watchAttributeArray" ref="a4c9fe3fd20cb23f378852e5557193f5b" args="(struct mwAwareList *list, guint32 *keys)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_watchAttributeArray </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 * </td> <td class="paramname"> <em>keys</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>watch an NULL terminated array of keys </p> </div> </div> <a class="anchor" id="a131ac4aa6a0bc27f41c38336f2f1e32c"></a><!-- doxytag: member="mw_srvc_aware.h::mwAwareList_watchAttributes" ref="a131ac4aa6a0bc27f41c38336f2f1e32c" args="(struct mwAwareList *list, guint32 key,...)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwAwareList_watchAttributes </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwAwareList.html">mwAwareList</a> * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"> <em>...</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>watch a NULL terminated list of keys </p> </div> </div> <a class="anchor" id="a0e7822840f738d742cc89ac2eceaeafb"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_getAttribute" ref="a0e7822840f738d742cc89ac2eceaeafb" args="(struct mwServiceAware *srvc, struct mwAwareIdBlock *user, guint32 key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmwAwareAttribute.html">mwAwareAttribute</a>* mwServiceAware_getAttribute </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> * </td> <td class="paramname"> <em>user</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>look up the last known copy of an attribute for a user by the attribute's key </p> </div> </div> <a class="anchor" id="a45b8200265bdbe10bc6eb4d2be1c863a"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_getText" ref="a45b8200265bdbe10bc6eb4d2be1c863a" args="(struct mwServiceAware *srvc, struct mwAwareIdBlock *user)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* mwServiceAware_getText </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> * </td> <td class="paramname"> <em>user</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>look up the status description for a user </p> </div> </div> <a class="anchor" id="a14b0405dc36ca3156d9bdd0526d20378"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_new" ref="a14b0405dc36ca3156d9bdd0526d20378" args="(struct mwSession *session, struct mwAwareHandler *handler)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a>* mwServiceAware_new </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwSession.html">mwSession</a> * </td> <td class="paramname"> <em>session</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structmwAwareHandler.html">mwAwareHandler</a> * </td> <td class="paramname"> <em>handler</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aafab0ffd455f248ea7ec5e09aa3b430b"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_setAttribute" ref="aafab0ffd455f248ea7ec5e09aa3b430b" args="(struct mwServiceAware *srvc, guint32 key, struct mwOpaque *opaque)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwServiceAware_setAttribute </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structmwOpaque.html">mwOpaque</a> * </td> <td class="paramname"> <em>opaque</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set an attribute value for this session. </p> </div> </div> <a class="anchor" id="a56b5e71c7e14bbef1bc8483036a57de2"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_setAttributeBoolean" ref="a56b5e71c7e14bbef1bc8483036a57de2" args="(struct mwServiceAware *srvc, guint32 key, gboolean val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwServiceAware_setAttributeBoolean </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">gboolean </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a723af5134b3937cc515988e65330e3ae"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_setAttributeInteger" ref="a723af5134b3937cc515988e65330e3ae" args="(struct mwServiceAware *srvc, guint32 key, guint32 val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwServiceAware_setAttributeInteger </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ad56699f75da3373b46fad1555976ff47"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_setAttributeString" ref="ad56699f75da3373b46fad1555976ff47" args="(struct mwServiceAware *srvc, guint32 key, const char *str)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwServiceAware_setAttributeString </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>str</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a5a17b054331f6a0ff4fbe8e242f62738"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_setStatus" ref="a5a17b054331f6a0ff4fbe8e242f62738" args="(struct mwServiceAware *srvc, struct mwAwareIdBlock *user, struct mwUserStatus *stat)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mwServiceAware_setStatus </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structmwAwareIdBlock.html">mwAwareIdBlock</a> * </td> <td class="paramname"> <em>user</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structmwUserStatus.html">mwUserStatus</a> * </td> <td class="paramname"> <em>stat</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>trigger a got_aware event constructed from the passed user and status information. </p> <p>Useful for adding false users and having the getText function work for them </p> </div> </div> <a class="anchor" id="a5474b312ec1d7018f2290510afd09a8e"></a><!-- doxytag: member="mw_srvc_aware.h::mwServiceAware_unsetAttribute" ref="a5474b312ec1d7018f2290510afd09a8e" args="(struct mwServiceAware *srvc, guint32 key)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int mwServiceAware_unsetAttribute </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceAware.html">mwServiceAware</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"> <em>key</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Unset an attribute for this session. </p> </div> </div> </div> <hr size="1"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address> </body> </html>