Sophie

Sophie

distrib > Fedora > 13 > x86_64 > by-pkgid > 0913c61432ad4cb3dc0275fd5f3bbd98 > files > 100

meanwhile-doc-1.1.0-4.fc13.x86_64.rpm

<!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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;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&nbsp;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 &quot;<a class="el" href="mw__common_8h_source.html">mw_common.h</a>&quot;</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 &nbsp;</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 &nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#a9673ef57609cdfc52d0f53d77018a5cb">mwService_AWARE</a>&nbsp;&nbsp;&nbsp;0x00000011</td></tr>
<tr><td class="mdescLeft">&nbsp;</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(*&nbsp;</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(*&nbsp;</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">&nbsp;</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(*&nbsp;</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">&nbsp;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8">mwAwareAttributeKeys</a> { <br/>
&nbsp;&nbsp;<a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a35df5690450f7a15d5f9c67c6e678a4b">mwAttribute_AV_PREFS_SET</a> =  0x01, 
<br/>
&nbsp;&nbsp;<a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8adb1d5c2cca3454bc04356fa76366099e">mwAttribute_MICROPHONE</a> =  0x02, 
<br/>
&nbsp;&nbsp;<a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a3ea3994c8654686923257569bf1f2c4b">mwAttribute_SPEAKERS</a> =  0x03, 
<br/>
&nbsp;&nbsp;<a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a5a65cfdc1159fc3334a0153a71bc36ea">mwAttribute_VIDEO_CAMERA</a> =  0x04, 
<br/>
&nbsp;&nbsp;<a class="el" href="mw__srvc__aware_8h.html#ad8092d618186e59148fc837325f1d1c8a176fb6c3a5ec356d38ed837da0033741">mwAttribute_FILE_TRANSFER</a> =  0x06
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Predefined keys appropriate for a <a class="el" href="structmwAwareAttribute.html" title="Key/Opaque pair indicating an identity&#39;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&nbsp;</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&nbsp;</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> *&nbsp;</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">&nbsp;</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 *&nbsp;</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">&nbsp;</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&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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> *&nbsp;</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 *&nbsp;</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> *&nbsp;</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">&nbsp;</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&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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">&nbsp;</td><td class="mdescRight">remove all watched attributes  <a href="#a2925fa791450aed0d944cae7ecd794b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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> *&nbsp;</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">&nbsp;</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 *&nbsp;</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">&nbsp;</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> *&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;&nbsp;&nbsp;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>&nbsp;</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>&nbsp;</td><td>awareness the attribute belongs to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attrib</em>&nbsp;</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>&nbsp;</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>&nbsp;</td><td>awareness status information </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</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&#39;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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>attrib</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>attrib</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>attrib</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>attrib</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>attrib</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GList *&nbsp;</td>
          <td class="paramname"> <em>id_list</em></td><td>&nbsp;</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>&nbsp;</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>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>handler</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GList *&nbsp;</td>
          <td class="paramname"> <em>id_list</em></td><td>&nbsp;</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>&nbsp;</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>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gpointer&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GDestroyNotify&nbsp;</td>
          <td class="paramname"> <em>cleanup</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em></td>
          <td>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32 *&nbsp;</td>
          <td class="paramname"> <em>keys</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32 *&nbsp;</td>
          <td class="paramname"> <em>keys</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>user</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>key</em></td><td>&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>user</em></td><td>&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>handler</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>srvc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>opaque</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>srvc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">gboolean&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>srvc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>srvc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td><td>&nbsp;</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> *&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>stat</em></td><td>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>srvc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">guint32&nbsp;</td>
          <td class="paramname"> <em>key</em></td><td>&nbsp;</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&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address>
</body>
</html>