<!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"/> <meta name="generator" content="Doxygen 1.8.6"/> <title>createrepo_c library: Load metadata API.</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="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </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">createrepo_c library  <span id="projectnumber">0.7.4</span> </div> <div id="projectbrief">C library for metadata manipulation</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.6 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</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="Search" 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 --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('group__load__metadata.html','');}); </script> <div id="doc-content"> <!-- 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>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</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="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Load metadata API.</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:gaba9fd6e05e5dee99039742dba7d3bc31"><td class="memItemLeft" align="right" valign="top">typedef struct _cr_Metadata </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a></td></tr> <tr class="separator:gaba9fd6e05e5dee99039742dba7d3bc31"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8">cr_HashTableKey</a> { <br/>   <a class="el" href="group__load__metadata.html#ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8a6683496c3920ada130fe8f5c72c99260">CR_HT_KEY_DEFAULT</a>, <a class="el" href="group__load__metadata.html#ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8a80ca4df7acaacd5a99d3ee1c9cde990c">CR_HT_KEY_HASH</a> = CR_HT_KEY_DEFAULT, <a class="el" href="group__load__metadata.html#ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8ab67521a0eb5d677a5ee712b6cbe02685">CR_HT_KEY_NAME</a>, <a class="el" href="group__load__metadata.html#ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8aecb040983096c29684ee5bd87467f958">CR_HT_KEY_FILENAME</a>, <br/>   <a class="el" href="group__load__metadata.html#ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8ad3941249eadd883d4dc6bb5f8c1049e8">CR_HT_KEY_SENTINEL</a> <br/> }</td></tr> <tr class="separator:gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae280f8d97aaad57604cb638a118157b4"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#gae280f8d97aaad57604cb638a118157b4">cr_HashTableKeyDupAction</a> { <a class="el" href="group__load__metadata.html#ggae280f8d97aaad57604cb638a118157b4a9180366ec65e11ddb9fa8f5f9a6a2799">CR_HT_DUPACT_KEEPFIRST</a> = 0, <a class="el" href="group__load__metadata.html#ggae280f8d97aaad57604cb638a118157b4a081ca6536e36e21afbcfe198755b3cc6">CR_HT_DUPACT_REMOVEALL</a>, <a class="el" href="group__load__metadata.html#ggae280f8d97aaad57604cb638a118157b4ad2d4ca888995d6b5c4b3923f3b3ddc8e">CR_HT_DUPACT_SENTINEL</a> }</td></tr> <tr class="separator:gae280f8d97aaad57604cb638a118157b4"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga81ee1f5857dc66caf33c15c89a7d9c14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__load__metadata.html#gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8">cr_HashTableKey</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#ga81ee1f5857dc66caf33c15c89a7d9c14">cr_metadata_key</a> (<a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> *md)</td></tr> <tr class="separator:ga81ee1f5857dc66caf33c15c89a7d9c14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5d6d0bc1a7ae66292d798e70a5f5df53"><td class="memItemLeft" align="right" valign="top">GHashTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#ga5d6d0bc1a7ae66292d798e70a5f5df53">cr_metadata_hashtable</a> (<a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> *md)</td></tr> <tr class="separator:ga5d6d0bc1a7ae66292d798e70a5f5df53"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7a8a8856b036ba60b4c9c055a0e5d987"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#ga7a8a8856b036ba60b4c9c055a0e5d987">cr_metadata_new</a> (<a class="el" href="group__load__metadata.html#gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8">cr_HashTableKey</a> key, int use_single_chunk, GSList *pkglist)</td></tr> <tr class="separator:ga7a8a8856b036ba60b4c9c055a0e5d987"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga41ea71fcd4931d91f664c06a89325fc1"><td class="memItemLeft" align="right" valign="top">gboolean </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#ga41ea71fcd4931d91f664c06a89325fc1">cr_metadata_set_dupaction</a> (<a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> *md, <a class="el" href="group__load__metadata.html#gae280f8d97aaad57604cb638a118157b4">cr_HashTableKeyDupAction</a> dupaction)</td></tr> <tr class="separator:ga41ea71fcd4931d91f664c06a89325fc1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad54dff3ce6f121250a0cef2ef0969a76"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#gad54dff3ce6f121250a0cef2ef0969a76">cr_metadata_free</a> (<a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> *md)</td></tr> <tr class="separator:gad54dff3ce6f121250a0cef2ef0969a76"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga39b98f5587efcbb4e28af754c9f86524"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#ga39b98f5587efcbb4e28af754c9f86524">cr_metadata_load_xml</a> (<a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> *md, struct <a class="el" href="structcr___metadata_location.html">cr_MetadataLocation</a> *ml, GError **err)</td></tr> <tr class="separator:ga39b98f5587efcbb4e28af754c9f86524"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad81c07f52d3989430a2f9522b75285aa"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__load__metadata.html#gad81c07f52d3989430a2f9522b75285aa">cr_metadata_locate_and_load_xml</a> (<a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> *md, const char *repopath, GError **err)</td></tr> <tr class="separator:gad81c07f52d3989430a2f9522b75285aa"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Module for loading yum xml metadata.</p> <p>Example:</p> <div class="fragment"><div class="line"><span class="keywordtype">int</span> ret;</div> <div class="line"><a class="code" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> *oldmetadata;</div> <div class="line">GHashTable hashtable;</div> <div class="line"></div> <div class="line"><span class="comment">// Create new metadata object</span></div> <div class="line">oldmetadata = <a class="code" href="group__load__metadata.html#ga7a8a8856b036ba60b4c9c055a0e5d987">cr_metadata_new</a>(<a class="code" href="group__load__metadata.html#ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8aecb040983096c29684ee5bd87467f958">CR_HT_KEY_FILENAME</a>, 1, NULL);</div> <div class="line"><span class="comment">// Load metadata (path to directory which contains repodata/ subdir)</span></div> <div class="line">ret = <a class="code" href="group__load__metadata.html#gad81c07f52d3989430a2f9522b75285aa">cr_metadata_locate_and_load_xml</a>(oldmetadata, <span class="stringliteral">"/foo/bar/repo/"</span>)</div> <div class="line"><span class="comment">// Check return code</span></div> <div class="line">if (ret != CR_LOAD_METADATA_OK) exit(1);</div> <div class="line"><span class="comment">// Get hash table with all loaded packages (key is package relative path)</span></div> <div class="line">hashtable = <a class="code" href="group__load__metadata.html#ga5d6d0bc1a7ae66292d798e70a5f5df53">cr_metadata_hashtable</a>(oldmetadata);</div> <div class="line"><span class="comment">// What to do with hashtable?</span></div> <div class="line"><span class="comment">// See: http://developer.gnome.org/glib/2.30/glib-Hash-Tables.html</span></div> </div><!-- fragment --> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="gaba9fd6e05e5dee99039742dba7d3bc31"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _cr_Metadata <a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a></td> </tr> </table> </div><div class="memdoc"> <p>Metadata object </p> <p>Definition at line <a class="el" href="load__metadata_8h_source.html#l00085">85</a> of file <a class="el" href="load__metadata_8h_source.html">load_metadata.h</a>.</p> </div> </div> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__load__metadata.html#gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8">cr_HashTableKey</a></td> </tr> </table> </div><div class="memdoc"> <p>Package attribute used as key in the hashtable. </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8a6683496c3920ada130fe8f5c72c99260"></a>CR_HT_KEY_DEFAULT</em> </td><td class="fielddoc"> <p>default = pkg hash </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8a80ca4df7acaacd5a99d3ee1c9cde990c"></a>CR_HT_KEY_HASH</em> </td><td class="fielddoc"> <p>pkg hash (<a class="el" href="structcr___package.html">cr_Package</a> ->pkgId) </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8ab67521a0eb5d677a5ee712b6cbe02685"></a>CR_HT_KEY_NAME</em> </td><td class="fielddoc"> <p>pkg name (<a class="el" href="structcr___package.html">cr_Package</a> ->name) </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8aecb040983096c29684ee5bd87467f958"></a>CR_HT_KEY_FILENAME</em> </td><td class="fielddoc"> <p>pkg filename (<a class="el" href="structcr___package.html">cr_Package</a> ->location_href) </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggab7d9b2f1a37f4f7bd6e21d7b6f6f77e8ad3941249eadd883d4dc6bb5f8c1049e8"></a>CR_HT_KEY_SENTINEL</em> </td><td class="fielddoc"> <p>last element, terminator, .. </p> </td></tr> </table> <p>Definition at line <a class="el" href="load__metadata_8h_source.html#l00059">59</a> of file <a class="el" href="load__metadata_8h_source.html">load_metadata.h</a>.</p> </div> </div> <a class="anchor" id="gae280f8d97aaad57604cb638a118157b4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__load__metadata.html#gae280f8d97aaad57604cb638a118157b4">cr_HashTableKeyDupAction</a></td> </tr> </table> </div><div class="memdoc"> <p>Internally, and by default, the loaded metadata are indexed by pkgId (pkg's hash). But when you select different attribute for indexing (see cr_HashTableKey). The situation that multiple packages has the same (key) attribute. This enum lists provided methos for resolution of such conflicts. </p> <table class="fieldtable"> <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae280f8d97aaad57604cb638a118157b4a9180366ec65e11ddb9fa8f5f9a6a2799"></a>CR_HT_DUPACT_KEEPFIRST</em> </td><td class="fielddoc"> <p>First encontered item wins, other will be removed - Default </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggae280f8d97aaad57604cb638a118157b4a081ca6536e36e21afbcfe198755b3cc6"></a>CR_HT_DUPACT_REMOVEALL</em> </td><td class="fielddoc"> <p>Remove all conflicting items. </p> </td></tr> <tr><td class="fieldname"><em><a class="anchor" id="ggae280f8d97aaad57604cb638a118157b4ad2d4ca888995d6b5c4b3923f3b3ddc8e"></a>CR_HT_DUPACT_SENTINEL</em> </td><td class="fielddoc"> <p>Last element, terminator, ... </p> </td></tr> </table> <p>Definition at line <a class="el" href="load__metadata_8h_source.html#l00074">74</a> of file <a class="el" href="load__metadata_8h_source.html">load_metadata.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="gad54dff3ce6f121250a0cef2ef0969a76"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cr_metadata_free </td> <td>(</td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> * </td> <td class="paramname"><em>md</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Destroy metadata. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">md</td><td>cr_Metadata object </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga5d6d0bc1a7ae66292d798e70a5f5df53"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GHashTable* cr_metadata_hashtable </td> <td>(</td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> * </td> <td class="paramname"><em>md</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return hashtable from a cr_Metadata </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">md</td><td>cr_Metadata object. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Pointer to internal GHashTable. </dd></dl> </div> </div> <a class="anchor" id="ga81ee1f5857dc66caf33c15c89a7d9c14"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__load__metadata.html#gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8">cr_HashTableKey</a> cr_metadata_key </td> <td>(</td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> * </td> <td class="paramname"><em>md</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Return cr_HashTableKey from a cr_Metadata </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">md</td><td>cr_Metadata object. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Key type </dd></dl> </div> </div> <a class="anchor" id="ga39b98f5587efcbb4e28af754c9f86524"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cr_metadata_load_xml </td> <td>(</td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> * </td> <td class="paramname"><em>md</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structcr___metadata_location.html">cr_MetadataLocation</a> * </td> <td class="paramname"><em>ml</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GError ** </td> <td class="paramname"><em>err</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Load metadata from the specified location. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">md</td><td>metadata object </td></tr> <tr><td class="paramname">ml</td><td>metadata location </td></tr> <tr><td class="paramname">err</td><td>GError ** </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>cr_Error code </dd></dl> </div> </div> <a class="anchor" id="gad81c07f52d3989430a2f9522b75285aa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cr_metadata_locate_and_load_xml </td> <td>(</td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> * </td> <td class="paramname"><em>md</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>repopath</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GError ** </td> <td class="paramname"><em>err</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Locate and load metadata from the specified path. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">md</td><td>metadata object </td></tr> <tr><td class="paramname">repopath</td><td>path to repo (to directory with repodata/ subdir) </td></tr> <tr><td class="paramname">err</td><td>GError ** </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>cr_Error code </dd></dl> </div> </div> <a class="anchor" id="ga7a8a8856b036ba60b4c9c055a0e5d987"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a>* cr_metadata_new </td> <td>(</td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gab7d9b2f1a37f4f7bd6e21d7b6f6f77e8">cr_HashTableKey</a> </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>use_single_chunk</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">GSList * </td> <td class="paramname"><em>pkglist</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Create new (empty) metadata hashtable. It is NOT thread safe to load data into single cr_Metadata from multiple threads. But non modifying access to the loaded data in cr_Metadata is thread safe. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">key</td><td>key specifies which value will be (is) used as key in hash table </td></tr> <tr><td class="paramname">use_single_chunk</td><td>use only one string chunk (all loaded packages share one string chunk in the cr_Metadata object) Packages will not be standalone objects. This option leads to less memory consumption. </td></tr> <tr><td class="paramname">pkglist</td><td>load only packages which base filename is in this list. If param is NULL all packages are loaded. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>empty cr_Metadata object </dd></dl> </div> </div> <a class="anchor" id="ga41ea71fcd4931d91f664c06a89325fc1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gboolean cr_metadata_set_dupaction </td> <td>(</td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gaba9fd6e05e5dee99039742dba7d3bc31">cr_Metadata</a> * </td> <td class="paramname"><em>md</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__load__metadata.html#gae280f8d97aaad57604cb638a118157b4">cr_HashTableKeyDupAction</a> </td> <td class="paramname"><em>dupaction</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set action how to deal with duplicated items. </p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="footer">Generated on Tue Nov 11 2014 15:15:01 for createrepo_c library by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li> </ul> </div> </body> </html>