<!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_resolve.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_resolve.h File Reference</h1><code>#include <glib.h></code><br/> <code>#include <glib/glist.h></code><br/> <p><a href="mw__srvc__resolve_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="structmwResolveMatch.html">mwResolveMatch</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structmwResolveResult.html">mwResolveResult</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__resolve_8h.html#a86bbe7c161a9136f90b946fec18ce7d0">mwService_RESOLVE</a> 0x00000015</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Type identifier for the conference service. <a href="#a86bbe7c161a9136f90b946fec18ce7d0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__resolve_8h.html#aa95a23ed83ec736d0038afde41bd38a4">SEARCH_ERROR</a> 0x00</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return value of mwServiceResolve_search indicating an error. <a href="#aa95a23ed83ec736d0038afde41bd38a4"></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__resolve_8h.html#a753578369cb87a8e7ee163c371ab2ed4">mwResolveHandler</a> )(struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a> *srvc, guint32 id, guint32 code, GList *results, gpointer data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Handle the results of a resolve request. <a href="#a753578369cb87a8e7ee163c371ab2ed4"></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__resolve_8h.html#a901802d0ba547de6e2bbc51e7f8c961e">mwResolveCode</a> { <br/> <a class="el" href="mw__srvc__resolve_8h.html#a901802d0ba547de6e2bbc51e7f8c961ea52b065bd666703cdaae31c230e852679">mwResolveCode_SUCCESS</a> = 0x00000000, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a901802d0ba547de6e2bbc51e7f8c961ea59051750774c2af1a16af178e4a63772">mwResolveCode_PARTIAL</a> = 0x00010000, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a901802d0ba547de6e2bbc51e7f8c961ea2e3a8627f18371c9706af74e4d0f3ef7">mwResolveCode_MULTIPLE</a> = 0x80020000, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a901802d0ba547de6e2bbc51e7f8c961ea274747836537e0153801c07a7526fff2">mwResolveCode_BAD_FORMAT</a> = 0x80030000 <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbb">mwResolveFlag</a> { <br/> <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbba115c168258bfa096e531592fbdf898b1">mwResolveFlag_UNIQUE</a> = 0x00000001, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbbaadf46498d1a53c57cd0492dd639eb979">mwResolveFlag_FIRST</a> = 0x00000002, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbba2d89a6687296226e99cf10d103e98937">mwResolveFlag_ALL_DIRS</a> = 0x00000004, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbbaaf2857a1f0eafa23d3c1b2b4b46f136a">mwResolveFlag_USERS</a> = 0x00000008, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbbadb90560d6d73e2b2d04d2c6ace65d4e7">mwResolveFlag_GROUPS</a> = 0x00000010 <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__resolve_8h.html#a97de48c2ed31a8dd2155de1543a41591">mwResolveMatchType</a> { <br/> <a class="el" href="mw__srvc__resolve_8h.html#a97de48c2ed31a8dd2155de1543a41591aceb17ee67694939b111d1a35000a63c3">mwResolveMatch_USER</a> = 0x00000001, <br/> <a class="el" href="mw__srvc__resolve_8h.html#a97de48c2ed31a8dd2155de1543a41591a208dda549a0228435744b5474dd142e6">mwResolveMatch_GROUP</a> = 0x00000002 <br/> }</td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__resolve_8h.html#ab0158070e293d0d6a4f7aeac84130add">mwServiceResolve_cancelResolve</a> (struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a> *, guint32)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cancel a resolve request by its generated ID. <a href="#ab0158070e293d0d6a4f7aeac84130add"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="mw__srvc__resolve_8h.html#abbd09e01eef8b1a275177926edcbfaaa">mwServiceResolve_new</a> (struct <a class="el" href="structmwSession.html">mwSession</a> *)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate a new resolve service. <a href="#abbd09e01eef8b1a275177926edcbfaaa"></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__resolve_8h.html#ac3417bb30fa92f4e6897fb5b71f8ba65">mwServiceResolve_resolve</a> (struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a> *srvc, GList *queries, enum <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbb">mwResolveFlag</a> flags, <a class="el" href="mw__srvc__resolve_8h.html#a753578369cb87a8e7ee163c371ab2ed4">mwResolveHandler</a> handler, gpointer data, GDestroyNotify cleanup)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Inisitate a resolve request. <a href="#ac3417bb30fa92f4e6897fb5b71f8ba65"></a><br/></td></tr> </table> <hr/><h2>Define Documentation</h2> <a class="anchor" id="a86bbe7c161a9136f90b946fec18ce7d0"></a><!-- doxytag: member="mw_srvc_resolve.h::mwService_RESOLVE" ref="a86bbe7c161a9136f90b946fec18ce7d0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define mwService_RESOLVE 0x00000015</td> </tr> </table> </div> <div class="memdoc"> <p>Type identifier for the conference service. </p> </div> </div> <a class="anchor" id="aa95a23ed83ec736d0038afde41bd38a4"></a><!-- doxytag: member="mw_srvc_resolve.h::SEARCH_ERROR" ref="aa95a23ed83ec736d0038afde41bd38a4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define SEARCH_ERROR 0x00</td> </tr> </table> </div> <div class="memdoc"> <p>Return value of mwServiceResolve_search indicating an error. </p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a753578369cb87a8e7ee163c371ab2ed4"></a><!-- doxytag: member="mw_srvc_resolve.h::mwResolveHandler" ref="a753578369cb87a8e7ee163c371ab2ed4" args=")(struct mwServiceResolve *srvc, guint32 id, guint32 code, GList *results, gpointer data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef void(* <a class="el" href="mw__srvc__resolve_8h.html#a753578369cb87a8e7ee163c371ab2ed4">mwResolveHandler</a>)(struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a> *srvc, guint32 id, guint32 code, GList *results, gpointer data)</td> </tr> </table> </div> <div class="memdoc"> <p>Handle the results of a resolve request. </p> <p>If there was a cleanup function specified to mwServiceResolve_search, it will be called upon the user data after this callback returns.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>srvc</em> </td><td>the resolve service </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>the resolve request ID </td></tr> <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>return code </td></tr> <tr><td valign="top"></td><td valign="top"><em>results</em> </td><td>list of <a class="el" href="structmwResolveResult.html">mwResolveResult</a> </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>optional user data attached to the request </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="a901802d0ba547de6e2bbc51e7f8c961e"></a><!-- doxytag: member="mw_srvc_resolve.h::mwResolveCode" ref="a901802d0ba547de6e2bbc51e7f8c961e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="mw__srvc__resolve_8h.html#a901802d0ba547de6e2bbc51e7f8c961e">mwResolveCode</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structmwResolveResult.html">mwResolveResult</a> </dd></dl> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a901802d0ba547de6e2bbc51e7f8c961ea52b065bd666703cdaae31c230e852679"></a><!-- doxytag: member="mwResolveCode_SUCCESS" ref="a901802d0ba547de6e2bbc51e7f8c961ea52b065bd666703cdaae31c230e852679" args="" -->mwResolveCode_SUCCESS</em> </td><td> <p>successful search </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a901802d0ba547de6e2bbc51e7f8c961ea59051750774c2af1a16af178e4a63772"></a><!-- doxytag: member="mwResolveCode_PARTIAL" ref="a901802d0ba547de6e2bbc51e7f8c961ea59051750774c2af1a16af178e4a63772" args="" -->mwResolveCode_PARTIAL</em> </td><td> <p>only some of the nested searches were successful </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a901802d0ba547de6e2bbc51e7f8c961ea2e3a8627f18371c9706af74e4d0f3ef7"></a><!-- doxytag: member="mwResolveCode_MULTIPLE" ref="a901802d0ba547de6e2bbc51e7f8c961ea2e3a8627f18371c9706af74e4d0f3ef7" args="" -->mwResolveCode_MULTIPLE</em> </td><td> <p>more than one result (occurs when mwResolveFlag_UNIQUE is used and more than one result would have been otherwise returned) </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a901802d0ba547de6e2bbc51e7f8c961ea274747836537e0153801c07a7526fff2"></a><!-- doxytag: member="mwResolveCode_BAD_FORMAT" ref="a901802d0ba547de6e2bbc51e7f8c961ea274747836537e0153801c07a7526fff2" args="" -->mwResolveCode_BAD_FORMAT</em> </td><td> <p>the name is not resolvable due to its format </p> </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a58431b16fa3147bd28b20f4d8e046bbb"></a><!-- doxytag: member="mw_srvc_resolve.h::mwResolveFlag" ref="a58431b16fa3147bd28b20f4d8e046bbb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbb">mwResolveFlag</a></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a58431b16fa3147bd28b20f4d8e046bbba115c168258bfa096e531592fbdf898b1"></a><!-- doxytag: member="mwResolveFlag_UNIQUE" ref="a58431b16fa3147bd28b20f4d8e046bbba115c168258bfa096e531592fbdf898b1" args="" -->mwResolveFlag_UNIQUE</em> </td><td> <p>return unique results or none at all </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a58431b16fa3147bd28b20f4d8e046bbbaadf46498d1a53c57cd0492dd639eb979"></a><!-- doxytag: member="mwResolveFlag_FIRST" ref="a58431b16fa3147bd28b20f4d8e046bbbaadf46498d1a53c57cd0492dd639eb979" args="" -->mwResolveFlag_FIRST</em> </td><td> <p>return only the first result </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a58431b16fa3147bd28b20f4d8e046bbba2d89a6687296226e99cf10d103e98937"></a><!-- doxytag: member="mwResolveFlag_ALL_DIRS" ref="a58431b16fa3147bd28b20f4d8e046bbba2d89a6687296226e99cf10d103e98937" args="" -->mwResolveFlag_ALL_DIRS</em> </td><td> <p>search all directories, not just the first with a match </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a58431b16fa3147bd28b20f4d8e046bbbaaf2857a1f0eafa23d3c1b2b4b46f136a"></a><!-- doxytag: member="mwResolveFlag_USERS" ref="a58431b16fa3147bd28b20f4d8e046bbbaaf2857a1f0eafa23d3c1b2b4b46f136a" args="" -->mwResolveFlag_USERS</em> </td><td> <p>search for users </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a58431b16fa3147bd28b20f4d8e046bbbadb90560d6d73e2b2d04d2c6ace65d4e7"></a><!-- doxytag: member="mwResolveFlag_GROUPS" ref="a58431b16fa3147bd28b20f4d8e046bbbadb90560d6d73e2b2d04d2c6ace65d4e7" args="" -->mwResolveFlag_GROUPS</em> </td><td> <p>search for groups </p> </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a97de48c2ed31a8dd2155de1543a41591"></a><!-- doxytag: member="mw_srvc_resolve.h::mwResolveMatchType" ref="a97de48c2ed31a8dd2155de1543a41591" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="mw__srvc__resolve_8h.html#a97de48c2ed31a8dd2155de1543a41591">mwResolveMatchType</a></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="a97de48c2ed31a8dd2155de1543a41591aceb17ee67694939b111d1a35000a63c3"></a><!-- doxytag: member="mwResolveMatch_USER" ref="a97de48c2ed31a8dd2155de1543a41591aceb17ee67694939b111d1a35000a63c3" args="" -->mwResolveMatch_USER</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" id="a97de48c2ed31a8dd2155de1543a41591a208dda549a0228435744b5474dd142e6"></a><!-- doxytag: member="mwResolveMatch_GROUP" ref="a97de48c2ed31a8dd2155de1543a41591a208dda549a0228435744b5474dd142e6" args="" -->mwResolveMatch_GROUP</em> </td><td> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ab0158070e293d0d6a4f7aeac84130add"></a><!-- doxytag: member="mw_srvc_resolve.h::mwServiceResolve_cancelResolve" ref="ab0158070e293d0d6a4f7aeac84130add" args="(struct mwServiceResolve *, guint32)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mwServiceResolve_cancelResolve </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint32 </td> <td class="paramname"></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Cancel a resolve request by its generated ID. </p> <p>The handler function will not be called, and the optional cleanup function will be called upon the optional user data for the request </p> </div> </div> <a class="anchor" id="abbd09e01eef8b1a275177926edcbfaaa"></a><!-- doxytag: member="mw_srvc_resolve.h::mwServiceResolve_new" ref="abbd09e01eef8b1a275177926edcbfaaa" args="(struct mwSession *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a>* mwServiceResolve_new </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwSession.html">mwSession</a> * </td> <td class="paramname"></td> <td> ) </td> <td><code> [read]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Allocate a new resolve service. </p> </div> </div> <a class="anchor" id="ac3417bb30fa92f4e6897fb5b71f8ba65"></a><!-- doxytag: member="mw_srvc_resolve.h::mwServiceResolve_resolve" ref="ac3417bb30fa92f4e6897fb5b71f8ba65" args="(struct mwServiceResolve *srvc, GList *queries, enum mwResolveFlag flags, mwResolveHandler handler, gpointer data, GDestroyNotify cleanup)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">guint32 mwServiceResolve_resolve </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structmwServiceResolve.html">mwServiceResolve</a> * </td> <td class="paramname"> <em>srvc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GList * </td> <td class="paramname"> <em>queries</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">enum <a class="el" href="mw__srvc__resolve_8h.html#a58431b16fa3147bd28b20f4d8e046bbb">mwResolveFlag</a> </td> <td class="paramname"> <em>flags</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="mw__srvc__resolve_8h.html#a753578369cb87a8e7ee163c371ab2ed4">mwResolveHandler</a> </td> <td class="paramname"> <em>handler</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"> <p>Inisitate a resolve request. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>srvc</em> </td><td>the resolve service </td></tr> <tr><td valign="top"></td><td valign="top"><em>queries</em> </td><td>list query strings </td></tr> <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>search flags </td></tr> <tr><td valign="top"></td><td valign="top"><em>handler</em> </td><td>result handling function </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>optional user data attached to the request </td></tr> <tr><td valign="top"></td><td valign="top"><em>cleanup</em> </td><td>optional function to clean up user data </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>generated ID for the search request, or SEARCH_ERROR </dd></dl> </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>