<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libzypp: zypp/repo/yum/Downloader.cc Source File</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="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</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 id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libzypp  <span id="projectnumber">17.9.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('yum_2Downloader_8cc_source.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">Downloader.cc</div> </div> </div><!--header--> <div class="contents"> <a href="yum_2Downloader_8cc.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*---------------------------------------------------------------------\</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">| ____ _ __ __ ___ |</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">| |__ / \ / / . \ . \ |</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">| / / \ V /| _/ _/ |</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">| / /__ | | | | | | |</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">| /_____||_| |_| |_| |</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">| |</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">\---------------------------------------------------------------------*/</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <fstream></span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="String_8h.html">zypp/base/String.h</a>"</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "<a class="code" href="LogTools_8h.html">zypp/base/LogTools.h</a>"</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="Function_8h.html">zypp/base/Function.h</a>"</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="ZConfig_8h.html">zypp/ZConfig.h</a>"</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="RepomdFileReader_8h.html">zypp/parser/yum/RepomdFileReader.h</a>"</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="PatchesFileReader_8h.html">zypp/parser/yum/PatchesFileReader.h</a>"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="yum_2Downloader_8h.html">Downloader.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="MediaInfoDownloader_8h.html">zypp/repo/MediaInfoDownloader.h</a>"</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="UserRequestException_8h.html">zypp/base/UserRequestException.h</a>"</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="Reader_8h.html">zypp/parser/xml/Reader.h</a>"</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">using namespace </span><a class="code" href="namespacezypp_1_1xml.html">zypp::xml</a>;</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">using namespace </span><a class="code" href="namespacezypp_1_1parser_1_1yum.html">zypp::parser::yum</a>;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">namespace </span><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">namespace </span>repo</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> {</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="namespacezypp_1_1repo_1_1yum.html"> 31</a></span> <span class="keyword">namespace </span>yum</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> {</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a4c09584efa982ce0fa9249ce96d70886"> 34</a></span> Downloader::Downloader( <span class="keyword">const</span> <a class="code" href="classzypp_1_1RepoInfo.html">RepoInfo</a> &repoinfo , <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &delta_dir)</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  : repo::<a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html">Downloader</a>(repoinfo), _delta_dir(delta_dir), _media_ptr(0L)</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {}</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#aac19cb07dad45b3e058b2b60b90c04d5"> 38</a></span> <a class="code" href="classzypp_1_1RepoStatus.html">RepoStatus</a> <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#aac19cb07dad45b3e058b2b60b90c04d5">Downloader::status</a>( <a class="code" href="namespaceMediaSetAccess.html">MediaSetAccess</a> &media )</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> {</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classzypp_1_1RepoStatus.html">RepoStatus</a> ret( media.<a class="code" href="classzypp_1_1MediaSetAccess.html#ac1565c7156e42034182b31fa0fd6ba2b">provideOptionalFile</a>( <a class="code" href="classzypp_1_1repo_1_1Downloader.html#abce6a2457b2517011c37f5d723ea9ba8">repoInfo</a>().path() / <span class="stringliteral">"/repodata/repomd.xml"</span> ) );</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">if</span> ( !ret.empty() ) <span class="comment">// else: mandatory master index is missing</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  ret = ret && <a class="code" href="classzypp_1_1RepoStatus.html">RepoStatus</a>( media.<a class="code" href="classzypp_1_1MediaSetAccess.html#ac1565c7156e42034182b31fa0fd6ba2b">provideOptionalFile</a>( <span class="stringliteral">"/media.1/media"</span> ) );</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="comment">// else: mandatory master index is missing -> stay empty</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> }</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespacezypp_1_1repo_1_1yum.html#ad1750753d6445f96b0a8e397788f00b1"> 47</a></span> <span class="keyword">static</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> <a class="code" href="namespacezypp_1_1repo_1_1yum.html#ad1750753d6445f96b0a8e397788f00b1">loc_with_path_prefix</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> & loc, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> & prefix )</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">if</span> (prefix.<a class="code" href="classzypp_1_1filesystem_1_1Pathname.html#aaf4388add8c0f9294a7b15f0614f7656">empty</a>() || prefix == <span class="stringliteral">"/"</span>)</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> loc;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> loc_with_path(loc);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  loc_with_path.<a class="code" href="classzypp_1_1OnMediaLocation.html#ae29d377f5788e622e873cb4a602aa8d5">changeFilename</a>(prefix / loc.<a class="code" href="classzypp_1_1OnMediaLocation.html#a6056a4f294e658f4d1a38e612136c31b">filename</a>());</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> loc_with_path;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// search old repository file file to run the delta algorithm on</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="namespacezypp_1_1repo_1_1yum.html#a8760f8ae7476e91bb19589043c36e53d"> 58</a></span> <span class="keyword">static</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="namespacezypp_1_1repo_1_1yum.html#a8760f8ae7476e91bb19589043c36e53d">search_deltafile</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> & dir, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> & file )</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> deltafile;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (!<a class="code" href="classzypp_1_1filesystem_1_1PathInfo.html">PathInfo</a>(dir).isDir())</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">return</span> deltafile;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordtype">string</span> base = file.<a class="code" href="classzypp_1_1filesystem_1_1Pathname.html#aadebdd3728a6ed5d80f001863b263e23">basename</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">size_t</span> hypoff = base.find(<span class="stringliteral">"-"</span>);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span> (hypoff != string::npos)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  base.replace(0, hypoff + 1, <span class="stringliteral">""</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">size_t</span> basesize = base.size();</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  std::list<Pathname> retlist;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespacezypp_1_1filesystem.html#a424d384472de80e5cc48f5d5662cc859">filesystem::readdir</a>(retlist, dir, <span class="keyword">false</span>))</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="Easy_8h.html#a7887338b8a0727becb37d8061fcbfc0e">for_</a>( it, retlist.begin(), retlist.end() )</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">string</span> fn = it->asString();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">if</span> (fn.size() >= basesize && fn.substr(fn.size() - basesize, basesize) == base)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  deltafile = *it;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> deltafile;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#af0d8e67608afe30280d79310736c73c4"> 81</a></span> <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#af0d8e67608afe30280d79310736c73c4">Downloader::patches_Callback</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> & loc_r, <span class="keyword">const</span> <span class="keywordtype">string</span> & id_r )</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> loc_with_path(<a class="code" href="namespacezypp_1_1repo_1_1yum.html#ad1750753d6445f96b0a8e397788f00b1">loc_with_path_prefix</a>(loc_r, <a class="code" href="classzypp_1_1repo_1_1Downloader.html#abce6a2457b2517011c37f5d723ea9ba8">repoInfo</a>().path()));</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga552f8ec9d8e5b4efa04839a129104818">MIL</a> << id_r << <span class="stringliteral">" : "</span> << loc_with_path << endl;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  this-><a class="code" href="classzypp_1_1Fetcher.html#aefee7d3271ca369c858ca540deacc4ed">enqueueDigested</a>(loc_with_path, <a class="code" href="namespacezypp.html#ae95ba3a6af05a2b35ed49092f78ce2b3">FileChecker</a>(), <a class="code" href="namespacezypp_1_1repo_1_1yum.html#a8760f8ae7476e91bb19589043c36e53d">search_deltafile</a>(<a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#acc3222c0be6a54f7576976ebf86bff13">_delta_dir</a> + <span class="stringliteral">"repodata"</span>, loc_r.<a class="code" href="classzypp_1_1OnMediaLocation.html#a6056a4f294e658f4d1a38e612136c31b">filename</a>()));</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">//bool repomd_Callback2( const OnMediaLocation &loc, const ResourceType &dtype, const std::string &typestr, UserData & userData_r );</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">namespace</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">struct </span>RepomdFileReaderCallback2</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  RepomdFileReaderCallback2( <span class="keyword">const</span> <a class="code" href="classzypp_1_1parser_1_1yum_1_1RepomdFileReader.html#ad8598a15e97d97bbe2efc8b9b24e2ad3">RepomdFileReader::ProcessResource</a> & origCallback_r )</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  : <a class="code" href="yum_2Downloader_8cc.html#ad81ffe038296a281ff05c620ca933743">_origCallback</a>( origCallback_r )</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  addWantedLocale( <a class="code" href="classzypp_1_1ZConfig.html#a9b986f2c40a1aa9e1a2aea3d299210d1">ZConfig::instance</a>().textLocale() );</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">for</span> ( <span class="keyword">const</span> <a class="code" href="classzypp_1_1Locale.html">Locale</a> & it : <a class="code" href="classzypp_1_1ZConfig.html#a9b986f2c40a1aa9e1a2aea3d299210d1">ZConfig::instance</a>().repoRefreshLocales() )</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  addWantedLocale( it );</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordtype">bool</span> repomd_Callback2( <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> & loc_r, <span class="keyword">const</span> ResourceType & dtype_r, <span class="keyword">const</span> std::string & typestr_r )</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="comment">// filter well known resource types</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span> ( dtype_r == <a class="code" href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#a1fa7b0c33873c52e32d51a968e590879">ResourceType::OTHER</a> || dtype_r == <a class="code" href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#a6b2706536af423da72d42e1ba3517828">ResourceType::FILELISTS</a> )</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// skip it</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// filter custom resource types (by string)</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">if</span> ( dtype_r == <a class="code" href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#aede831b24031c7ad00cdce358d937ee9">ResourceType::NONE</a> )</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="comment">// susedata.LANG</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">if</span> ( <a class="code" href="namespacezypp_1_1str.html#a5e64cab973a815bfc5c3811b5086a2b9">str::hasPrefix</a>( typestr_r, <span class="stringliteral">"susedata."</span> ) && ! wantLocale( <a class="code" href="classzypp_1_1Locale.html">Locale</a>(typestr_r.c_str()+9) ) )</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// skip it</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="comment">// take it</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span>( <a class="code" href="yum_2Downloader_8cc.html#ad81ffe038296a281ff05c620ca933743">_origCallback</a> ? <a class="code" href="yum_2Downloader_8cc.html#ad81ffe038296a281ff05c620ca933743">_origCallback</a>( loc_r, dtype_r ) : true );</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">bool</span> wantLocale( <span class="keyword">const</span> Locale & locale_r )<span class="keyword"> const</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="yum_2Downloader_8cc.html#a7fd37f2e98207455dcd9592386af7d09">_wantedLocales</a>.count( locale_r ); }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordtype">void</span> addWantedLocale( Locale locale_r )</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">while</span> ( locale_r )</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="yum_2Downloader_8cc.html#a7fd37f2e98207455dcd9592386af7d09">_wantedLocales</a>.insert( locale_r );</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  locale_r = locale_r.fallback();</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="yum_2Downloader_8cc.html#ad81ffe038296a281ff05c620ca933743"> 149</a></span>  <a class="code" href="classzypp_1_1parser_1_1yum_1_1RepomdFileReader.html#ad8598a15e97d97bbe2efc8b9b24e2ad3">RepomdFileReader::ProcessResource</a> <a class="code" href="yum_2Downloader_8cc.html#ad81ffe038296a281ff05c620ca933743">_origCallback</a>; </div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="yum_2Downloader_8cc.html#a7fd37f2e98207455dcd9592386af7d09"> 150</a></span>  <a class="code" href="namespacezypp.html#a7f4c013fbe3bd2619b780e06c2c36c20">LocaleSet</a> <a class="code" href="yum_2Downloader_8cc.html#a7fd37f2e98207455dcd9592386af7d09">_wantedLocales</a>; </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  };</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> } <span class="comment">// namespace</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"></span></div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a908a5a286d698b19b5751e9e19a627c6"> 156</a></span> <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a908a5a286d698b19b5751e9e19a627c6">Downloader::repomd_Callback</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> & loc_r, <span class="keyword">const</span> <a class="code" href="structzypp_1_1repo_1_1yum_1_1ResourceType.html">ResourceType</a> & dtype_r )</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">// NOTE: Filtering of unwanted files is done in RepomdFileReaderCallback2!</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="comment">// schedule file for download</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> & loc_with_path(<a class="code" href="namespacezypp_1_1repo_1_1yum.html#ad1750753d6445f96b0a8e397788f00b1">loc_with_path_prefix</a>(loc_r, <a class="code" href="classzypp_1_1repo_1_1Downloader.html#abce6a2457b2517011c37f5d723ea9ba8">repoInfo</a>().path()));</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  this-><a class="code" href="classzypp_1_1Fetcher.html#aefee7d3271ca369c858ca540deacc4ed">enqueueDigested</a>(loc_with_path, <a class="code" href="namespacezypp.html#ae95ba3a6af05a2b35ed49092f78ce2b3">FileChecker</a>(), <a class="code" href="namespacezypp_1_1repo_1_1yum.html#a8760f8ae7476e91bb19589043c36e53d">search_deltafile</a>(<a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#acc3222c0be6a54f7576976ebf86bff13">_delta_dir</a> + <span class="stringliteral">"repodata"</span>, loc_r.<a class="code" href="classzypp_1_1OnMediaLocation.html#a6056a4f294e658f4d1a38e612136c31b">filename</a>()));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="comment">// We got a patches file we need to read, to add patches listed</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="comment">// there, so we transfer what we have in the queue, and</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="comment">// queue the patches in the patches callback</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span> ( dtype_r == <a class="code" href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#aacf090517ddb1e38647510abbcc3d6cd">ResourceType::PATCHES</a> )</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  this-><a class="code" href="classzypp_1_1Fetcher.html#a63506014903b608d38ca4d96dc1573e5">start</a>( <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#ad121dadba0789c924c1cfb0062504129">_dest_dir</a>, *<a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#ad9082bc35995a7e0cbb417400262d8da">_media_ptr</a> );</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">// now the patches.xml file must exists</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="classzypp_1_1parser_1_1yum_1_1PatchesFileReader.html">PatchesFileReader</a>( <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#ad121dadba0789c924c1cfb0062504129">_dest_dir</a> + <a class="code" href="classzypp_1_1repo_1_1Downloader.html#abce6a2457b2517011c37f5d723ea9ba8">repoInfo</a>().path() + loc_r.<a class="code" href="classzypp_1_1OnMediaLocation.html#a6056a4f294e658f4d1a38e612136c31b">filename</a>(),</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  bind( &<a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#af0d8e67608afe30280d79310736c73c4">Downloader::patches_Callback</a>, <span class="keyword">this</span>, _1, _2));</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  }</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a323985c8ec5254c2111a36e7a691ebe0"> 177</a></span> <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a323985c8ec5254c2111a36e7a691ebe0">Downloader::download</a>( <a class="code" href="namespaceMediaSetAccess.html">MediaSetAccess</a> & media, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> & dest_dir, <span class="keyword">const</span> <a class="code" href="classzypp_1_1ProgressData.html#a89143a717926c1fa891ba91f07ad7aa8">ProgressData::ReceiverFnc</a> & progressrcv )</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="namespacezypp_1_1repo.html#a2a0ce89b7a854ad759121777e31a6844">downloadMediaInfo</a>( dest_dir, media );</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> masterIndex( <a class="code" href="classzypp_1_1repo_1_1Downloader.html#abce6a2457b2517011c37f5d723ea9ba8">repoInfo</a>().path() / <span class="stringliteral">"/repodata/repomd.xml"</span> );</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="classzypp_1_1repo_1_1Downloader.html#a72b46eff2fd8408a13597004422e8a8c">defaultDownloadMasterIndex</a>( media, dest_dir, masterIndex );</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="comment">// init the data stored in Downloader itself</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#ad9082bc35995a7e0cbb417400262d8da">_media_ptr</a> = (&media);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#ad121dadba0789c924c1cfb0062504129">_dest_dir</a> = dest_dir;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="comment">// init the extended data</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  RepomdFileReaderCallback2 pimpl( bind(&<a class="code" href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a908a5a286d698b19b5751e9e19a627c6">Downloader::repomd_Callback</a>, <span class="keyword">this</span>, _1, _2) );</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="comment">// setup parser</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classzypp_1_1parser_1_1yum_1_1RepomdFileReader.html">RepomdFileReader</a>( dest_dir / masterIndex,</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classzypp_1_1parser_1_1yum_1_1RepomdFileReader.html#a63f6cd1aadcebc96a0cdaadac4cad982">RepomdFileReader::ProcessResource2</a>( bind(&RepomdFileReaderCallback2::repomd_Callback2, &pimpl, _1, _2, _3) ) );</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">// ready, go!</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classzypp_1_1Fetcher.html#a63506014903b608d38ca4d96dc1573e5">start</a>( dest_dir, media );</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> } <span class="comment">// namespace yum</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> } <span class="comment">// namespace repo</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> } <span class="comment">// namespace zypp</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="ttc" id="group__ZYPP__BASE__LOGGER__MACROS_html_ga552f8ec9d8e5b4efa04839a129104818"><div class="ttname"><a href="group__ZYPP__BASE__LOGGER__MACROS.html#ga552f8ec9d8e5b4efa04839a129104818">MIL</a></div><div class="ttdeci">#define MIL</div><div class="ttdef"><b>Definition:</b> <a href="Logger_8h_source.html#l00079">Logger.h:79</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1Downloader_html_a72b46eff2fd8408a13597004422e8a8c"><div class="ttname"><a href="classzypp_1_1repo_1_1Downloader.html#a72b46eff2fd8408a13597004422e8a8c">zypp::repo::Downloader::defaultDownloadMasterIndex</a></div><div class="ttdeci">void defaultDownloadMasterIndex(MediaSetAccess &media_r, const Pathname &destdir_r, const Pathname &masterIndex_r)</div><div class="ttdoc">Common workflow downloading a (signed) master index file.</div><div class="ttdef"><b>Definition:</b> <a href="Downloader_8cc_source.html#l00049">Downloader.cc:49</a></div></div> <div class="ttc" id="structzypp_1_1repo_1_1yum_1_1ResourceType_html_aacf090517ddb1e38647510abbcc3d6cd"><div class="ttname"><a href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#aacf090517ddb1e38647510abbcc3d6cd">zypp::repo::yum::ResourceType::PATCHES</a></div><div class="ttdeci">static const ResourceType PATCHES</div><div class="ttdef"><b>Definition:</b> <a href="ResourceType_8h_source.html#l00035">ResourceType.h:35</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html_aac19cb07dad45b3e058b2b60b90c04d5"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html#aac19cb07dad45b3e058b2b60b90c04d5">zypp::repo::yum::Downloader::status</a></div><div class="ttdeci">RepoStatus status(MediaSetAccess &media)</div><div class="ttdoc">Status of the remote repository.</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00038">Downloader.cc:38</a></div></div> <div class="ttc" id="structzypp_1_1repo_1_1yum_1_1ResourceType_html_a1fa7b0c33873c52e32d51a968e590879"><div class="ttname"><a href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#a1fa7b0c33873c52e32d51a968e590879">zypp::repo::yum::ResourceType::OTHER</a></div><div class="ttdeci">static const ResourceType OTHER</div><div class="ttdef"><b>Definition:</b> <a href="ResourceType_8h_source.html#l00032">ResourceType.h:32</a></div></div> <div class="ttc" id="classzypp_1_1OnMediaLocation_html"><div class="ttname"><a href="classzypp_1_1OnMediaLocation.html">zypp::OnMediaLocation</a></div><div class="ttdoc">Describes a path on a certain media amongs as the information required to download it,...</div><div class="ttdef"><b>Definition:</b> <a href="OnMediaLocation_8h_source.html#l00039">OnMediaLocation.h:39</a></div></div> <div class="ttc" id="classzypp_1_1ZConfig_html_a9b986f2c40a1aa9e1a2aea3d299210d1"><div class="ttname"><a href="classzypp_1_1ZConfig.html#a9b986f2c40a1aa9e1a2aea3d299210d1">zypp::ZConfig::instance</a></div><div class="ttdeci">static ZConfig & instance()</div><div class="ttdoc">Singleton ctor.</div><div class="ttdef"><b>Definition:</b> <a href="solver_2detail_2Resolver_8cc_source.html#l00130">Resolver.cc:130</a></div></div> <div class="ttc" id="classzypp_1_1parser_1_1yum_1_1RepomdFileReader_html_a63f6cd1aadcebc96a0cdaadac4cad982"><div class="ttname"><a href="classzypp_1_1parser_1_1yum_1_1RepomdFileReader.html#a63f6cd1aadcebc96a0cdaadac4cad982">zypp::parser::yum::RepomdFileReader::ProcessResource2</a></div><div class="ttdeci">function< bool(const OnMediaLocation &, const repo::yum::ResourceType &, const std::string &)> ProcessResource2</div><div class="ttdoc">Alternate callback also receiving the ResourceType as string.</div><div class="ttdef"><b>Definition:</b> <a href="RepomdFileReader_8h_source.html#l00053">RepomdFileReader.h:53</a></div></div> <div class="ttc" id="Reader_8h_html"><div class="ttname"><a href="Reader_8h.html">Reader.h</a></div></div> <div class="ttc" id="classzypp_1_1MediaSetAccess_html_ac1565c7156e42034182b31fa0fd6ba2b"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ac1565c7156e42034182b31fa0fd6ba2b">zypp::MediaSetAccess::provideOptionalFile</a></div><div class="ttdeci">Pathname provideOptionalFile(const Pathname &file, unsigned media_nr=1)</div><div class="ttdoc">Provides an optional file from media media_nr.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00176">MediaSetAccess.cc:176</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html_af0d8e67608afe30280d79310736c73c4"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html#af0d8e67608afe30280d79310736c73c4">zypp::repo::yum::Downloader::patches_Callback</a></div><div class="ttdeci">bool patches_Callback(const OnMediaLocation &loc, const std::string &id)</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00081">Downloader.cc:81</a></div></div> <div class="ttc" id="yum_2Downloader_8h_html"><div class="ttname"><a href="yum_2Downloader_8h.html">Downloader.h</a></div></div> <div class="ttc" id="classzypp_1_1parser_1_1yum_1_1PatchesFileReader_html"><div class="ttname"><a href="classzypp_1_1parser_1_1yum_1_1PatchesFileReader.html">zypp::parser::yum::PatchesFileReader</a></div><div class="ttdoc">Iterates through a patches.xml file giving on each iteration a OnMediaLocation object with the resour...</div><div class="ttdef"><b>Definition:</b> <a href="PatchesFileReader_8h_source.html#l00040">PatchesFileReader.h:40</a></div></div> <div class="ttc" id="namespacezypp_1_1repo_html_a2a0ce89b7a854ad759121777e31a6844"><div class="ttname"><a href="namespacezypp_1_1repo.html#a2a0ce89b7a854ad759121777e31a6844">zypp::repo::downloadMediaInfo</a></div><div class="ttdeci">void downloadMediaInfo(const Pathname &dest_dir, MediaSetAccess &media, const ProgressData::ReceiverFnc &progressrcv)</div><div class="ttdoc">Downloads the media info (/media.1) to a local directory.</div><div class="ttdef"><b>Definition:</b> <a href="MediaInfoDownloader_8cc_source.html#l00025">MediaInfoDownloader.cc:25</a></div></div> <div class="ttc" id="structzypp_1_1repo_1_1yum_1_1ResourceType_html"><div class="ttname"><a href="structzypp_1_1repo_1_1yum_1_1ResourceType.html">zypp::repo::yum::ResourceType</a></div><div class="ttdef"><b>Definition:</b> <a href="ResourceType_8h_source.html#l00027">ResourceType.h:27</a></div></div> <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdef"><b>Definition:</b> <a href="Arch_8h_source.html#l00344">Arch.h:344</a></div></div> <div class="ttc" id="classzypp_1_1RepoInfo_html"><div class="ttname"><a href="classzypp_1_1RepoInfo.html">zypp::RepoInfo</a></div><div class="ttdoc">What is known about a repository.</div><div class="ttdef"><b>Definition:</b> <a href="RepoInfo_8h_source.html#l00071">RepoInfo.h:71</a></div></div> <div class="ttc" id="Easy_8h_html_a7887338b8a0727becb37d8061fcbfc0e"><div class="ttname"><a href="Easy_8h.html#a7887338b8a0727becb37d8061fcbfc0e">for_</a></div><div class="ttdeci">#define for_(IT, BEG, END)</div><div class="ttdoc">Convenient for-loops using iterator.</div><div class="ttdef"><b>Definition:</b> <a href="Easy_8h_source.html#l00027">Easy.h:27</a></div></div> <div class="ttc" id="classzypp_1_1filesystem_1_1Pathname_html_aadebdd3728a6ed5d80f001863b263e23"><div class="ttname"><a href="classzypp_1_1filesystem_1_1Pathname.html#aadebdd3728a6ed5d80f001863b263e23">zypp::filesystem::Pathname::basename</a></div><div class="ttdeci">std::string basename() const</div><div class="ttdoc">Return the last component of this path.</div><div class="ttdef"><b>Definition:</b> <a href="Pathname_8h_source.html#l00127">Pathname.h:127</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html_ad9082bc35995a7e0cbb417400262d8da"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html#ad9082bc35995a7e0cbb417400262d8da">zypp::repo::yum::Downloader::_media_ptr</a></div><div class="ttdeci">MediaSetAccess * _media_ptr</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8h_source.html#l00080">Downloader.h:80</a></div></div> <div class="ttc" id="classzypp_1_1ProgressData_html_a89143a717926c1fa891ba91f07ad7aa8"><div class="ttname"><a href="classzypp_1_1ProgressData.html#a89143a717926c1fa891ba91f07ad7aa8">zypp::ProgressData::ReceiverFnc</a></div><div class="ttdeci">function< bool(const ProgressData &)> ReceiverFnc</div><div class="ttdoc">Most simple version of progress reporting The percentage in most cases.</div><div class="ttdef"><b>Definition:</b> <a href="ProgressData_8h_source.html#l00139">ProgressData.h:139</a></div></div> <div class="ttc" id="structzypp_1_1repo_1_1yum_1_1ResourceType_html_aede831b24031c7ad00cdce358d937ee9"><div class="ttname"><a href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#aede831b24031c7ad00cdce358d937ee9">zypp::repo::yum::ResourceType::NONE</a></div><div class="ttdeci">static const ResourceType NONE</div><div class="ttdef"><b>Definition:</b> <a href="ResourceType_8h_source.html#l00029">ResourceType.h:29</a></div></div> <div class="ttc" id="classzypp_1_1Fetcher_html_aefee7d3271ca369c858ca540deacc4ed"><div class="ttname"><a href="classzypp_1_1Fetcher.html#aefee7d3271ca369c858ca540deacc4ed">zypp::Fetcher::enqueueDigested</a></div><div class="ttdeci">void enqueueDigested(const OnMediaLocation &resource, const FileChecker &checker=FileChecker(), const Pathname &deltafile=Pathname())</div><div class="ttdoc">Enqueue a object for transferal, they will not be transferred until start() is called.</div><div class="ttdef"><b>Definition:</b> <a href="Fetcher_8cc_source.html#l00831">Fetcher.cc:831</a></div></div> <div class="ttc" id="yum_2Downloader_8cc_html_a7fd37f2e98207455dcd9592386af7d09"><div class="ttname"><a href="yum_2Downloader_8cc.html#a7fd37f2e98207455dcd9592386af7d09">_wantedLocales</a></div><div class="ttdeci">LocaleSet _wantedLocales</div><div class="ttdoc">Locales do download.</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00150">Downloader.cc:150</a></div></div> <div class="ttc" id="classzypp_1_1filesystem_1_1Pathname_html_aaf4388add8c0f9294a7b15f0614f7656"><div class="ttname"><a href="classzypp_1_1filesystem_1_1Pathname.html#aaf4388add8c0f9294a7b15f0614f7656">zypp::filesystem::Pathname::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Test for an empty path.</div><div class="ttdef"><b>Definition:</b> <a href="Pathname_8h_source.html#l00113">Pathname.h:113</a></div></div> <div class="ttc" id="ZConfig_8h_html"><div class="ttname"><a href="ZConfig_8h.html">ZConfig.h</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html_a908a5a286d698b19b5751e9e19a627c6"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a908a5a286d698b19b5751e9e19a627c6">zypp::repo::yum::Downloader::repomd_Callback</a></div><div class="ttdeci">bool repomd_Callback(const OnMediaLocation &loc, const ResourceType &dtype)</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00156">Downloader.cc:156</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html_ad121dadba0789c924c1cfb0062504129"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html#ad121dadba0789c924c1cfb0062504129">zypp::repo::yum::Downloader::_dest_dir</a></div><div class="ttdeci">Pathname _dest_dir</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8h_source.html#l00076">Downloader.h:76</a></div></div> <div class="ttc" id="PatchesFileReader_8h_html"><div class="ttname"><a href="PatchesFileReader_8h.html">PatchesFileReader.h</a></div><div class="ttdoc">Interface of patches.xml file reader.</div></div> <div class="ttc" id="classzypp_1_1repo_1_1Downloader_html_abce6a2457b2517011c37f5d723ea9ba8"><div class="ttname"><a href="classzypp_1_1repo_1_1Downloader.html#abce6a2457b2517011c37f5d723ea9ba8">zypp::repo::Downloader::repoInfo</a></div><div class="ttdeci">const RepoInfo & repoInfo() const</div><div class="ttdef"><b>Definition:</b> <a href="Downloader_8h_source.html#l00058">Downloader.h:58</a></div></div> <div class="ttc" id="classzypp_1_1Fetcher_html_a63506014903b608d38ca4d96dc1573e5"><div class="ttname"><a href="classzypp_1_1Fetcher.html#a63506014903b608d38ca4d96dc1573e5">zypp::Fetcher::start</a></div><div class="ttdeci">void start(const Pathname &dest_dir, MediaSetAccess &media, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())</div><div class="ttdoc">start the transfer to a destination directory dest_dir You have to provde a media set access media to...</div><div class="ttdef"><b>Definition:</b> <a href="Fetcher_8cc_source.html#l00872">Fetcher.cc:872</a></div></div> <div class="ttc" id="namespacezypp_1_1repo_1_1yum_html_a8760f8ae7476e91bb19589043c36e53d"><div class="ttname"><a href="namespacezypp_1_1repo_1_1yum.html#a8760f8ae7476e91bb19589043c36e53d">zypp::repo::yum::search_deltafile</a></div><div class="ttdeci">static Pathname search_deltafile(const Pathname &dir, const Pathname &file)</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00058">Downloader.cc:58</a></div></div> <div class="ttc" id="LogTools_8h_html"><div class="ttname"><a href="LogTools_8h.html">LogTools.h</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html"><div class="ttname"><a href="classzypp_1_1Locale.html">zypp::Locale</a></div><div class="ttdoc">'Language[_Country]' codes.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8h_source.html#l00049">Locale.h:49</a></div></div> <div class="ttc" id="UserRequestException_8h_html"><div class="ttname"><a href="UserRequestException_8h.html">UserRequestException.h</a></div></div> <div class="ttc" id="namespacezypp_1_1filesystem_html_a424d384472de80e5cc48f5d5662cc859"><div class="ttname"><a href="namespacezypp_1_1filesystem.html#a424d384472de80e5cc48f5d5662cc859">zypp::filesystem::readdir</a></div><div class="ttdeci">int readdir(std::list< std::string > &retlist_r, const Pathname &path_r, bool dots_r)</div><div class="ttdoc">Return content of directory via retlist.</div><div class="ttdef"><b>Definition:</b> <a href="PathInfo_8cc_source.html#l00589">PathInfo.cc:589</a></div></div> <div class="ttc" id="classzypp_1_1OnMediaLocation_html_a6056a4f294e658f4d1a38e612136c31b"><div class="ttname"><a href="classzypp_1_1OnMediaLocation.html#a6056a4f294e658f4d1a38e612136c31b">zypp::OnMediaLocation::filename</a></div><div class="ttdeci">const Pathname & filename() const</div><div class="ttdoc">The path to the resource relatve to the url and path.</div><div class="ttdef"><b>Definition:</b> <a href="OnMediaLocation_8h_source.html#l00070">OnMediaLocation.h:70</a></div></div> <div class="ttc" id="namespaceMediaSetAccess_html"><div class="ttname"><a href="namespaceMediaSetAccess.html">MediaSetAccess</a></div></div> <div class="ttc" id="namespacezypp_1_1parser_1_1yum_html"><div class="ttname"><a href="namespacezypp_1_1parser_1_1yum.html">zypp::parser::yum</a></div><div class="ttdef"><b>Definition:</b> <a href="PatchesFileReader_8cc_source.html#l00032">PatchesFileReader.cc:32</a></div></div> <div class="ttc" id="classzypp_1_1parser_1_1yum_1_1RepomdFileReader_html"><div class="ttname"><a href="classzypp_1_1parser_1_1yum_1_1RepomdFileReader.html">zypp::parser::yum::RepomdFileReader</a></div><div class="ttdoc">Reads through a repomd.xml file and collects type, location, checksum and other data about metadata f...</div><div class="ttdef"><b>Definition:</b> <a href="RepomdFileReader_8h_source.html#l00046">RepomdFileReader.h:46</a></div></div> <div class="ttc" id="yum_2Downloader_8cc_html_ad81ffe038296a281ff05c620ca933743"><div class="ttname"><a href="yum_2Downloader_8cc.html#ad81ffe038296a281ff05c620ca933743">_origCallback</a></div><div class="ttdeci">RepomdFileReader::ProcessResource _origCallback</div><div class="ttdoc">Original Downloader callback.</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00149">Downloader.cc:149</a></div></div> <div class="ttc" id="Function_8h_html"><div class="ttname"><a href="Function_8h.html">Function.h</a></div></div> <div class="ttc" id="namespacezypp_1_1repo_1_1yum_html_ad1750753d6445f96b0a8e397788f00b1"><div class="ttname"><a href="namespacezypp_1_1repo_1_1yum.html#ad1750753d6445f96b0a8e397788f00b1">zypp::repo::yum::loc_with_path_prefix</a></div><div class="ttdeci">static OnMediaLocation loc_with_path_prefix(const OnMediaLocation &loc, const Pathname &prefix)</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00047">Downloader.cc:47</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html_a323985c8ec5254c2111a36e7a691ebe0"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html#a323985c8ec5254c2111a36e7a691ebe0">zypp::repo::yum::Downloader::download</a></div><div class="ttdeci">void download(MediaSetAccess &media, const Pathname &dest_dir, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())</div><div class="ttdoc">Download metadata to a local directory.</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8cc_source.html#l00177">Downloader.cc:177</a></div></div> <div class="ttc" id="classzypp_1_1filesystem_1_1PathInfo_html"><div class="ttname"><a href="classzypp_1_1filesystem_1_1PathInfo.html">zypp::filesystem::PathInfo</a></div><div class="ttdoc">Wrapper class for ::stat/::lstat.</div><div class="ttdef"><b>Definition:</b> <a href="PathInfo_8h_source.html#l00220">PathInfo.h:220</a></div></div> <div class="ttc" id="classzypp_1_1OnMediaLocation_html_ae29d377f5788e622e873cb4a602aa8d5"><div class="ttname"><a href="classzypp_1_1OnMediaLocation.html#ae29d377f5788e622e873cb4a602aa8d5">zypp::OnMediaLocation::changeFilename</a></div><div class="ttdeci">OnMediaLocation & changeFilename(const Pathname &val_r)</div><div class="ttdoc">Individual manipulation of filename (prefer setLocation).</div><div class="ttdef"><b>Definition:</b> <a href="OnMediaLocation_8h_source.html#l00149">OnMediaLocation.h:149</a></div></div> <div class="ttc" id="RepomdFileReader_8h_html"><div class="ttname"><a href="RepomdFileReader_8h.html">RepomdFileReader.h</a></div><div class="ttdoc">Interface of repomd.xml file reader.</div></div> <div class="ttc" id="classzypp_1_1RepoStatus_html"><div class="ttname"><a href="classzypp_1_1RepoStatus.html">zypp::RepoStatus</a></div><div class="ttdoc">Track changing files or directories.</div><div class="ttdef"><b>Definition:</b> <a href="RepoStatus_8h_source.html#l00038">RepoStatus.h:38</a></div></div> <div class="ttc" id="structzypp_1_1repo_1_1yum_1_1ResourceType_html_a6b2706536af423da72d42e1ba3517828"><div class="ttname"><a href="structzypp_1_1repo_1_1yum_1_1ResourceType.html#a6b2706536af423da72d42e1ba3517828">zypp::repo::yum::ResourceType::FILELISTS</a></div><div class="ttdeci">static const ResourceType FILELISTS</div><div class="ttdef"><b>Definition:</b> <a href="ResourceType_8h_source.html#l00033">ResourceType.h:33</a></div></div> <div class="ttc" id="namespacezypp_html_ae95ba3a6af05a2b35ed49092f78ce2b3"><div class="ttname"><a href="namespacezypp.html#ae95ba3a6af05a2b35ed49092f78ce2b3">zypp::FileChecker</a></div><div class="ttdeci">function< void(const Pathname &file)> FileChecker</div><div class="ttdoc">Functor signature used to check files.</div><div class="ttdef"><b>Definition:</b> <a href="FileChecker_8h_source.html#l00028">FileChecker.h:28</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html_acc3222c0be6a54f7576976ebf86bff13"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html#acc3222c0be6a54f7576976ebf86bff13">zypp::repo::yum::Downloader::_delta_dir</a></div><div class="ttdeci">Pathname _delta_dir</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8h_source.html#l00077">Downloader.h:77</a></div></div> <div class="ttc" id="namespacezypp_1_1xml_html"><div class="ttname"><a href="namespacezypp_1_1xml.html">zypp::xml</a></div><div class="ttdef"><b>Definition:</b> <a href="libxmlfwd_8cc_source.html#l00021">libxmlfwd.cc:21</a></div></div> <div class="ttc" id="classzypp_1_1repo_1_1yum_1_1Downloader_html"><div class="ttname"><a href="classzypp_1_1repo_1_1yum_1_1Downloader.html">zypp::repo::yum::Downloader</a></div><div class="ttdoc">Downloader for YUM (rpm-nmd) repositories Encapsulates all the knowledge of which files have to be do...</div><div class="ttdef"><b>Definition:</b> <a href="yum_2Downloader_8h_source.html#l00041">Downloader.h:41</a></div></div> <div class="ttc" id="classzypp_1_1filesystem_1_1Pathname_html"><div class="ttname"><a href="classzypp_1_1filesystem_1_1Pathname.html">zypp::filesystem::Pathname</a></div><div class="ttdoc">Pathname.</div><div class="ttdef"><b>Definition:</b> <a href="Pathname_8h_source.html#l00043">Pathname.h:43</a></div></div> <div class="ttc" id="namespacezypp_html"><div class="ttname"><a href="namespacezypp.html">zypp</a></div><div class="ttdoc">Easy-to use interface to the ZYPP dependency resolver.</div><div class="ttdef"><b>Definition:</b> <a href="CodePitfalls_8doc_source.html#l00001">CodePitfalls.doc:1</a></div></div> <div class="ttc" id="MediaInfoDownloader_8h_html"><div class="ttname"><a href="MediaInfoDownloader_8h.html">MediaInfoDownloader.h</a></div></div> <div class="ttc" id="namespacezypp_1_1str_html_a5e64cab973a815bfc5c3811b5086a2b9"><div class="ttname"><a href="namespacezypp_1_1str.html#a5e64cab973a815bfc5c3811b5086a2b9">zypp::str::hasPrefix</a></div><div class="ttdeci">bool hasPrefix(const C_Str &str_r, const C_Str &prefix_r)</div><div class="ttdoc">Return whether str_r has prefix prefix_r.</div><div class="ttdef"><b>Definition:</b> <a href="String_8h_source.html#l01020">String.h:1020</a></div></div> <div class="ttc" id="namespacezypp_html_a7f4c013fbe3bd2619b780e06c2c36c20"><div class="ttname"><a href="namespacezypp.html#a7f4c013fbe3bd2619b780e06c2c36c20">zypp::LocaleSet</a></div><div class="ttdeci">std::unordered_set< Locale > LocaleSet</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8h_source.html#l00027">Locale.h:27</a></div></div> <div class="ttc" id="String_8h_html"><div class="ttname"><a href="String_8h.html">String.h</a></div></div> <div class="ttc" id="classzypp_1_1parser_1_1yum_1_1RepomdFileReader_html_ad8598a15e97d97bbe2efc8b9b24e2ad3"><div class="ttname"><a href="classzypp_1_1parser_1_1yum_1_1RepomdFileReader.html#ad8598a15e97d97bbe2efc8b9b24e2ad3">zypp::parser::yum::RepomdFileReader::ProcessResource</a></div><div class="ttdeci">function< bool(const OnMediaLocation &, const repo::yum::ResourceType &)> ProcessResource</div><div class="ttdoc">Callbacl taking OnMediaLocation and repo::yum::ResourceType.</div><div class="ttdef"><b>Definition:</b> <a href="RepomdFileReader_8h_source.html#l00050">RepomdFileReader.h:50</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_c187b43c6f283d9fc95eff3f44ce072a.html">zypp</a></li><li class="navelem"><a class="el" href="dir_87611d73de4eb3bd0276658efbbf5b67.html">repo</a></li><li class="navelem"><a class="el" href="dir_0a448ab860c6177085f893e5ef01b17e.html">yum</a></li><li class="navelem"><a class="el" href="yum_2Downloader_8cc.html">Downloader.cc</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>