<!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"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>libgadu: Katalog publiczny</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libgadu  <span id="projectnumber">1.11.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Wygenerowano przez Doxygen 1.8.1.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Szukaj'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Strona główna</span></a></li> <li><a href="pages.html"><span>Dodatkowe strony</span></a></li> <li><a href="modules.html"><span>Moduły</span></a></li> <li><a href="annotated.html"><span>Struktury Danych</span></a></li> <li><a href="files.html"><span>Pliki</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Szukaj" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div><!-- top --> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Struktury Danych</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Pliki</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Funkcje</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Zmienne</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Definicje typów</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Wyliczenia</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Wartości wyliczeń</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Definicje</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Grupay</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Strony</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#enum-members">Wyliczenia</a> | <a href="#func-members">Funkcje</a> </div> <div class="headertitle"> <div class="title">Katalog publiczny</div> </div> <div class="ingroups"><a class="el" href="group__session.html">Połączenie z serwerem</a></div></div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="enum-members"></a> Wyliczenia</h2></td></tr> <tr class="memitem:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba73bd72e76ef3c105c63d824d4abee6f5">GG_PUBDIR50_UIN</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55bab36f9936222cbac8f9fa23afcaaa62bd">GG_PUBDIR50_STATUS</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba0d81b2f75f7f60fc113c3b71a4482e04">GG_PUBDIR50_FIRSTNAME</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55bae6810769ecc82bfe582167b463c7fba2">GG_PUBDIR50_LASTNAME</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba094061a9f09d44efee353b61acb46e3a">GG_PUBDIR50_NICKNAME</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba8e2a38003c384ab8dadef2981d5dcc32">GG_PUBDIR50_BIRTHYEAR</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba8bd24c2fcbfe7095e869c76bb0406587">GG_PUBDIR50_CITY</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55bab66381abbc97ed2f90bad73f1f4b256f">GG_PUBDIR50_GENDER</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba7a129eb38d202462415ba8002104ee28">GG_PUBDIR50_ACTIVE</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55bac3afa37fe477571969c11697fc0cc392">GG_PUBDIR50_START</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55baeb302dc24ceea0578c467c716b624c59">GG_PUBDIR50_FAMILYNAME</a>, <br/>   <a class="el" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba0d80e2584b6da7901e0511a1869d25e0">GG_PUBDIR50_FAMILYCITY</a> <br/> }</td></tr> <tr class="memdesc:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="mdescLeft"> </td><td class="mdescRight">Rodzaj pola zapytania. <a href="group__pubdir50.html#ga06fc87d81c62e9abb8790b6e5713c55b">Więcej...</a><br/></td></tr> <tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>   <a class="el" href="group__pubdir50.html#ggadf764cbdea00d65edcd07bb9953ad2b7a46ab5ea4697594a9c954f61a92d4ad36">GG_PUBDIR50_GENDER_FEMALE</a>, <br/>   <a class="el" href="group__pubdir50.html#ggadf764cbdea00d65edcd07bb9953ad2b7ad905fd2a845d97967c1d7ea25a42e525">GG_PUBDIR50_GENDER_MALE</a> <br/> }</td></tr> <tr class="memdesc:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="mdescLeft"> </td><td class="mdescRight">Wartość pola GG_PUBDIR50_GENDER przy wyszukiwaniu. <a href="group__pubdir50.html#gadf764cbdea00d65edcd07bb9953ad2b7">Więcej...</a><br/></td></tr> <tr class="memitem:ga99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>   <a class="el" href="group__pubdir50.html#gga99fb83031ce9923c84392b4e92f956b5aaadb4ff5a3e558c8de03e10b478b9225">GG_PUBDIR50_GENDER_SET_FEMALE</a>, <br/>   <a class="el" href="group__pubdir50.html#gga99fb83031ce9923c84392b4e92f956b5af6caa7b2a19bda0ea95a158769cc19ce">GG_PUBDIR50_GENDER_SET_MALE</a> <br/> }</td></tr> <tr class="memdesc:ga99fb83031ce9923c84392b4e92f956b5"><td class="mdescLeft"> </td><td class="mdescRight">Wartość pola GG_PUBDIR50_GENDER przy wysyłaniu informacji o sobie. <a href="group__pubdir50.html#ga99fb83031ce9923c84392b4e92f956b5">Więcej...</a><br/></td></tr> <tr class="memitem:gabc6126af1d45847bc59afa0aa3216b04"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__pubdir50.html#ggabc6126af1d45847bc59afa0aa3216b04a1977bcd0c1b300c6064213932aea7aa3">GG_PUBDIR50_ACTIVE_TRUE</a> }</td></tr> <tr class="memdesc:gabc6126af1d45847bc59afa0aa3216b04"><td class="mdescLeft"> </td><td class="mdescRight">Wartość pola GG_PUBDIR50_ACTIVE. <a href="group__pubdir50.html#gabc6126af1d45847bc59afa0aa3216b04">Więcej...</a><br/></td></tr> <tr class="memitem:gadc29c2ff13d900c2f185ee95427fb06c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>   <a class="el" href="group__pubdir50.html#ggadc29c2ff13d900c2f185ee95427fb06ca86dc94118f3fd650df8530b48e430a82">GG_PUBDIR50_WRITE</a>, <br/>   <a class="el" href="group__pubdir50.html#ggadc29c2ff13d900c2f185ee95427fb06ca913497f2988a36519866620a489864d0">GG_PUBDIR50_READ</a>, <br/>   <a class="el" href="group__pubdir50.html#ggadc29c2ff13d900c2f185ee95427fb06ca5f6b6a3266048f93912b2d1f322870ee">GG_PUBDIR50_SEARCH</a>, <br/>   <a class="el" href="group__pubdir50.html#ggadc29c2ff13d900c2f185ee95427fb06ca1a4113577bab6d0c63d15ffa98d08e54">GG_PUBDIR50_SEARCH_REPLY</a> <br/> }</td></tr> <tr class="memdesc:gadc29c2ff13d900c2f185ee95427fb06c"><td class="mdescLeft"> </td><td class="mdescRight">Rodzaj zapytania lub odpowiedzi katalogu publicznego. <a href="group__pubdir50.html#gadc29c2ff13d900c2f185ee95427fb06c">Więcej...</a><br/></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="func-members"></a> Funkcje</h2></td></tr> <tr class="memitem:ga0c50f3990a635f40c63ff5720900b580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#ga0c50f3990a635f40c63ff5720900b580">gg_pubdir50_new</a> (int type)</td></tr> <tr class="memdesc:ga0c50f3990a635f40c63ff5720900b580"><td class="mdescLeft"> </td><td class="mdescRight">Tworzy nowe zapytanie katalogu publicznego. <a href="#ga0c50f3990a635f40c63ff5720900b580"></a><br/></td></tr> <tr class="memitem:ga089666a4b0c9d5b87ad65b7f7611e65a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a">gg_pubdir50_add</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> req, const char *field, const char *value)</td></tr> <tr class="memdesc:ga089666a4b0c9d5b87ad65b7f7611e65a"><td class="mdescLeft"> </td><td class="mdescRight">Dodaje pole zapytania. <a href="#ga089666a4b0c9d5b87ad65b7f7611e65a"></a><br/></td></tr> <tr class="memitem:gaf9c4c8ed55b746d346e822f9ba1ea3f0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#gaf9c4c8ed55b746d346e822f9ba1ea3f0">gg_pubdir50_seq_set</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> req, uint32_t seq)</td></tr> <tr class="memdesc:gaf9c4c8ed55b746d346e822f9ba1ea3f0"><td class="mdescLeft"> </td><td class="mdescRight">Ustawia numer sekwencyjny zapytania. <a href="#gaf9c4c8ed55b746d346e822f9ba1ea3f0"></a><br/></td></tr> <tr class="memitem:ga8fcb3df2c5247f0a91b104cfc4d93457"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#ga8fcb3df2c5247f0a91b104cfc4d93457">gg_pubdir50_free</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> s)</td></tr> <tr class="memdesc:ga8fcb3df2c5247f0a91b104cfc4d93457"><td class="mdescLeft"> </td><td class="mdescRight">Zwalnia zasoby po zapytaniu lub odpowiedzi katalogu publicznego. <a href="#ga8fcb3df2c5247f0a91b104cfc4d93457"></a><br/></td></tr> <tr class="memitem:gaec2469339a528ebaa763d0f32ba70ad4"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#gaec2469339a528ebaa763d0f32ba70ad4">gg_pubdir50</a> (struct <a class="el" href="structgg__session.html">gg_session</a> *sess, <a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> req)</td></tr> <tr class="memdesc:gaec2469339a528ebaa763d0f32ba70ad4"><td class="mdescLeft"> </td><td class="mdescRight">Wysyła zapytanie katalogu publicznego do serwera. <a href="#gaec2469339a528ebaa763d0f32ba70ad4"></a><br/></td></tr> <tr class="memitem:gafa912a68265fc939cb56614e88e2f926"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926">gg_pubdir50_get</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> res, int num, const char *field)</td></tr> <tr class="memdesc:gafa912a68265fc939cb56614e88e2f926"><td class="mdescLeft"> </td><td class="mdescRight">Pobiera pole z odpowiedzi katalogu publicznego. <a href="#gafa912a68265fc939cb56614e88e2f926"></a><br/></td></tr> <tr class="memitem:gaa41ea1898947f673708a28726695d7bf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#gaa41ea1898947f673708a28726695d7bf">gg_pubdir50_count</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> res)</td></tr> <tr class="memdesc:gaa41ea1898947f673708a28726695d7bf"><td class="mdescLeft"> </td><td class="mdescRight">Zwraca liczbę wyników odpowiedzi. <a href="#gaa41ea1898947f673708a28726695d7bf"></a><br/></td></tr> <tr class="memitem:ga02238cdc128e0dbacd71c958635a07cd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#ga02238cdc128e0dbacd71c958635a07cd">gg_pubdir50_type</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> res)</td></tr> <tr class="memdesc:ga02238cdc128e0dbacd71c958635a07cd"><td class="mdescLeft"> </td><td class="mdescRight">Zwraca rodzaj zapytania lub odpowiedzi. <a href="#ga02238cdc128e0dbacd71c958635a07cd"></a><br/></td></tr> <tr class="memitem:ga9d1be0ddb8a397232c382056d7003f0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="libgadu_8h.html#a33f630ba74294027f9bcda26ed49cdc8">uin_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#ga9d1be0ddb8a397232c382056d7003f0f">gg_pubdir50_next</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> res)</td></tr> <tr class="memdesc:ga9d1be0ddb8a397232c382056d7003f0f"><td class="mdescLeft"> </td><td class="mdescRight">Zwraca numer, od którego należy rozpocząc kolejne wyszukiwanie. <a href="#ga9d1be0ddb8a397232c382056d7003f0f"></a><br/></td></tr> <tr class="memitem:ga1604f460b45e6d6f2dc4736e9623b6bc"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pubdir50.html#ga1604f460b45e6d6f2dc4736e9623b6bc">gg_pubdir50_seq</a> (<a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> res)</td></tr> <tr class="memdesc:ga1604f460b45e6d6f2dc4736e9623b6bc"><td class="mdescLeft"> </td><td class="mdescRight">Zwraca numer sekwencyjny zapytania lub odpowiedzi. <a href="#ga1604f460b45e6d6f2dc4736e9623b6bc"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Opis szczegółowy</h2> <p>Funkcje katalogu publicznego pozwalają wyszukiwać znajomych oraz manipulować informacjami o sobie (imię, nazwisko, miejscowość, rok urodzenia itd.). Każda operacja na katalogu publicznym wymaga skonstruowania odpowiedniego zapytania do serwera i ewentualnej obsłudze odpowiedzi.</p> <p>Wyszukiwanie może wyglądać następująco:</p> <div class="fragment"><div class="line"><a class="code" href="structgg__pubdir50__s.html" title="Zapytanie lub odpowiedź katalogu publicznego.">gg_pubdir50_t</a> zapytanie;</div> <div class="line"></div> <div class="line">zapytanie = <a class="code" href="group__pubdir50.html#ga0c50f3990a635f40c63ff5720900b580" title="Tworzy nowe zapytanie katalogu publicznego.">gg_pubdir50_new</a>(GG_PUBDIR50_SEARCH_REQUEST);</div> <div class="line"></div> <div class="line"><span class="keywordflow">if</span> (!zapytanie)</div> <div class="line"> błąd(<span class="stringliteral">"Brak pamięci"</span>);</div> <div class="line"></div> <div class="line"><span class="comment">// Jeśli szukamy danego numeru...</span></div> <div class="line"></div> <div class="line"><a class="code" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add</a>(zapytanie, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba73bd72e76ef3c105c63d824d4abee6f5" title="Numer Gadu-Gadu.">GG_PUBDIR50_UIN</a>, <span class="stringliteral">"123456"</span>);</div> <div class="line"></div> <div class="line"><span class="comment">// ...lub kobiet o imieniu Anna...</span></div> <div class="line"></div> <div class="line"><a class="code" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add</a>(zapytanie, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba0d81b2f75f7f60fc113c3b71a4482e04" title="Imię">GG_PUBDIR50_FIRSTNAME</a>, <span class="stringliteral">"Anna"</span>);</div> <div class="line"><a class="code" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add</a>(zapytanie, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55bab66381abbc97ed2f90bad73f1f4b256f" title="Płeć">GG_PUBDIR50_GENDER</a>, <a class="code" href="group__pubdir50.html#ggadf764cbdea00d65edcd07bb9953ad2b7a46ab5ea4697594a9c954f61a92d4ad36" title="Kobieta.">GG_PUBDIR50_GENDER_FEMALE</a>);</div> <div class="line"></div> <div class="line"><span class="comment">// ...lub osób urodzonych w latach 1979-1985, aktualnie dostępnych...</span></div> <div class="line"></div> <div class="line"><a class="code" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add</a>(zapytanie, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba8e2a38003c384ab8dadef2981d5dcc32" title="Rok urodzenia lub przedział lat oddzielony spacją">GG_PUBDIR50_BIRTHYEAR</a>, <span class="stringliteral">"1979 1985"</span>);</div> <div class="line"><a class="code" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add</a>(zapytanie, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55bac3afa37fe477571969c11697fc0cc392" title="Numer początkowy wyszukiwania (tylko wyszukiwanie)">GG_PUBDIR50_START</a>, <span class="stringliteral">"0"</span>);</div> <div class="line"><a class="code" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add</a>(zapytanie, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba7a129eb38d202462415ba8002104ee28" title="Osoba dostępna (tylko wyszukiwanie)">GG_PUBDIR50_ACTIVE</a>, <a class="code" href="group__pubdir50.html#ggabc6126af1d45847bc59afa0aa3216b04a1977bcd0c1b300c6064213932aea7aa3" title="Wyszukaj tylko osoby dostępne.">GG_PUBDIR50_ACTIVE_TRUE</a>);</div> <div class="line"></div> <div class="line"><span class="comment">// ...to po ustaleniu parametrów wywołujemy</span></div> <div class="line"></div> <div class="line"><a class="code" href="group__pubdir50.html#gaec2469339a528ebaa763d0f32ba70ad4" title="Wysyła zapytanie katalogu publicznego do serwera.">gg_pubdir50</a>(sesja, zapytanie);</div> <div class="line"></div> <div class="line"><span class="comment">// Po przetworzeniu wyników zwalniamy pamięć</span></div> <div class="line"></div> <div class="line"><a class="code" href="group__pubdir50.html#ga8fcb3df2c5247f0a91b104cfc4d93457" title="Zwalnia zasoby po zapytaniu lub odpowiedzi katalogu publicznego.">gg_pubdir50_free</a>(zapytanie);</div> </div><!-- fragment --><p>Jak widać, <code><a class="el" href="group__pubdir50.html#ga0c50f3990a635f40c63ff5720900b580" title="Tworzy nowe zapytanie katalogu publicznego.">gg_pubdir50_new()</a></code> tworzy obiekt opisujący operację katalogu, <code><a class="el" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add()</a></code> dodaje kolejne pola zapytania. Pole zapytania jest w rzeczywiści stałą tekstową, np. <code>GG_PUBDIR50_UIN</code> to <code>"FmNumber"</code>. Należy pamiętać, że wszystkie argumenty są tekstami, ale nie trzeba się przejmować alokacją pamięci — biblioteka zapamięta to, co jest potrzebne. Kodowanie tekstów jest zgodne z ustawieniem sesji. Na końcu wywołujemy funkcję <code><a class="el" href="group__pubdir50.html#gaec2469339a528ebaa763d0f32ba70ad4" title="Wysyła zapytanie katalogu publicznego do serwera.">gg_pubdir50()</a></code>, która zwróci numer sekwencyjny wyszukiwania (można zachować dla późniejszego rozróżnienia wyników).</p> <p>Aby otrzymać wynik, należy obsłużyć zdarzenia <code>GG_EVENT_PUBDIR50_SEARCH_REPLY</code>, <code>GG_EVENT_PUBDIR50_WRITE</code> i <code>GG_EVENT_PUBDIR50_READ</code>. Dla przykładu, obsługa wyników wyszukiwania wygląda następująco:</p> <div class="fragment"><div class="line"><a class="code" href="structgg__pubdir50__s.html" title="Zapytanie lub odpowiedź katalogu publicznego.">gg_pubdir50_t</a> wynik;</div> <div class="line"><span class="keywordtype">int</span> i, ilosc;</div> <div class="line"></div> <div class="line">wynik = <span class="keyword">event</span>->event.pubdir50;</div> <div class="line">ilosc = <a class="code" href="group__pubdir50.html#gaa41ea1898947f673708a28726695d7bf" title="Zwraca liczbę wyników odpowiedzi.">gg_pubdir50_count</a>(wynik);</div> <div class="line"></div> <div class="line"><span class="keywordflow">if</span> (ilosc < 1) {</div> <div class="line"> wiadomość(<span class="stringliteral">"Nie znaleziono"</span>);</div> <div class="line"> <span class="keywordflow">return</span>;</div> <div class="line">}</div> <div class="line"></div> <div class="line"><span class="keywordflow">for</span> (i = 0; i < ilosc; i++) {</div> <div class="line"> <span class="keyword">const</span> <span class="keywordtype">char</span> *numer, *imie, *pseudo, *urodzony, *miasto, *status;</div> <div class="line"></div> <div class="line"> numer = <a class="code" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926" title="Pobiera pole z odpowiedzi katalogu publicznego.">gg_pubdir50_get</a>(wynik, i, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba73bd72e76ef3c105c63d824d4abee6f5" title="Numer Gadu-Gadu.">GG_PUBDIR50_UIN</a>);</div> <div class="line"> imie = <a class="code" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926" title="Pobiera pole z odpowiedzi katalogu publicznego.">gg_pubdir50_get</a>(wynik, i, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba0d81b2f75f7f60fc113c3b71a4482e04" title="Imię">GG_PUBDIR50_FIRSTNAME</a>);</div> <div class="line"> pseudo = <a class="code" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926" title="Pobiera pole z odpowiedzi katalogu publicznego.">gg_pubdir50_get</a>(wynik, i, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba094061a9f09d44efee353b61acb46e3a" title="Pseudonim.">GG_PUBDIR50_NICKNAME</a>);</div> <div class="line"> urodzony = <a class="code" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926" title="Pobiera pole z odpowiedzi katalogu publicznego.">gg_pubdir50_get</a>(wynik, i, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba8e2a38003c384ab8dadef2981d5dcc32" title="Rok urodzenia lub przedział lat oddzielony spacją">GG_PUBDIR50_BIRTHYEAR</a>);</div> <div class="line"> miasto = <a class="code" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926" title="Pobiera pole z odpowiedzi katalogu publicznego.">gg_pubdir50_get</a>(wynik, i, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55ba8bd24c2fcbfe7095e869c76bb0406587" title="Miejscowość">GG_PUBDIR50_CITY</a>);</div> <div class="line"> status = <a class="code" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926" title="Pobiera pole z odpowiedzi katalogu publicznego.">gg_pubdir50_get</a>(wynik, i, <a class="code" href="group__pubdir50.html#gga06fc87d81c62e9abb8790b6e5713c55bab36f9936222cbac8f9fa23afcaaa62bd" title="Status (tylko wynik wyszukiwania)">GG_PUBDIR50_STATUS</a>);</div> <div class="line"></div> <div class="line"> printf(<span class="stringliteral">"Numer: %s\nImię: %s\nPseudonim: %s\n"</span></div> <div class="line"> <span class="stringliteral">"Urodzony: %s\nMiejscowość: %s\n"</span>,</div> <div class="line"> numer, imie, pseudo, urodzony, miasto);;</div> <div class="line"> </div> <div class="line"> <span class="keywordflow">switch</span> ((status) ? atoi(status) : -1) {</div> <div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__status.html#gga726ca809ffd3d67ab4b8476646f26635a6de7496bfc7b238854bd0e47311dcdd5" title="Dostępny.">GG_STATUS_AVAIL</a>:</div> <div class="line"> printf(<span class="stringliteral">"Dostępny\n"</span>);</div> <div class="line"> <span class="keywordflow">break</span>;</div> <div class="line"> <span class="keywordflow">case</span> <a class="code" href="group__status.html#gga726ca809ffd3d67ab4b8476646f26635af1a20e4446df819ec37632af915768a8" title="Zajęty.">GG_STATUS_BUSY</a>:</div> <div class="line"> printf(<span class="stringliteral">"Zajęty\n"</span>);</div> <div class="line"> <span class="keywordflow">break</span>;</div> <div class="line"> <span class="keywordflow">default</span>:</div> <div class="line"> printf(<span class="stringliteral">"Niedostępny\n"</span>)</div> <div class="line"> }</div> <div class="line"></div> <div class="line"> printf(<span class="stringliteral">"\n"</span>);</div> <div class="line">}</div> <div class="line"></div> <div class="line"><a class="code" href="group__events.html#ga1845d4710eede4aaef1c52c4111fbda1" title="Zwalnia pamięć zajmowaną przez informację o zdarzeniu.">gg_event_free</a>(zdarzenie);</div> </div><!-- fragment --><p>Jeśli chcemy wiedzieć, od jakiego numeru zacząć wyszukiwanie, żeby dostać dalszą część, używamy <code><a class="el" href="group__pubdir50.html#ga9d1be0ddb8a397232c382056d7003f0f" title="Zwraca numer, od którego należy rozpocząc kolejne wyszukiwanie.">gg_pubdir50_next()</a></code>. Numer sekwencyjny otrzymamy dzięki funkcji <code><a class="el" href="group__pubdir50.html#ga1604f460b45e6d6f2dc4736e9623b6bc" title="Zwraca numer sekwencyjny zapytania lub odpowiedzi.">gg_pubdir50_seq()</a></code>.</p> <dl class="section note"><dt>Nota:</dt><dd>W żadnym wypadku nie można się odwoływać do pól <code>gg_pubdir50_t</code>, ponieważ mogą się zmieniać między wersjami biblioteki. Dzięki odwoływaniu się przez funkcje, mamy pewność, że bez względu na zmiany API/ABI otrzymamy to samo. Dodatkowo, jeśli pojawią się nowe pola, wystarczy odwoływać się do nich tak jak do obecnych, za pomocą funkcji <code><a class="el" href="group__pubdir50.html#ga089666a4b0c9d5b87ad65b7f7611e65a" title="Dodaje pole zapytania.">gg_pubdir50_add()</a></code> i <code><a class="el" href="group__pubdir50.html#gafa912a68265fc939cb56614e88e2f926" title="Pobiera pole z odpowiedzi katalogu publicznego.">gg_pubdir50_get()</a></code>. </dd></dl> <hr/><h2>Dokumentacja typów wyliczanych</h2> <a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div><div class="memdoc"> <p>Rodzaj pola zapytania. </p> <dl><dt><b>Wartości wyliczeń: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba73bd72e76ef3c105c63d824d4abee6f5"></a>GG_PUBDIR50_UIN</em> </td><td> <p>Numer Gadu-Gadu. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bab36f9936222cbac8f9fa23afcaaa62bd"></a>GG_PUBDIR50_STATUS</em> </td><td> <p>Status (tylko wynik wyszukiwania) </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba0d81b2f75f7f60fc113c3b71a4482e04"></a>GG_PUBDIR50_FIRSTNAME</em> </td><td> <p>Imię </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bae6810769ecc82bfe582167b463c7fba2"></a>GG_PUBDIR50_LASTNAME</em> </td><td> <p>Nazwisko. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba094061a9f09d44efee353b61acb46e3a"></a>GG_PUBDIR50_NICKNAME</em> </td><td> <p>Pseudonim. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8e2a38003c384ab8dadef2981d5dcc32"></a>GG_PUBDIR50_BIRTHYEAR</em> </td><td> <p>Rok urodzenia lub przedział lat oddzielony spacją </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba8bd24c2fcbfe7095e869c76bb0406587"></a>GG_PUBDIR50_CITY</em> </td><td> <p>Miejscowość </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bab66381abbc97ed2f90bad73f1f4b256f"></a>GG_PUBDIR50_GENDER</em> </td><td> <p>Płeć </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7a129eb38d202462415ba8002104ee28"></a>GG_PUBDIR50_ACTIVE</em> </td><td> <p>Osoba dostępna (tylko wyszukiwanie) </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bac3afa37fe477571969c11697fc0cc392"></a>GG_PUBDIR50_START</em> </td><td> <p>Numer początkowy wyszukiwania (tylko wyszukiwanie) </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baeb302dc24ceea0578c467c716b624c59"></a>GG_PUBDIR50_FAMILYNAME</em> </td><td> <p>Nazwisko rodowe (tylko wysyłanie informacji o sobie) </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba0d80e2584b6da7901e0511a1869d25e0"></a>GG_PUBDIR50_FAMILYCITY</em> </td><td> <p>Miejscowość pochodzenia (tylko wysyłanie informacji o sobie) </p> </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div><div class="memdoc"> <p>Wartość pola GG_PUBDIR50_GENDER przy wyszukiwaniu. </p> <p>Brak pola oznacza dowolną płeć. </p> <dl><dt><b>Wartości wyliczeń: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a46ab5ea4697594a9c954f61a92d4ad36"></a>GG_PUBDIR50_GENDER_FEMALE</em> </td><td> <p>Kobieta. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7ad905fd2a845d97967c1d7ea25a42e525"></a>GG_PUBDIR50_GENDER_MALE</em> </td><td> <p>Mężczyzna. </p> </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga99fb83031ce9923c84392b4e92f956b5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div><div class="memdoc"> <p>Wartość pola GG_PUBDIR50_GENDER przy wysyłaniu informacji o sobie. </p> <dl><dt><b>Wartości wyliczeń: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5aaadb4ff5a3e558c8de03e10b478b9225"></a>GG_PUBDIR50_GENDER_SET_FEMALE</em> </td><td> <p>Kobieta. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="gga99fb83031ce9923c84392b4e92f956b5af6caa7b2a19bda0ea95a158769cc19ce"></a>GG_PUBDIR50_GENDER_SET_MALE</em> </td><td> <p>Mężczyzna. </p> </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gabc6126af1d45847bc59afa0aa3216b04"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div><div class="memdoc"> <p>Wartość pola GG_PUBDIR50_ACTIVE. </p> <dl><dt><b>Wartości wyliczeń: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ggabc6126af1d45847bc59afa0aa3216b04a1977bcd0c1b300c6064213932aea7aa3"></a>GG_PUBDIR50_ACTIVE_TRUE</em> </td><td> <p>Wyszukaj tylko osoby dostępne. </p> </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gadc29c2ff13d900c2f185ee95427fb06c"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum</td> </tr> </table> </div><div class="memdoc"> <p>Rodzaj zapytania lub odpowiedzi katalogu publicznego. </p> <dl><dt><b>Wartości wyliczeń: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca86dc94118f3fd650df8530b48e430a82"></a>GG_PUBDIR50_WRITE</em> </td><td> <p>Wysłanie do serwera informacji o sobie. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca913497f2988a36519866620a489864d0"></a>GG_PUBDIR50_READ</em> </td><td> <p>Pobranie z serwera informacji o sobie. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca5f6b6a3266048f93912b2d1f322870ee"></a>GG_PUBDIR50_SEARCH</em> </td><td> <p>Wyszukiwanie w katalogu publicznym. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggadc29c2ff13d900c2f185ee95427fb06ca1a4113577bab6d0c63d15ffa98d08e54"></a>GG_PUBDIR50_SEARCH_REPLY</em> </td><td> <p>Wynik wyszukiwania w katalogu publicznym. </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Dokumentacja funkcji</h2> <a class="anchor" id="ga0c50f3990a635f40c63ff5720900b580"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> gg_pubdir50_new </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>type</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Tworzy nowe zapytanie katalogu publicznego. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">type</td><td>Rodzaj zapytania</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>Zmienna <code>gg_pubdir50_t</code> lub <code>NULL</code> w przypadku błędu. </dd></dl> </div> </div> <a class="anchor" id="ga089666a4b0c9d5b87ad65b7f7611e65a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int gg_pubdir50_add </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>req</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>field</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Dodaje pole zapytania. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">req</td><td>Zapytanie </td></tr> <tr><td class="paramname">field</td><td>Nazwa pola </td></tr> <tr><td class="paramname">value</td><td>Wartość pola</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>0 jeśli się powiodło, -1 w przypadku błędu </dd></dl> </div> </div> <a class="anchor" id="gaf9c4c8ed55b746d346e822f9ba1ea3f0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int gg_pubdir50_seq_set </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>req</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>seq</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Ustawia numer sekwencyjny zapytania. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">req</td><td>Zapytanie </td></tr> <tr><td class="paramname">seq</td><td>Numer sekwencyjny</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>0 jeśli się powiodło, -1 w przypadku błędu </dd></dl> </div> </div> <a class="anchor" id="ga8fcb3df2c5247f0a91b104cfc4d93457"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void gg_pubdir50_free </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>s</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Zwalnia zasoby po zapytaniu lub odpowiedzi katalogu publicznego. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>Zapytanie lub odpowiedź </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaec2469339a528ebaa763d0f32ba70ad4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t gg_pubdir50 </td> <td>(</td> <td class="paramtype">struct <a class="el" href="structgg__session.html">gg_session</a> * </td> <td class="paramname"><em>sess</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>req</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Wysyła zapytanie katalogu publicznego do serwera. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">sess</td><td>Struktura sesji </td></tr> <tr><td class="paramname">req</td><td>Zapytanie</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>Numer sekwencyjny zapytania lub 0 w przypadku błędu </dd></dl> </div> </div> <a class="anchor" id="gafa912a68265fc939cb56614e88e2f926"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* gg_pubdir50_get </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>res</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>num</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>field</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Pobiera pole z odpowiedzi katalogu publicznego. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">res</td><td>Odpowiedź </td></tr> <tr><td class="paramname">num</td><td>Numer wyniku odpowiedzi </td></tr> <tr><td class="paramname">field</td><td>Nazwa pola (wielkość liter nie ma znaczenia)</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>Wartość pola lub <code>NULL</code> jeśli nie znaleziono </dd></dl> </div> </div> <a class="anchor" id="gaa41ea1898947f673708a28726695d7bf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int gg_pubdir50_count </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>res</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Zwraca liczbę wyników odpowiedzi. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">res</td><td>Odpowiedź</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>Liczba wyników lub -1 w przypadku błędu </dd></dl> </div> </div> <a class="anchor" id="ga02238cdc128e0dbacd71c958635a07cd"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int gg_pubdir50_type </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>res</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Zwraca rodzaj zapytania lub odpowiedzi. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">res</td><td>Zapytanie lub odpowiedź</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>Rodzaj lub -1 w przypadku błędu </dd></dl> </div> </div> <a class="anchor" id="ga9d1be0ddb8a397232c382056d7003f0f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="libgadu_8h.html#a33f630ba74294027f9bcda26ed49cdc8">uin_t</a> gg_pubdir50_next </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>res</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Zwraca numer, od którego należy rozpocząc kolejne wyszukiwanie. </p> <p>Dłuższe odpowiedzi katalogu publicznego są wysyłane przez serwer w mniejszych paczkach. Po otrzymaniu odpowiedzi, jeśli numer kolejnego wyszukiwania jest większy od zera, dalsze wyniki można otrzymać przez wywołanie kolejnego zapytania z określonym numerem początkowym.</p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">res</td><td>Odpowiedź</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>Numer lub -1 w przypadku błędu </dd></dl> </div> </div> <a class="anchor" id="ga1604f460b45e6d6f2dc4736e9623b6bc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t gg_pubdir50_seq </td> <td>(</td> <td class="paramtype"><a class="el" href="libgadu_8h.html#ac8c23cc18f4f30db7805db11e9b12bc8">gg_pubdir50_t</a> </td> <td class="paramname"><em>res</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Zwraca numer sekwencyjny zapytania lub odpowiedzi. </p> <dl class="params"><dt>Parametry:</dt><dd> <table class="params"> <tr><td class="paramname">res</td><td>Zapytanie lub odpowiedź</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Zwraca:</dt><dd>Numer sekwencyjny lub -1 w przypadku błędu </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Wygenerowano przez  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.1 </small></address> </body> </html>