Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 68c0c2ff89d8bf9051ff1b9773ed48e4 > files > 1433

libzypp-doc-17.9.0-1.1.mga7.noarch.rpm

<!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/MediaSetAccess.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&amp;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
   &#160;<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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('MediaSetAccess_8cc_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">MediaSetAccess.cc</div>  </div>
</div><!--header-->
<div class="contents">
<a href="MediaSetAccess_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>&#160;<span class="comment">/*---------------------------------------------------------------------\</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">|                          ____ _   __ __ ___                          |</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">|                         |__  / \ / / . \ . \                         |</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">|                           / / \ V /|  _/  _/                         |</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">|                          / /__ | | | | | |                           |</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">|                         /_____||_| |_| |_|                           |</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">|                                                                      |</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">\---------------------------------------------------------------------*/</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LogTools_8h.html">zypp/base/LogTools.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Regex_8h.html">zypp/base/Regex.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="UserRequestException_8h.html">zypp/base/UserRequestException.h</a>&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ZYppCallbacks_8h.html">zypp/ZYppCallbacks.h</a>&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MediaSetAccess_8h.html">zypp/MediaSetAccess.h</a>&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PathInfo_8h.html">zypp/PathInfo.h</a>&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="TmpPath_8h.html">zypp/TmpPath.h</a>&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">//#include &quot;zypp/source/MediaSetAccessReportReceivers.h&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;{ </div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<a class="code" href="ReferenceCounted_8h.html#ac9f70b359e11c09eca21d9c85e5d6eea">IMPL_PTR_TYPE</a>(<a class="code" href="namespaceMediaSetAccess.html">MediaSetAccess</a>);</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#adb860ff70b4599803add8e5835b158a0">   32</a></span>&#160;  MediaSetAccess::MediaSetAccess(<span class="keyword">const</span> <a class="code" href="classzypp_1_1Url.html">Url</a> &amp;<a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>,</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;                                 <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp; prefered_attach_point)</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;      : _url(<a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>)</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;      , _prefAttachPoint(prefered_attach_point)</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  {}</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a60bb5057093b55e1578c4b28d1f6e7e5">   38</a></span>&#160;  <a class="code" href="classzypp_1_1MediaSetAccess.html#adb860ff70b4599803add8e5835b158a0">MediaSetAccess::MediaSetAccess</a>(<span class="keyword">const</span> std::string &amp; label_r,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;                                 <span class="keyword">const</span> <a class="code" href="classzypp_1_1Url.html">Url</a> &amp;<a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                                 <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp; prefered_attach_point)</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;      : _url(<a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>)</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;      , _prefAttachPoint(prefered_attach_point)</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;      , _label( label_r )</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  {}</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a2eefbac533894260e6fddca87efd8fcd">   46</a></span>&#160;  <a class="code" href="classzypp_1_1MediaSetAccess.html#a2eefbac533894260e6fddca87efd8fcd">MediaSetAccess::~MediaSetAccess</a>()</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;      <a class="code" href="classzypp_1_1MediaSetAccess.html#adfbc087871209b502a4ace38d5fdf479">release</a>();</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    }</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">catch</span>(...) {} <span class="comment">// don&#39;t let exception escape a dtor.</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  }</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#acbad802296317ffb01c2e07fe3b4e66a">   56</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#acbad802296317ffb01c2e07fe3b4e66a">MediaSetAccess::setVerifier</a>( <span class="keywordtype">unsigned</span> media_nr, <a class="code" href="structzypp_1_1RW__pointer.html">media::MediaVerifierRef</a> <a class="code" href="MediaManager_8cc.html#a367c54f9332e56210b7b49616862423f">verifier</a> )</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;  {</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>.find(media_nr) != <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>.end())</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    {</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;      <span class="comment">// the media already exists, set theverifier</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;      <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> <span class="keywordtype">id</span> = <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>[media_nr];</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;      <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#ad78b50580cb504bed79df7637bd570d8">addVerifier</a>( <span class="keywordtype">id</span>, <a class="code" href="MediaManager_8cc.html#a367c54f9332e56210b7b49616862423f">verifier</a> );</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;      <span class="comment">// remove any saved verifier for this media</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;      <a class="code" href="classzypp_1_1MediaSetAccess.html#a21dea97a9fc9c494e616177c9b5e013c">_verifiers</a>.erase(media_nr);</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    }</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    {</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;      <span class="comment">// save the verifier in the map, and set it when</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="comment">// the media number is first attached</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;      <a class="code" href="classzypp_1_1MediaSetAccess.html#a21dea97a9fc9c494e616177c9b5e013c">_verifiers</a>[media_nr] = <a class="code" href="MediaManager_8cc.html#a367c54f9332e56210b7b49616862423f">verifier</a>;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    }</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;  }</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#afeeafb5f6c0eba9f160b41bac37298da">   75</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#afeeafb5f6c0eba9f160b41bac37298da">MediaSetAccess::releaseFile</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> &amp; on_media_file )</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  {</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="classzypp_1_1MediaSetAccess.html#afeeafb5f6c0eba9f160b41bac37298da">releaseFile</a>( on_media_file.<a class="code" href="classzypp_1_1OnMediaLocation.html#a6056a4f294e658f4d1a38e612136c31b">filename</a>(), on_media_file.<a class="code" href="classzypp_1_1OnMediaLocation.html#a633cd31c3688d20d2aa4672f1130d81a">medianr</a>() );</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  }</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a3ed55ef838e2acc2f18ed48ade080a70">   80</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#afeeafb5f6c0eba9f160b41bac37298da">MediaSetAccess::releaseFile</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp; file, <span class="keywordtype">unsigned</span> media_nr)</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  {</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> media;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    media = <a class="code" href="classzypp_1_1MediaSetAccess.html#a224f7707e0900a749c028549fedf6758">getMediaAccessId</a>( media_nr);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Going to release file &quot;</span> &lt;&lt; file</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        &lt;&lt; <span class="stringliteral">&quot; from media number &quot;</span> &lt;&lt; media_nr &lt;&lt; endl;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <span class="keywordflow">if</span> ( ! media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a6b1b2d7618f264833c2a6fdc41d9fc88">isAttached</a>(media) )</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;      <span class="keywordflow">return</span>; <span class="comment">//disattached media is free</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a1e2b9900ac59c2f18fe66f1c79912f23">releaseFile</a> (media, file);</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;  }</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#ad6b580db6594766f8b457d46a519fac1">   95</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#ad6b580db6594766f8b457d46a519fac1">MediaSetAccess::dirInfo</a>( <a class="code" href="namespacezypp_1_1filesystem.html#ade46cd05af0a1fa7e5995e321cfb586b">filesystem::DirContent</a> &amp;retlist, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp;dirname,</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;                                <span class="keywordtype">bool</span> dots, <span class="keywordtype">unsigned</span> media_nr )</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  {</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> media;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    media = <a class="code" href="classzypp_1_1MediaSetAccess.html#a224f7707e0900a749c028549fedf6758">getMediaAccessId</a>(media_nr);</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="comment">// try to attach the media</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keywordflow">if</span> ( ! media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a6b1b2d7618f264833c2a6fdc41d9fc88">isAttached</a>(media) )</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a36e0b34ad20742921bc1ad9c2a2fade8">attach</a>(media);</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a4ad8d3535fa1f04920fe823e8b04849a">dirInfo</a>(media, retlist, dirname, dots);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  }</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileOperation.html">  109</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structzypp_1_1ProvideFileOperation.html">ProvideFileOperation</a></div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  {</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileOperation.html#aaa0276103131ee50de7af377905e0fec">  111</a></span>&#160;    <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="structzypp_1_1ProvideFileOperation.html#aaa0276103131ee50de7af377905e0fec">result</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileOperation.html#af7f5bb75878c4af0f4035b73b8421968">  112</a></span>&#160;    <a class="code" href="classzypp_1_1ByteCount.html">ByteCount</a> <a class="code" href="structzypp_1_1ProvideFileOperation.html#af7f5bb75878c4af0f4035b73b8421968">expectedFileSize</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileOperation.html#add63d0844a8ed23a46822983a09ccd42">  113</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="structzypp_1_1ProvideFileOperation.html#add63d0844a8ed23a46822983a09ccd42">operator()</a>( <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> media, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp;file )</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    {</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a606b062a03aa7e621d19f03d4712c157">provideFile</a>(media, file, <a class="code" href="structzypp_1_1ProvideFileOperation.html#af7f5bb75878c4af0f4035b73b8421968">expectedFileSize</a>);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      <a class="code" href="structzypp_1_1ProvideFileOperation.html#aaa0276103131ee50de7af377905e0fec">result</a> = media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#ac44d24dc20f9b89930f065750705efe3">localPath</a>(media, file);</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    }</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  };</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideDirTreeOperation.html">  121</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structzypp_1_1ProvideDirTreeOperation.html">ProvideDirTreeOperation</a></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  {</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideDirTreeOperation.html#a558823ea2c739a631f88ce97b40519f9">  123</a></span>&#160;    <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="structzypp_1_1ProvideDirTreeOperation.html#a558823ea2c739a631f88ce97b40519f9">result</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideDirTreeOperation.html#a276ce79586974faf4c8c7fd7f3735e41">  124</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="structzypp_1_1ProvideDirTreeOperation.html#a276ce79586974faf4c8c7fd7f3735e41">operator()</a>( <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> media, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp;file )</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    {</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;      <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;      media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#ad2668f33e094068a94746248732bfc0f">provideDirTree</a>(media, file);</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <a class="code" href="structzypp_1_1ProvideDirTreeOperation.html#a558823ea2c739a631f88ce97b40519f9">result</a> = media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#ac44d24dc20f9b89930f065750705efe3">localPath</a>(media, file);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    }</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  };</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideDirOperation.html">  132</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structzypp_1_1ProvideDirOperation.html">ProvideDirOperation</a></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  {</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideDirOperation.html#a726d797565e5e91671d9182fdbb44463">  134</a></span>&#160;    <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="structzypp_1_1ProvideDirOperation.html#a726d797565e5e91671d9182fdbb44463">result</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideDirOperation.html#adeb4aca0368d3363687bd7ba1c4ca105">  135</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="structzypp_1_1ProvideDirOperation.html#adeb4aca0368d3363687bd7ba1c4ca105">operator()</a>( <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> media, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp;file )</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    {</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;      <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;      media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a8edb17b2ab8ad2a96c1f4f55dba71e8f">provideDir</a>(media, file);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;      <a class="code" href="structzypp_1_1ProvideDirOperation.html#a726d797565e5e91671d9182fdbb44463">result</a> = media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#ac44d24dc20f9b89930f065750705efe3">localPath</a>(media, file);</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    }</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  };</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileExistenceOperation.html">  143</a></span>&#160;  <span class="keyword">struct </span><a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html">ProvideFileExistenceOperation</a></div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  {</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileExistenceOperation.html#a8c5147296784a3cc4ef05ed5e25a4dc4">  145</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html#a8c5147296784a3cc4ef05ed5e25a4dc4">result</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileExistenceOperation.html#aadb9596086b56bb6f3153c38042a2a5f">  146</a></span>&#160;    <a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html#aadb9596086b56bb6f3153c38042a2a5f">ProvideFileExistenceOperation</a>()</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        : <a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html#a8c5147296784a3cc4ef05ed5e25a4dc4">result</a>(false)</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    {}</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="structzypp_1_1ProvideFileExistenceOperation.html#a9fb04cd3a14431da9b29ac0e3569dccb">  150</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html#a9fb04cd3a14431da9b29ac0e3569dccb">operator()</a>( <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> media, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp;file )</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    {</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;      <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;      <a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html#a8c5147296784a3cc4ef05ed5e25a4dc4">result</a> = media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a8e2ab1cc5232a6ae97175f44bf41caff">doesFileExist</a>(media, file);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  };</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a07a52991c5d8cbe4b1f40b1f69d300e6">  159</a></span>&#160;  <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#a07a52991c5d8cbe4b1f40b1f69d300e6">MediaSetAccess::provideFile</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> &amp; resource, ProvideFileOptions options, <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp;deltafile )</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <a class="code" href="structzypp_1_1ProvideFileOperation.html">ProvideFileOperation</a> op;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    op.<a class="code" href="structzypp_1_1ProvideFileOperation.html#af7f5bb75878c4af0f4035b73b8421968">expectedFileSize</a> = resource.<a class="code" href="classzypp_1_1OnMediaLocation.html#a9f2e0d3641bd09df7fa13ecdd77dad2d">downloadSize</a>();</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <a class="code" href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">provide</a>( boost::ref(op), resource, options, deltafile );</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="keywordflow">return</span> op.<a class="code" href="structzypp_1_1ProvideFileOperation.html#aaa0276103131ee50de7af377905e0fec">result</a>;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;  }</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a070fe985c3f232301bb0ab3fc7cb1b3a">  167</a></span>&#160;  <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#a07a52991c5d8cbe4b1f40b1f69d300e6">MediaSetAccess::provideFile</a>(<span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp; file, <span class="keywordtype">unsigned</span> media_nr, ProvideFileOptions options )</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;  {</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> resource;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <a class="code" href="structzypp_1_1ProvideFileOperation.html">ProvideFileOperation</a> op;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    resource.<a class="code" href="classzypp_1_1OnMediaLocation.html#a574b2939746c8c9b52df4c74c46263ff">setLocation</a>(file, media_nr);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <a class="code" href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">provide</a>( boost::ref(op), resource, options, <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a>() );</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keywordflow">return</span> op.<a class="code" href="structzypp_1_1ProvideFileOperation.html#aaa0276103131ee50de7af377905e0fec">result</a>;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  }</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#ac1565c7156e42034182b31fa0fd6ba2b">  176</a></span>&#160;  <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#ac1565c7156e42034182b31fa0fd6ba2b">MediaSetAccess::provideOptionalFile</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp; file, <span class="keywordtype">unsigned</span> media_nr )</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  {</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    {</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;      <span class="keywordflow">if</span> ( <a class="code" href="classzypp_1_1MediaSetAccess.html#ad441022bca2f7af6931562612a971ccd">doesFileExist</a>( file, media_nr ) )</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#a07a52991c5d8cbe4b1f40b1f69d300e6">provideFile</a>( file, media_nr, <a class="code" href="classzypp_1_1MediaSetAccess.html#aa5776b7dced57d762cf3710fed7dc4fba4eba4a6462ff667bf396e6052d70b803">PROVIDE_NON_INTERACTIVE</a> );</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    }</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keywordflow">catch</span> ( <span class="keyword">const</span> <a class="code" href="classzypp_1_1media_1_1MediaFileNotFoundException.html">media::MediaFileNotFoundException</a> &amp; excpt_r )</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    { <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>( excpt_r ); }</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordflow">catch</span> ( <span class="keyword">const</span> <a class="code" href="classzypp_1_1media_1_1MediaNotAFileException.html">media::MediaNotAFileException</a> &amp; excpt_r )</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    { <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>( excpt_r ); }</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;   <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a>();</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  }</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#aa079b8fe829aece3e1621c0f5c5071dd">  190</a></span>&#160;  <a class="code" href="classzypp_1_1AutoDispose.html">ManagedFile</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#aa079b8fe829aece3e1621c0f5c5071dd">MediaSetAccess::provideFileFromUrl</a>(<span class="keyword">const</span> <a class="code" href="classzypp_1_1Url.html">Url</a> &amp;file_url, ProvideFileOptions options)</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  {</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    <a class="code" href="classzypp_1_1Url.html">Url</a> <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>(file_url);</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> path(<a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>.getPathName());</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>.setPathName (<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <a class="code" href="namespaceMediaSetAccess.html">MediaSetAccess</a> access(<a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>);</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    <a class="code" href="classzypp_1_1AutoDispose.html">ManagedFile</a> tmpFile = <a class="code" href="classzypp_1_1filesystem_1_1TmpFile.html#a95105ff24917ca4c06e0dadc0417618b">filesystem::TmpFile::asManagedFile</a>();</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> file = access.<a class="code" href="classzypp_1_1MediaSetAccess.html#a07a52991c5d8cbe4b1f40b1f69d300e6">provideFile</a>(path, 1, options);</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment">//prevent the file from being deleted when MediaSetAccess gets out of scope</span></div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">if</span> ( <a class="code" href="namespacezypp_1_1filesystem.html#ad72717c76cd22a5a42c72a9e49e05721">filesystem::hardlinkCopy</a>(file, tmpFile) != 0 )</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;      <a class="code" href="group__ZYPP__THROW.html#gaf8c3a87d63dd4f26f059eddd62c22864">ZYPP_THROW</a>(<a class="code" href="classzypp_1_1Exception.html">Exception</a>(<span class="stringliteral">&quot;Can&#39;t copy file from &quot;</span> + file.<a class="code" href="classzypp_1_1filesystem_1_1Pathname.html#a91a822e47df9fa6f484a7b771a0b3c94">asString</a>() + <span class="stringliteral">&quot; to &quot;</span> +  tmpFile-&gt;asString() ));</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordflow">return</span> tmpFile;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  }</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#ac19e79555ce2778ca9a4cfd64c48a72e">  208</a></span>&#160;  <a class="code" href="classzypp_1_1AutoDispose.html">ManagedFile</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#ac19e79555ce2778ca9a4cfd64c48a72e">MediaSetAccess::provideOptionalFileFromUrl</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1Url.html">Url</a> &amp; file_url )</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  {</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    {</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#aa079b8fe829aece3e1621c0f5c5071dd">provideFileFromUrl</a>( file_url, <a class="code" href="classzypp_1_1MediaSetAccess.html#aa5776b7dced57d762cf3710fed7dc4fba4eba4a6462ff667bf396e6052d70b803">PROVIDE_NON_INTERACTIVE</a> );</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    }</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordflow">catch</span> ( <span class="keyword">const</span> <a class="code" href="classzypp_1_1media_1_1MediaFileNotFoundException.html">media::MediaFileNotFoundException</a> &amp; excpt_r )</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    { <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>( excpt_r ); }</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordflow">catch</span> ( <span class="keyword">const</span> <a class="code" href="classzypp_1_1media_1_1MediaNotAFileException.html">media::MediaNotAFileException</a> &amp; excpt_r )</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    { <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>( excpt_r ); }</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;   <span class="keywordflow">return</span> <a class="code" href="namespacezypp.html#a5fcd6472a3b41932c690d08b57443a1c">ManagedFile</a>();</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  }</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#ad441022bca2f7af6931562612a971ccd">  221</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#ad441022bca2f7af6931562612a971ccd">MediaSetAccess::doesFileExist</a>(<span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp; file, <span class="keywordtype">unsigned</span> media_nr )</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  {</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html">ProvideFileExistenceOperation</a> op;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> resource;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    resource.<a class="code" href="classzypp_1_1OnMediaLocation.html#a574b2939746c8c9b52df4c74c46263ff">setLocation</a>(file, media_nr);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <a class="code" href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">provide</a>( boost::ref(op), resource, <a class="code" href="classzypp_1_1MediaSetAccess.html#aa5776b7dced57d762cf3710fed7dc4fba38866547307e1f34dfb2931236a12d97">PROVIDE_DEFAULT</a>, <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a>());</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keywordflow">return</span> op.<a class="code" href="structzypp_1_1ProvideFileExistenceOperation.html#a8c5147296784a3cc4ef05ed5e25a4dc4">result</a>;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  }</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">  230</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">MediaSetAccess::provide</a>( <a class="code" href="classzypp_1_1MediaSetAccess.html#ab693f3d30f0ed9d9ad8b9c4919ad4b88">ProvideOperation</a> op,</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;                                <span class="keyword">const</span> <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> &amp;resource,</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;                                ProvideFileOptions options,</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                                <span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp;deltafile )</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  {</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> file(resource.<a class="code" href="classzypp_1_1OnMediaLocation.html#a6056a4f294e658f4d1a38e612136c31b">filename</a>());</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keywordtype">unsigned</span> media_nr(resource.<a class="code" href="classzypp_1_1OnMediaLocation.html#a633cd31c3688d20d2aa4672f1130d81a">medianr</a>());</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <a class="code" href="structzypp_1_1callback_1_1SendReport.html">callback::SendReport&lt;media::MediaChangeReport&gt;</a> <a class="code" href="MediaCurl_8cc.html#a4e0826ef1eedfec4b8c01665fedeb6d6">report</a>;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> media;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keywordflow">do</span></div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    {</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;      <span class="comment">// get the mediaId, but don&#39;t try to attach it here</span></div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      media = <a class="code" href="classzypp_1_1MediaSetAccess.html#a224f7707e0900a749c028549fedf6758">getMediaAccessId</a>( media_nr);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      <span class="keywordtype">bool</span> deltafileset = <span class="keyword">false</span>;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;      <span class="keywordflow">try</span></div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;      {</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Going to try to provide &quot;</span> &lt;&lt; (resource.<a class="code" href="classzypp_1_1OnMediaLocation.html#a0dd7349bda609fb05a7466a05cf35102">optional</a>() ? <span class="stringliteral">&quot;optional&quot;</span> : <span class="stringliteral">&quot;&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file &quot;</span> &lt;&lt; file</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;            &lt;&lt; <span class="stringliteral">&quot; from media number &quot;</span> &lt;&lt; media_nr &lt;&lt; endl;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="comment">// try to attach the media</span></div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keywordflow">if</span> ( ! media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a6b1b2d7618f264833c2a6fdc41d9fc88">isAttached</a>(media) )</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;          media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a36e0b34ad20742921bc1ad9c2a2fade8">attach</a>(media);</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a03c2eff6de6cddce664ce1181798b008">setDeltafile</a>(media, deltafile);</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        deltafileset = <span class="keyword">true</span>;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        op(media, file);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a03c2eff6de6cddce664ce1181798b008">setDeltafile</a>(media, <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a>());</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        <span class="keywordflow">break</span>;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      }</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;      <span class="keywordflow">catch</span> ( <a class="code" href="classzypp_1_1media_1_1MediaException.html">media::MediaException</a> &amp; excp )</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;      {</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;        <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>(excp);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;        <span class="keywordflow">if</span> (deltafileset)</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;          media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a03c2eff6de6cddce664ce1181798b008">setDeltafile</a>(media, <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a>());</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142">media::MediaChangeReport::Action</a> user = <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142a8989442c23dd2c281cb88da8df8011c8">media::MediaChangeReport::ABORT</a>;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> devindex = 0;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        vector&lt;string&gt; devices;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#adb565d784e28cf181914e1edb092d063">getDetectedDevices</a>(media, devices, devindex);</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        <span class="keywordflow">do</span></div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        {</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;          <span class="keywordflow">if</span> (user != <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142ab3be8c4e5469bd1957aad3f268118220">media::MediaChangeReport::EJECT</a>) <span class="comment">// no use in calling this again</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;          {</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;            <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Media couldn&#39;t provide file &quot;</span> &lt;&lt; file &lt;&lt; <span class="stringliteral">&quot; , releasing.&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;            {</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;              media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a6a2c0fede9e2cec6a52b26d615c83099">release</a>(media);</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;            }</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;            <span class="keywordflow">catch</span> (<span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> &amp; excpt_r)</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;            {</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>(excpt_r);</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;                <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga552f8ec9d8e5b4efa04839a129104818">MIL</a> &lt;&lt; <span class="stringliteral">&quot;Failed to release media &quot;</span> &lt;&lt; media &lt;&lt; endl;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;            }</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;          }</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;          <span class="comment">// set up the reason</span></div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;          <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3f">media::MediaChangeReport::Error</a> reason = <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fa7a1877c672e5cb6a7cb86b8556a66c83">media::MediaChangeReport::INVALID</a>;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;          <span class="keywordflow">if</span>( <span class="keyword">typeid</span>(excp) == <span class="keyword">typeid</span>( <a class="code" href="classzypp_1_1media_1_1MediaFileNotFoundException.html">media::MediaFileNotFoundException</a> )  ||</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;              <span class="keyword">typeid</span>(excp) == <span class="keyword">typeid</span>( <a class="code" href="classzypp_1_1media_1_1MediaNotAFileException.html">media::MediaNotAFileException</a> ) )</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;          {</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;            reason = <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fab0ec95f0ceb4c8546a7dc448cd35e990">media::MediaChangeReport::NOT_FOUND</a>;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;          }</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span>( <span class="keyword">typeid</span>(excp) == <span class="keyword">typeid</span>( <a class="code" href="classzypp_1_1media_1_1MediaNotDesiredException.html">media::MediaNotDesiredException</a>)  ||</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;              <span class="keyword">typeid</span>(excp) == <span class="keyword">typeid</span>( <a class="code" href="classzypp_1_1media_1_1MediaNotAttachedException.html">media::MediaNotAttachedException</a>) )</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;          {</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;            reason = <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fa2d952bc652c12d4088162a066c4a533c">media::MediaChangeReport::WRONG</a>;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;          }</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span>( <span class="keyword">typeid</span>(excp) == <span class="keyword">typeid</span>( <a class="code" href="classzypp_1_1media_1_1MediaTimeoutException.html">media::MediaTimeoutException</a>) ||</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                   <span class="keyword">typeid</span>(excp) == <span class="keyword">typeid</span>( <a class="code" href="classzypp_1_1media_1_1MediaTemporaryProblemException.html">media::MediaTemporaryProblemException</a>))</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;          {</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;            reason = <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fa211e998761ef9bc67fe5cd8cd1b505e2">media::MediaChangeReport::IO_SOFT</a>;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;          }</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;          <span class="comment">// Propagate the original error if _no_ callback receiver is connected, or</span></div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;          <span class="comment">// non_interactive mode (for optional files) is used (except for wrong media).</span></div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;          <span class="keywordflow">if</span> ( ! <a class="code" href="structzypp_1_1callback_1_1SendReport.html">callback::SendReport&lt;media::MediaChangeReport&gt;::connected</a>()</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;             || (( options &amp; <a class="code" href="classzypp_1_1MediaSetAccess.html#aa5776b7dced57d762cf3710fed7dc4fba4eba4a6462ff667bf396e6052d70b803">PROVIDE_NON_INTERACTIVE</a> ) &amp;&amp; reason != <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fa2d952bc652c12d4088162a066c4a533c">media::MediaChangeReport::WRONG</a> ) )</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;          {</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;              <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga552f8ec9d8e5b4efa04839a129104818">MIL</a> &lt;&lt; <span class="stringliteral">&quot;Can&#39;t provide file. Non-Interactive mode.&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;              <a class="code" href="group__ZYPP__THROW.html#ga08d9b1a11fa29455c0419afa1d186887">ZYPP_RETHROW</a>(excp);</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;          }</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;          <span class="keywordflow">else</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;          {</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;            <span class="comment">// release all media before requesting another (#336881)</span></div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a2dd7b34d34fc374f1726611c36c3c684">releaseAll</a>();</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            user = <a class="code" href="MediaCurl_8cc.html#a4e0826ef1eedfec4b8c01665fedeb6d6">report</a>-&gt;requestMedia (</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;              <a class="code" href="classzypp_1_1MediaSetAccess.html#af34ad9ee1bdfa1bc2b3f840377361c10">_url</a>,</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;              media_nr,</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;              <a class="code" href="classzypp_1_1MediaSetAccess.html#a2d0c0dc88a6b92436e84d5b8a507e3e2">_label</a>,</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;              reason,</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;              excp.<a class="code" href="classzypp_1_1Exception.html#a2fdd31e4e499f99cec41273742b16f73">asUserHistory</a>(),</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;              devices,</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;              devindex</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;            );</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;          }</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;          <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga552f8ec9d8e5b4efa04839a129104818">MIL</a> &lt;&lt; <span class="stringliteral">&quot;ProvideFile exception caught, callback answer: &quot;</span> &lt;&lt; user &lt;&lt; endl;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;          <span class="keywordflow">if</span>( user == <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142a8989442c23dd2c281cb88da8df8011c8">media::MediaChangeReport::ABORT</a> )</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;          {</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;            <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Aborting&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;            AbortRequestException aexcp(<span class="stringliteral">&quot;Aborting requested by user&quot;</span>);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;            aexcp.remember(excp);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;            <a class="code" href="group__ZYPP__THROW.html#gaf8c3a87d63dd4f26f059eddd62c22864">ZYPP_THROW</a>(aexcp);</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;          }</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( user == <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142a6f798e8db43931f7c0ded501d57a2381">media::MediaChangeReport::IGNORE</a> )</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;          {</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Skipping&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;            SkipRequestException nexcp(<span class="stringliteral">&quot;User-requested skipping of a file&quot;</span>);</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;            nexcp.remember(excp);</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;            <a class="code" href="group__ZYPP__THROW.html#gaf8c3a87d63dd4f26f059eddd62c22864">ZYPP_THROW</a>(nexcp);</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;          }</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( user == <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142ab3be8c4e5469bd1957aad3f268118220">media::MediaChangeReport::EJECT</a> )</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;          {</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;            <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Eject: try to release&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;            {</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;              media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a2dd7b34d34fc374f1726611c36c3c684">releaseAll</a>();</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;              media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a6a2c0fede9e2cec6a52b26d615c83099">release</a> (media, devindex &lt; devices.size() ? devices[devindex] : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;            }</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;            <span class="keywordflow">catch</span> ( <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> &amp; e)</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;            {</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;              <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>(e);</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;            }</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;          }</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;          <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( user == <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142abbf3dfa83d6c8e1c1550a2b457ee39ee">media::MediaChangeReport::RETRY</a>  ||</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;            user == <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142a5b58ae5a6c0c4a5117847a492de90ac2">media::MediaChangeReport::CHANGE_URL</a> )</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;          {</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;            <span class="comment">// retry</span></div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;            <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Going to try again&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;            <span class="comment">// invalidate current media access id</span></div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;            media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a569396e2c9b71a9ee850ccd4e435890d">close</a>(media);</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;            <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>.erase(media_nr);</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;            <span class="comment">// not attaching, media set will do that for us</span></div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;            <span class="comment">// this could generate uncaught exception (#158620)</span></div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;            <span class="keywordflow">break</span>;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;          }</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;          <span class="keywordflow">else</span></div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;          {</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Don&#39;t know, let&#39;s ABORT&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;            <a class="code" href="group__ZYPP__THROW.html#ga08d9b1a11fa29455c0419afa1d186887">ZYPP_RETHROW</a> ( excp );</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;          }</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        } <span class="keywordflow">while</span>( user == <a class="code" href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142ab3be8c4e5469bd1957aad3f268118220">media::MediaChangeReport::EJECT</a> );</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;      }</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;      <span class="comment">// retry or change URL</span></div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    } <span class="keywordflow">while</span>( <span class="keyword">true</span> );</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;  }</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a291139f8560849eaaef923ad957c8f2e">  385</a></span>&#160;  <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#a291139f8560849eaaef923ad957c8f2e">MediaSetAccess::provideDir</a>(<span class="keyword">const</span> <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a> &amp; dir,</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                                      <span class="keywordtype">bool</span> recursive,</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;                                      <span class="keywordtype">unsigned</span> media_nr,</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                                      ProvideFileOptions options )</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;  {</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <a class="code" href="classzypp_1_1OnMediaLocation.html">OnMediaLocation</a> resource;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    resource.<a class="code" href="classzypp_1_1OnMediaLocation.html#a574b2939746c8c9b52df4c74c46263ff">setLocation</a>(dir, media_nr);</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="keywordflow">if</span> ( recursive )</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    {</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <a class="code" href="structzypp_1_1ProvideDirTreeOperation.html">ProvideDirTreeOperation</a> op;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        <a class="code" href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">provide</a>( boost::ref(op), resource, options, <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a>());</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        <span class="keywordflow">return</span> op.<a class="code" href="structzypp_1_1ProvideDirTreeOperation.html#a558823ea2c739a631f88ce97b40519f9">result</a>;</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    }</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    <a class="code" href="structzypp_1_1ProvideDirOperation.html">ProvideDirOperation</a> op;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <a class="code" href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">provide</a>( boost::ref(op), resource, options, <a class="code" href="classzypp_1_1filesystem_1_1Pathname.html">Pathname</a>());</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;    <span class="keywordflow">return</span> op.<a class="code" href="structzypp_1_1ProvideDirOperation.html#a726d797565e5e91671d9182fdbb44463">result</a>;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;  }</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a224f7707e0900a749c028549fedf6758">  403</a></span>&#160;  <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#a224f7707e0900a749c028549fedf6758">MediaSetAccess::getMediaAccessId</a> (<a class="code" href="namespacezypp_1_1media.html#a0402e694745753add7ac77f1d4f1a36d">media::MediaNr</a> medianr)</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;  {</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <span class="keywordflow">if</span> ( <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>.find( medianr ) != <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>.end() )</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;    {</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>[medianr];</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    }</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <a class="code" href="classzypp_1_1Url.html">Url</a> <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>( medianr &gt; 1 ? <a class="code" href="classzypp_1_1MediaSetAccess.html#ae97743a16fc30052b2137668c2aeaf15">rewriteUrl</a>( <a class="code" href="classzypp_1_1MediaSetAccess.html#af34ad9ee1bdfa1bc2b3f840377361c10">_url</a>, medianr ) : <a class="code" href="classzypp_1_1MediaSetAccess.html#af34ad9ee1bdfa1bc2b3f840377361c10">_url</a> );</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> media_mgr;</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <a class="code" href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">media::MediaAccessId</a> <span class="keywordtype">id</span> = media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a060e17aa114b31357743da2f3a2e302f">open</a>( <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>, <a class="code" href="classzypp_1_1MediaSetAccess.html#ae0e6d4e4ab523bb5f9fbd2b1cfcb7cf2">_prefAttachPoint</a> );</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>[medianr] = id;</div><div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    {</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;      <span class="keywordflow">if</span> ( <a class="code" href="classzypp_1_1MediaSetAccess.html#a21dea97a9fc9c494e616177c9b5e013c">_verifiers</a>.find(medianr) != <a class="code" href="classzypp_1_1MediaSetAccess.html#a21dea97a9fc9c494e616177c9b5e013c">_verifiers</a>.end() )</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;      {</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;        <span class="comment">// a verifier is set for this media</span></div><div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <span class="comment">// FIXME check the case where the verifier exists</span></div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;        <span class="comment">// but we have no access id for the media</span></div><div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;        media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a07d8af592d33d07fd73c569a901afcaf">delVerifier</a>( <span class="keywordtype">id</span> );</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;        media_mgr.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#ad78b50580cb504bed79df7637bd570d8">addVerifier</a>( <span class="keywordtype">id</span>, <a class="code" href="classzypp_1_1MediaSetAccess.html#a21dea97a9fc9c494e616177c9b5e013c">_verifiers</a>[medianr] );</div><div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        <span class="comment">// remove any saved verifier for this media</span></div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <a class="code" href="classzypp_1_1MediaSetAccess.html#a21dea97a9fc9c494e616177c9b5e013c">_verifiers</a>.erase( medianr );</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;      }</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    }</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="keywordflow">catch</span> ( <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> &amp;e )</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    {</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;      <a class="code" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a>(e);</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;      <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga9423380a92639b296ea0a984ea7e1c6b">WAR</a> &lt;&lt; <span class="stringliteral">&quot;Verifier not found&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    }</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;    <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  }</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;</div><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#ae97743a16fc30052b2137668c2aeaf15">  438</a></span>&#160;  <a class="code" href="classzypp_1_1Url.html">Url</a> <a class="code" href="classzypp_1_1MediaSetAccess.html#ae97743a16fc30052b2137668c2aeaf15">MediaSetAccess::rewriteUrl</a> (<span class="keyword">const</span> <a class="code" href="classzypp_1_1Url.html">Url</a> &amp; url_r, <span class="keyword">const</span> <a class="code" href="namespacezypp_1_1media.html#a0402e694745753add7ac77f1d4f1a36d">media::MediaNr</a> medianr)</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  {</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    std::string scheme = url_r.<a class="code" href="classzypp_1_1Url.html#a095ef9bbb54284f4399b5f84659a5341">getScheme</a>();</div><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <span class="keywordflow">if</span> (scheme == <span class="stringliteral">&quot;cd&quot;</span> || scheme == <span class="stringliteral">&quot;dvd&quot;</span>)</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;      <span class="keywordflow">return</span> url_r;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Rewriting url &quot;</span> &lt;&lt; url_r &lt;&lt; endl;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="keywordflow">if</span>( scheme == <span class="stringliteral">&quot;iso&quot;</span>)</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    {</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;      <span class="comment">// TODO the iso parameter will not be required in the future, this</span></div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;      <span class="comment">// code has to be adapted together with the MediaISO change.</span></div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;      <span class="comment">// maybe some MediaISOURL interface should be used.</span></div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;      std::string isofile = url_r.<a class="code" href="classzypp_1_1Url.html#a4b2a104d35d9f7fd4e12117f0d7da2db">getQueryParam</a>(<span class="stringliteral">&quot;iso&quot;</span>);</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;      <a class="code" href="classzypp_1_1str_1_1regex.html">str::regex</a> e(<span class="stringliteral">&quot;^(.*)(cd|dvd|media)[0-9]+\\.iso$&quot;</span>, <a class="code" href="classzypp_1_1str_1_1regex.html#a54f5b3dc2ef0bb7ac0dbbcc24351002ba919218aec6dfc3c39045a03bc409bf95">str::regex::icase</a>);</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;      <a class="code" href="classzypp_1_1str_1_1smatch.html">str::smatch</a> what;</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;      <span class="keywordflow">if</span>(<a class="code" href="namespacezypp_1_1str.html#a9144ba9f2723cdd7a421c7d177f69d32">str::regex_match</a>(isofile, what, e))</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;      {</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        <a class="code" href="classzypp_1_1Url.html">Url</a> <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>( url_r);</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        isofile = what[1] + what[2] + <a class="code" href="namespacezypp_1_1str.html#a295adb2a601af4b6fe994e8aec3518a3">str::numstring</a>(medianr) + <span class="stringliteral">&quot;.iso&quot;</span>;</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>.setQueryParam(<span class="stringliteral">&quot;iso&quot;</span>, isofile);</div><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;        <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Url rewrite result: &quot;</span> &lt;&lt; <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a> &lt;&lt; endl;</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>;</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;      }</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    }</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keywordflow">else</span></div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;    {</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;      std::string pathname = url_r.<a class="code" href="classzypp_1_1Url.html#a441f130bca3c47b4be6c00433627832c">getPathName</a>();</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;      <a class="code" href="classzypp_1_1str_1_1regex.html">str::regex</a> e(<span class="stringliteral">&quot;^(.*)(cd|dvd|media)[0-9]+(/)?$&quot;</span>, <a class="code" href="classzypp_1_1str_1_1regex.html#a54f5b3dc2ef0bb7ac0dbbcc24351002ba919218aec6dfc3c39045a03bc409bf95">str::regex::icase</a>);</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;      <a class="code" href="classzypp_1_1str_1_1smatch.html">str::smatch</a> what;</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;      <span class="keywordflow">if</span>(<a class="code" href="namespacezypp_1_1str.html#a9144ba9f2723cdd7a421c7d177f69d32">str::regex_match</a>(pathname, what, e))</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;      {</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        <a class="code" href="classzypp_1_1Url.html">Url</a> <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>( url_r);</div><div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        pathname = what[1] + what[2] + <a class="code" href="namespacezypp_1_1str.html#a295adb2a601af4b6fe994e8aec3518a3">str::numstring</a>(medianr) + what[3];</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>.setPathName(pathname);</div><div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Url rewrite result: &quot;</span> &lt;&lt; <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a> &lt;&lt; endl;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a>;</div><div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;      }</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    }</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keywordflow">return</span> url_r;</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;  }</div><div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div><div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#adfbc087871209b502a4ace38d5fdf479">  481</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1MediaSetAccess.html#adfbc087871209b502a4ace38d5fdf479">MediaSetAccess::release</a>()</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;  {</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    <a class="code" href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a> &lt;&lt; <span class="stringliteral">&quot;Releasing all media IDs held by this MediaSetAccess&quot;</span> &lt;&lt; endl;</div><div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <a class="code" href="classzypp_1_1media_1_1MediaManager.html">media::MediaManager</a> manager;</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    <span class="keywordflow">for</span> (MediaMap::const_iterator m = <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>.begin(); m != <a class="code" href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">_medias</a>.end(); ++m)</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;      manager.<a class="code" href="classzypp_1_1media_1_1MediaManager.html#a6a2c0fede9e2cec6a52b26d615c83099">release</a>(m-&gt;second, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;  }</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;</div><div class="line"><a name="l00489"></a><span class="lineno"><a class="line" href="classzypp_1_1MediaSetAccess.html#a3a30516b6703a3a442475509022dd548">  489</a></span>&#160;  std::ostream &amp; <a class="code" href="classzypp_1_1MediaSetAccess.html#a3a30516b6703a3a442475509022dd548">MediaSetAccess::dumpOn</a>( std::ostream &amp; <a class="code" href="namespacestr.html">str</a> )<span class="keyword"> const</span></div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;<span class="keyword">  </span>{</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    <a class="code" href="namespacestr.html">str</a> &lt;&lt; <span class="stringliteral">&quot;MediaSetAccess (URL=&#39;&quot;</span> &lt;&lt; <a class="code" href="classzypp_1_1MediaSetAccess.html#af34ad9ee1bdfa1bc2b3f840377361c10">_url</a> &lt;&lt; <span class="stringliteral">&quot;&#39;, attach_point_hint=&#39;&quot;</span> &lt;&lt; <a class="code" href="classzypp_1_1MediaSetAccess.html#ae0e6d4e4ab523bb5f9fbd2b1cfcb7cf2">_prefAttachPoint</a> &lt;&lt; <span class="stringliteral">&quot;&#39;)&quot;</span>;</div><div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacestr.html">str</a>;</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;  }</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;} <span class="comment">// namespace zypp</span></div><div class="ttc" id="classzypp_1_1MediaSetAccess_html_ac19e79555ce2778ca9a4cfd64c48a72e"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ac19e79555ce2778ca9a4cfd64c48a72e">zypp::MediaSetAccess::provideOptionalFileFromUrl</a></div><div class="ttdeci">static ManagedFile provideOptionalFileFromUrl(const Url &amp;file_url)</div><div class="ttdoc">Provides an optional file from url.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00208">MediaSetAccess.cc:208</a></div></div>
<div class="ttc" id="classzypp_1_1Url_html_a095ef9bbb54284f4399b5f84659a5341"><div class="ttname"><a href="classzypp_1_1Url.html#a095ef9bbb54284f4399b5f84659a5341">zypp::Url::getScheme</a></div><div class="ttdeci">std::string getScheme() const</div><div class="ttdoc">Returns the scheme name of the URL.</div><div class="ttdef"><b>Definition:</b> <a href="Url_8cc_source.html#l00527">Url.cc:527</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaNotAttachedException_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaNotAttachedException.html">zypp::media::MediaNotAttachedException</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaException_8h_source.html#l00176">MediaException.h:176</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaNotDesiredException_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaNotDesiredException.html">zypp::media::MediaNotDesiredException</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaException_8h_source.html#l00377">MediaException.h:377</a></div></div>
<div class="ttc" id="structzypp_1_1callback_1_1SendReport_html"><div class="ttname"><a href="structzypp_1_1callback_1_1SendReport.html">zypp::callback::SendReport</a></div><div class="ttdef"><b>Definition:</b> <a href="Callback_8h_source.html#l00236">Callback.h:236</a></div></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="structzypp_1_1media_1_1MediaChangeReport_html_aabd478db8908768a91f588be947df142a6f798e8db43931f7c0ded501d57a2381"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142a6f798e8db43931f7c0ded501d57a2381">zypp::media::MediaChangeReport::IGNORE</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00301">ZYppCallbacks.h:301</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaTimeoutException_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaTimeoutException.html">zypp::media::MediaTimeoutException</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaException_8h_source.html#l00476">MediaException.h:476</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_ae94500c8ebca417a136bd61021bd31b3"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ae94500c8ebca417a136bd61021bd31b3">zypp::MediaSetAccess::provide</a></div><div class="ttdeci">void provide(ProvideOperation op, const OnMediaLocation &amp;resource, ProvideFileOptions options, const Pathname &amp;deltafile)</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00230">MediaSetAccess.cc:230</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_ad2668f33e094068a94746248732bfc0f"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#ad2668f33e094068a94746248732bfc0f">zypp::media::MediaManager::provideDirTree</a></div><div class="ttdeci">void provideDirTree(MediaAccessId accessId, const Pathname &amp;dirname) const</div><div class="ttdoc">FIXME: see MediaAccess class.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00723">MediaManager.cc:723</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a03c2eff6de6cddce664ce1181798b008"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a03c2eff6de6cddce664ce1181798b008">zypp::media::MediaManager::setDeltafile</a></div><div class="ttdeci">void setDeltafile(MediaAccessId accessId, const Pathname &amp;filename) const</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00695">MediaManager.cc:695</a></div></div>
<div class="ttc" id="group__ZYPP__THROW_html_gaf8c3a87d63dd4f26f059eddd62c22864"><div class="ttname"><a href="group__ZYPP__THROW.html#gaf8c3a87d63dd4f26f059eddd62c22864">ZYPP_THROW</a></div><div class="ttdeci">#define ZYPP_THROW(EXCPT)</div><div class="ttdoc">Drops a logline and throws the Exception.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00392">Exception.h:392</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_1str_1_1regex_html"><div class="ttname"><a href="classzypp_1_1str_1_1regex.html">zypp::str::regex</a></div><div class="ttdoc">Regular expression.</div><div class="ttdef"><b>Definition:</b> <a href="Regex_8h_source.html#l00086">Regex.h:86</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_aa079b8fe829aece3e1621c0f5c5071dd"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#aa079b8fe829aece3e1621c0f5c5071dd">zypp::MediaSetAccess::provideFileFromUrl</a></div><div class="ttdeci">static ManagedFile provideFileFromUrl(const Url &amp;file_url, ProvideFileOptions options=PROVIDE_DEFAULT)</div><div class="ttdoc">Provides file from url.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00190">MediaSetAccess.cc:190</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a8e2ab1cc5232a6ae97175f44bf41caff"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a8e2ab1cc5232a6ae97175f44bf41caff">zypp::media::MediaManager::doesFileExist</a></div><div class="ttdeci">bool doesFileExist(MediaAccessId accessId, const Pathname &amp;filename) const</div><div class="ttdoc">FIXME: see MediaAccess class.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00814">MediaManager.cc:814</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_a320d05e4edbde15f30bf04c0df73dd2c"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a320d05e4edbde15f30bf04c0df73dd2c">zypp::MediaSetAccess::_medias</a></div><div class="ttdeci">MediaMap _medias</div><div class="ttdoc">Mapping between media number and Media Access ID.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00367">MediaSetAccess.h:367</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_af34ad9ee1bdfa1bc2b3f840377361c10"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#af34ad9ee1bdfa1bc2b3f840377361c10">zypp::MediaSetAccess::_url</a></div><div class="ttdeci">Url _url</div><div class="ttdoc">Media or media set URL.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00351">MediaSetAccess.h:351</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 &amp;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="structzypp_1_1media_1_1MediaChangeReport_html_aabd478db8908768a91f588be947df142a5b58ae5a6c0c4a5117847a492de90ac2"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142a5b58ae5a6c0c4a5117847a492de90ac2">zypp::media::MediaChangeReport::CHANGE_URL</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00303">ZYppCallbacks.h:303</a></div></div>
<div class="ttc" id="classzypp_1_1ByteCount_html"><div class="ttname"><a href="classzypp_1_1ByteCount.html">zypp::ByteCount</a></div><div class="ttdoc">Store and operate with byte count.</div><div class="ttdef"><b>Definition:</b> <a href="ByteCount_8h_source.html#l00030">ByteCount.h:30</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideDirOperation_html_a726d797565e5e91671d9182fdbb44463"><div class="ttname"><a href="structzypp_1_1ProvideDirOperation.html#a726d797565e5e91671d9182fdbb44463">zypp::ProvideDirOperation::result</a></div><div class="ttdeci">Pathname result</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00134">MediaSetAccess.cc:134</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileOperation_html"><div class="ttname"><a href="structzypp_1_1ProvideFileOperation.html">zypp::ProvideFileOperation</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00109">MediaSetAccess.cc:109</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_a291139f8560849eaaef923ad957c8f2e"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a291139f8560849eaaef923ad957c8f2e">zypp::MediaSetAccess::provideDir</a></div><div class="ttdeci">Pathname provideDir(const Pathname &amp;dir, bool recursive, unsigned media_nr=1, ProvideFileOptions options=PROVIDE_DEFAULT)</div><div class="ttdoc">Provides direcotry dir from media number media_nr.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00385">MediaSetAccess.cc:385</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a4ad8d3535fa1f04920fe823e8b04849a"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a4ad8d3535fa1f04920fe823e8b04849a">zypp::media::MediaManager::dirInfo</a></div><div class="ttdeci">void dirInfo(MediaAccessId accessId, std::list&lt; std::string &gt; &amp;retlist, const Pathname &amp;dirname, bool dots=true) const</div><div class="ttdoc">FIXME: see MediaAccess class.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00780">MediaManager.cc:780</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_a614f57cae9027f2c81c31c3ff7386e3fab0ec95f0ceb4c8546a7dc448cd35e990"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fab0ec95f0ceb4c8546a7dc448cd35e990">zypp::media::MediaChangeReport::NOT_FOUND</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00309">ZYppCallbacks.h:309</a></div></div>
<div class="ttc" id="classzypp_1_1OnMediaLocation_html_a9f2e0d3641bd09df7fa13ecdd77dad2d"><div class="ttname"><a href="classzypp_1_1OnMediaLocation.html#a9f2e0d3641bd09df7fa13ecdd77dad2d">zypp::OnMediaLocation::downloadSize</a></div><div class="ttdeci">const ByteCount &amp; downloadSize() const</div><div class="ttdoc">The size of the resource on the server.</div><div class="ttdef"><b>Definition:</b> <a href="OnMediaLocation_8h_source.html#l00079">OnMediaLocation.h:79</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_a3a30516b6703a3a442475509022dd548"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a3a30516b6703a3a442475509022dd548">zypp::MediaSetAccess::dumpOn</a></div><div class="ttdeci">virtual std::ostream &amp; dumpOn(std::ostream &amp;str) const</div><div class="ttdoc">Overload to realize std::ostream &amp; operator&lt;&lt;.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00489">MediaSetAccess.cc:489</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_a614f57cae9027f2c81c31c3ff7386e3fa211e998761ef9bc67fe5cd8cd1b505e2"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fa211e998761ef9bc67fe5cd8cd1b505e2">zypp::media::MediaChangeReport::IO_SOFT</a></div><div class="ttdoc">IO error which can happen on worse connection like timeout exceed.</div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00313">ZYppCallbacks.h:313</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_aabd478db8908768a91f588be947df142ab3be8c4e5469bd1957aad3f268118220"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142ab3be8c4e5469bd1957aad3f268118220">zypp::media::MediaChangeReport::EJECT</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00304">ZYppCallbacks.h:304</a></div></div>
<div class="ttc" id="namespacestr_html"><div class="ttname"><a href="namespacestr.html">str</a></div><div class="ttdoc">String related utilities and Regular expression matching.</div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_a2eefbac533894260e6fddca87efd8fcd"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a2eefbac533894260e6fddca87efd8fcd">zypp::MediaSetAccess::~MediaSetAccess</a></div><div class="ttdeci">~MediaSetAccess()</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00046">MediaSetAccess.cc:46</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_ad441022bca2f7af6931562612a971ccd"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ad441022bca2f7af6931562612a971ccd">zypp::MediaSetAccess::doesFileExist</a></div><div class="ttdeci">bool doesFileExist(const Pathname &amp;file, unsigned media_nr=1)</div><div class="ttdoc">Checks if a file exists on the specified media, with user callbacks.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00221">MediaSetAccess.cc:221</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_aabd478db8908768a91f588be947df142abbf3dfa83d6c8e1c1550a2b457ee39ee"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142abbf3dfa83d6c8e1c1550a2b457ee39ee">zypp::media::MediaChangeReport::RETRY</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00300">ZYppCallbacks.h:300</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="namespacezypp_html_a5fcd6472a3b41932c690d08b57443a1c"><div class="ttname"><a href="namespacezypp.html#a5fcd6472a3b41932c690d08b57443a1c">zypp::ManagedFile</a></div><div class="ttdeci">AutoDispose&lt; const Pathname &gt; ManagedFile</div><div class="ttdoc">A Pathname plus associated cleanup code to be executed when path is no longer needed.</div><div class="ttdef"><b>Definition:</b> <a href="ManagedFile_8h_source.html#l00027">ManagedFile.h:27</a></div></div>
<div class="ttc" id="MediaCurl_8cc_html_a80c807b920948127b73f36d4d8d89037"><div class="ttname"><a href="MediaCurl_8cc.html#a80c807b920948127b73f36d4d8d89037">url</a></div><div class="ttdeci">Url url</div><div class="ttdef"><b>Definition:</b> <a href="MediaCurl_8cc_source.html#l00199">MediaCurl.cc:199</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_ae0e6d4e4ab523bb5f9fbd2b1cfcb7cf2"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ae0e6d4e4ab523bb5f9fbd2b1cfcb7cf2">zypp::MediaSetAccess::_prefAttachPoint</a></div><div class="ttdeci">Pathname _prefAttachPoint</div><div class="ttdoc">Prefered mount point.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00359">MediaSetAccess.h:359</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_adfbc087871209b502a4ace38d5fdf479"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#adfbc087871209b502a4ace38d5fdf479">zypp::MediaSetAccess::release</a></div><div class="ttdeci">void release()</div><div class="ttdoc">Release all attached media of this set.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00481">MediaSetAccess.cc:481</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_ae97743a16fc30052b2137668c2aeaf15"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ae97743a16fc30052b2137668c2aeaf15">zypp::MediaSetAccess::rewriteUrl</a></div><div class="ttdeci">static Url rewriteUrl(const Url &amp;url_r, const media::MediaNr medianr)</div><div class="ttdoc">Replaces media number in specified url with given medianr.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00438">MediaSetAccess.cc:438</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileExistenceOperation_html_aadb9596086b56bb6f3153c38042a2a5f"><div class="ttname"><a href="structzypp_1_1ProvideFileExistenceOperation.html#aadb9596086b56bb6f3153c38042a2a5f">zypp::ProvideFileExistenceOperation::ProvideFileExistenceOperation</a></div><div class="ttdeci">ProvideFileExistenceOperation()</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00146">MediaSetAccess.cc:146</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a606b062a03aa7e621d19f03d4712c157"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a606b062a03aa7e621d19f03d4712c157">zypp::media::MediaManager::provideFile</a></div><div class="ttdeci">void provideFile(MediaAccessId accessId, const Pathname &amp;filename, const ByteCount &amp;expectedFileSize) const</div><div class="ttdoc">Provide provide file denoted by relative path below of the 'attach point' of the specified media and ...</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00672">MediaManager.cc:672</a></div></div>
<div class="ttc" id="classzypp_1_1OnMediaLocation_html_a0dd7349bda609fb05a7466a05cf35102"><div class="ttname"><a href="classzypp_1_1OnMediaLocation.html#a0dd7349bda609fb05a7466a05cf35102">zypp::OnMediaLocation::optional</a></div><div class="ttdeci">const bool optional() const</div><div class="ttdoc">whether this is an optional resource.</div><div class="ttdef"><b>Definition:</b> <a href="OnMediaLocation_8h_source.html#l00100">OnMediaLocation.h:100</a></div></div>
<div class="ttc" id="namespacezypp_1_1media_html_a4ea0dee09696f60f0a852362efe41b69"><div class="ttname"><a href="namespacezypp_1_1media.html#a4ea0dee09696f60f0a852362efe41b69">zypp::media::MediaAccessId</a></div><div class="ttdeci">unsigned int MediaAccessId</div><div class="ttdoc">Media manager access Id type.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSource_8h_source.html#l00029">MediaSource.h:29</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileExistenceOperation_html_a9fb04cd3a14431da9b29ac0e3569dccb"><div class="ttname"><a href="structzypp_1_1ProvideFileExistenceOperation.html#a9fb04cd3a14431da9b29ac0e3569dccb">zypp::ProvideFileExistenceOperation::operator()</a></div><div class="ttdeci">void operator()(media::MediaAccessId media, const Pathname &amp;file)</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00150">MediaSetAccess.cc:150</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_aabd478db8908768a91f588be947df142"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142">zypp::media::MediaChangeReport::Action</a></div><div class="ttdeci">Action</div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00298">ZYppCallbacks.h:298</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_ac44d24dc20f9b89930f065750705efe3"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#ac44d24dc20f9b89930f065750705efe3">zypp::media::MediaManager::localPath</a></div><div class="ttdeci">Pathname localPath(MediaAccessId accessId, const Pathname &amp;pathname) const</div><div class="ttdoc">Shortcut for 'localRoot() + pathname', but returns an empty pathname if media is not attached.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00659">MediaManager.cc:659</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_afeeafb5f6c0eba9f160b41bac37298da"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#afeeafb5f6c0eba9f160b41bac37298da">zypp::MediaSetAccess::releaseFile</a></div><div class="ttdeci">void releaseFile(const OnMediaLocation &amp;resource)</div><div class="ttdoc">Release file from media.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00075">MediaSetAccess.cc:75</a></div></div>
<div class="ttc" id="classzypp_1_1OnMediaLocation_html_a633cd31c3688d20d2aa4672f1130d81a"><div class="ttname"><a href="classzypp_1_1OnMediaLocation.html#a633cd31c3688d20d2aa4672f1130d81a">zypp::OnMediaLocation::medianr</a></div><div class="ttdeci">unsigned medianr() const</div><div class="ttdoc">media number where the resource is located.</div><div class="ttdef"><b>Definition:</b> <a href="OnMediaLocation_8h_source.html#l00064">OnMediaLocation.h:64</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a6a2c0fede9e2cec6a52b26d615c83099"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a6a2c0fede9e2cec6a52b26d615c83099">zypp::media::MediaManager::release</a></div><div class="ttdeci">void release(MediaAccessId accessId, const std::string &amp;ejectDev=&quot;&quot;)</div><div class="ttdoc">Release the attached media and optionally eject.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00466">MediaManager.cc:466</a></div></div>
<div class="ttc" id="group__ZYPP__THROW_html_ga08d9b1a11fa29455c0419afa1d186887"><div class="ttname"><a href="group__ZYPP__THROW.html#ga08d9b1a11fa29455c0419afa1d186887">ZYPP_RETHROW</a></div><div class="ttdeci">#define ZYPP_RETHROW(EXCPT)</div><div class="ttdoc">Drops a logline and rethrows, updating the CodeLocation.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00400">Exception.h:400</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileExistenceOperation_html_a8c5147296784a3cc4ef05ed5e25a4dc4"><div class="ttname"><a href="structzypp_1_1ProvideFileExistenceOperation.html#a8c5147296784a3cc4ef05ed5e25a4dc4">zypp::ProvideFileExistenceOperation::result</a></div><div class="ttdeci">bool result</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00145">MediaSetAccess.cc:145</a></div></div>
<div class="ttc" id="classzypp_1_1str_1_1regex_html_a54f5b3dc2ef0bb7ac0dbbcc24351002ba919218aec6dfc3c39045a03bc409bf95"><div class="ttname"><a href="classzypp_1_1str_1_1regex.html#a54f5b3dc2ef0bb7ac0dbbcc24351002ba919218aec6dfc3c39045a03bc409bf95">zypp::str::regex::icase</a></div><div class="ttdoc">Do not differentiate case.</div><div class="ttdef"><b>Definition:</b> <a href="Regex_8h_source.html#l00091">Regex.h:91</a></div></div>
<div class="ttc" id="classzypp_1_1Url_html_a4b2a104d35d9f7fd4e12117f0d7da2db"><div class="ttname"><a href="classzypp_1_1Url.html#a4b2a104d35d9f7fd4e12117f0d7da2db">zypp::Url::getQueryParam</a></div><div class="ttdeci">std::string getQueryParam(const std::string &amp;param, EEncoding eflag=zypp::url::E_DECODED) const</div><div class="ttdoc">Return the value for the specified query parameter.</div><div class="ttdef"><b>Definition:</b> <a href="Url_8cc_source.html#l00654">Url.cc:654</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaNotAFileException_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaNotAFileException.html">zypp::media::MediaNotAFileException</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaException_8h_source.html#l00235">MediaException.h:235</a></div></div>
<div class="ttc" id="classzypp_1_1filesystem_1_1Pathname_html_a91a822e47df9fa6f484a7b771a0b3c94"><div class="ttname"><a href="classzypp_1_1filesystem_1_1Pathname.html#a91a822e47df9fa6f484a7b771a0b3c94">zypp::filesystem::Pathname::asString</a></div><div class="ttdeci">const std::string &amp; asString() const</div><div class="ttdoc">String representation.</div><div class="ttdef"><b>Definition:</b> <a href="Pathname_8h_source.html#l00090">Pathname.h:90</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaException_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaException.html">zypp::media::MediaException</a></div><div class="ttdoc">Just inherits Exception to separate media exceptions.</div><div class="ttdef"><b>Definition:</b> <a href="MediaException_8h_source.html#l00035">MediaException.h:35</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_ad6b580db6594766f8b457d46a519fac1"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ad6b580db6594766f8b457d46a519fac1">zypp::MediaSetAccess::dirInfo</a></div><div class="ttdeci">void dirInfo(filesystem::DirContent &amp;retlist, const Pathname &amp;dirname, bool dots=true, unsigned media_nr=1)</div><div class="ttdoc">Fills retlist with directory information.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00095">MediaSetAccess.cc:95</a></div></div>
<div class="ttc" id="classzypp_1_1Exception_html_a2fdd31e4e499f99cec41273742b16f73"><div class="ttname"><a href="classzypp_1_1Exception.html#a2fdd31e4e499f99cec41273742b16f73">zypp::Exception::asUserHistory</a></div><div class="ttdeci">std::string asUserHistory() const</div><div class="ttdoc">A single (multiline) string composed of asUserString and historyAsString.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00091">Exception.cc:91</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_a614f57cae9027f2c81c31c3ff7386e3fa2d952bc652c12d4088162a066c4a533c"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fa2d952bc652c12d4088162a066c4a533c">zypp::media::MediaChangeReport::WRONG</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00312">ZYppCallbacks.h:312</a></div></div>
<div class="ttc" id="group__ZYPP__BASE__LOGGER__MACROS_html_ga9423380a92639b296ea0a984ea7e1c6b"><div class="ttname"><a href="group__ZYPP__BASE__LOGGER__MACROS.html#ga9423380a92639b296ea0a984ea7e1c6b">WAR</a></div><div class="ttdeci">#define WAR</div><div class="ttdef"><b>Definition:</b> <a href="Logger_8h_source.html#l00080">Logger.h:80</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideDirTreeOperation_html_a558823ea2c739a631f88ce97b40519f9"><div class="ttname"><a href="structzypp_1_1ProvideDirTreeOperation.html#a558823ea2c739a631f88ce97b40519f9">zypp::ProvideDirTreeOperation::result</a></div><div class="ttdeci">Pathname result</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00123">MediaSetAccess.cc:123</a></div></div>
<div class="ttc" id="namespacezypp_1_1filesystem_html_ade46cd05af0a1fa7e5995e321cfb586b"><div class="ttname"><a href="namespacezypp_1_1filesystem.html#ade46cd05af0a1fa7e5995e321cfb586b">zypp::filesystem::DirContent</a></div><div class="ttdeci">std::list&lt; DirEntry &gt; DirContent</div><div class="ttdoc">Returned by readdir.</div><div class="ttdef"><b>Definition:</b> <a href="PathInfo_8h_source.html#l00547">PathInfo.h:547</a></div></div>
<div class="ttc" id="Regex_8h_html"><div class="ttname"><a href="Regex_8h.html">Regex.h</a></div></div>
<div class="ttc" id="namespacezypp_1_1filesystem_html_ad72717c76cd22a5a42c72a9e49e05721"><div class="ttname"><a href="namespacezypp_1_1filesystem.html#ad72717c76cd22a5a42c72a9e49e05721">zypp::filesystem::hardlinkCopy</a></div><div class="ttdeci">int hardlinkCopy(const Pathname &amp;oldpath, const Pathname &amp;newpath)</div><div class="ttdoc">Create newpath as hardlink or copy of oldpath.</div><div class="ttdef"><b>Definition:</b> <a href="PathInfo_8cc_source.html#l00836">PathInfo.cc:836</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_ad78b50580cb504bed79df7637bd570d8"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#ad78b50580cb504bed79df7637bd570d8">zypp::media::MediaManager::addVerifier</a></div><div class="ttdeci">void addVerifier(MediaAccessId accessId, const MediaVerifierRef &amp;verifier)</div><div class="ttdoc">Add verifier implementation for the specified media id.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00353">MediaManager.cc:353</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideDirTreeOperation_html_a276ce79586974faf4c8c7fd7f3735e41"><div class="ttname"><a href="structzypp_1_1ProvideDirTreeOperation.html#a276ce79586974faf4c8c7fd7f3735e41">zypp::ProvideDirTreeOperation::operator()</a></div><div class="ttdeci">void operator()(media::MediaAccessId media, const Pathname &amp;file)</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00124">MediaSetAccess.cc:124</a></div></div>
<div class="ttc" id="namespacezypp_1_1str_html_a295adb2a601af4b6fe994e8aec3518a3"><div class="ttname"><a href="namespacezypp_1_1str.html#a295adb2a601af4b6fe994e8aec3518a3">zypp::str::numstring</a></div><div class="ttdeci">std::string numstring(char n, int w=0)</div><div class="ttdef"><b>Definition:</b> <a href="String_8h_source.html#l00288">String.h:288</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a8edb17b2ab8ad2a96c1f4f55dba71e8f"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a8edb17b2ab8ad2a96c1f4f55dba71e8f">zypp::media::MediaManager::provideDir</a></div><div class="ttdeci">void provideDir(MediaAccessId accessId, const Pathname &amp;dirname) const</div><div class="ttdoc">FIXME: see MediaAccess class.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00709">MediaManager.cc:709</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a36e0b34ad20742921bc1ad9c2a2fade8"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a36e0b34ad20742921bc1ad9c2a2fade8">zypp::media::MediaManager::attach</a></div><div class="ttdeci">void attach(MediaAccessId accessId)</div><div class="ttdoc">Attach the media using the concrete handler (checks all devices).</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00396">MediaManager.cc:396</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_1MediaSetAccess_html_ab693f3d30f0ed9d9ad8b9c4919ad4b88"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#ab693f3d30f0ed9d9ad8b9c4919ad4b88">zypp::MediaSetAccess::ProvideOperation</a></div><div class="ttdeci">function&lt; void(media::MediaAccessId, const Pathname &amp;)&gt; ProvideOperation</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00342">MediaSetAccess.h:342</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileOperation_html_af7f5bb75878c4af0f4035b73b8421968"><div class="ttname"><a href="structzypp_1_1ProvideFileOperation.html#af7f5bb75878c4af0f4035b73b8421968">zypp::ProvideFileOperation::expectedFileSize</a></div><div class="ttdeci">ByteCount expectedFileSize</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00112">MediaSetAccess.cc:112</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="group__ZYPP__THROW_html_ga0a6d828c3e5802c5ca1ab6f5a86e9fc1"><div class="ttname"><a href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1">ZYPP_CAUGHT</a></div><div class="ttdeci">#define ZYPP_CAUGHT(EXCPT)</div><div class="ttdoc">Drops a logline telling the Exception was caught (in order to handle it).</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00396">Exception.h:396</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 &amp; 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="PathInfo_8h_html"><div class="ttname"><a href="PathInfo_8h.html">PathInfo.h</a></div></div>
<div class="ttc" id="namespaceMediaSetAccess_html"><div class="ttname"><a href="namespaceMediaSetAccess.html">MediaSetAccess</a></div></div>
<div class="ttc" id="classzypp_1_1str_1_1smatch_html"><div class="ttname"><a href="classzypp_1_1str_1_1smatch.html">zypp::str::smatch</a></div><div class="ttdoc">Regular expression match result.</div><div class="ttdef"><b>Definition:</b> <a href="Regex_8h_source.html#l00145">Regex.h:145</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html">zypp::media::MediaManager</a></div><div class="ttdoc">Manages access to the 'physical' media, e.g CDROM drives, Disk volumes, directory trees,...</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8h_source.html#l00473">MediaManager.h:473</a></div></div>
<div class="ttc" id="classzypp_1_1Exception_html"><div class="ttname"><a href="classzypp_1_1Exception.html">zypp::Exception</a></div><div class="ttdoc">Base class for Exception.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00145">Exception.h:145</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_aabd478db8908768a91f588be947df142a8989442c23dd2c281cb88da8df8011c8"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#aabd478db8908768a91f588be947df142a8989442c23dd2c281cb88da8df8011c8">zypp::media::MediaChangeReport::ABORT</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00299">ZYppCallbacks.h:299</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideDirOperation_html_adeb4aca0368d3363687bd7ba1c4ca105"><div class="ttname"><a href="structzypp_1_1ProvideDirOperation.html#adeb4aca0368d3363687bd7ba1c4ca105">zypp::ProvideDirOperation::operator()</a></div><div class="ttdeci">void operator()(media::MediaAccessId media, const Pathname &amp;file)</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00135">MediaSetAccess.cc:135</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_acbad802296317ffb01c2e07fe3b4e66a"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#acbad802296317ffb01c2e07fe3b4e66a">zypp::MediaSetAccess::setVerifier</a></div><div class="ttdeci">void setVerifier(unsigned media_nr, media::MediaVerifierRef verifier)</div><div class="ttdoc">Sets a MediaVerifier verifier for given media number.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00056">MediaSetAccess.cc:56</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaFileNotFoundException_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaFileNotFoundException.html">zypp::media::MediaFileNotFoundException</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaException_8h_source.html#l00145">MediaException.h:145</a></div></div>
<div class="ttc" id="MediaCurl_8cc_html_a4e0826ef1eedfec4b8c01665fedeb6d6"><div class="ttname"><a href="MediaCurl_8cc.html#a4e0826ef1eedfec4b8c01665fedeb6d6">report</a></div><div class="ttdeci">callback::SendReport&lt; DownloadProgressReport &gt; * report</div><div class="ttdef"><b>Definition:</b> <a href="MediaCurl_8cc_source.html#l00203">MediaCurl.cc:203</a></div></div>
<div class="ttc" id="classzypp_1_1Url_html_a441f130bca3c47b4be6c00433627832c"><div class="ttname"><a href="classzypp_1_1Url.html#a441f130bca3c47b4be6c00433627832c">zypp::Url::getPathName</a></div><div class="ttdeci">std::string getPathName(EEncoding eflag=zypp::url::E_DECODED) const</div><div class="ttdoc">Returns the path name from the URL.</div><div class="ttdef"><b>Definition:</b> <a href="Url_8cc_source.html#l00598">Url.cc:598</a></div></div>
<div class="ttc" id="MediaManager_8cc_html_a367c54f9332e56210b7b49616862423f"><div class="ttname"><a href="MediaManager_8cc.html#a367c54f9332e56210b7b49616862423f">verifier</a></div><div class="ttdeci">MediaVerifierRef verifier</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00107">MediaManager.cc:107</a></div></div>
<div class="ttc" id="MediaSetAccess_8h_html"><div class="ttname"><a href="MediaSetAccess_8h.html">MediaSetAccess.h</a></div></div>
<div class="ttc" id="structzypp_1_1RW__pointer_html"><div class="ttname"><a href="structzypp_1_1RW__pointer.html">zypp::RW_pointer</a></div><div class="ttdoc">Wrapper for const correct access via Smart pointer types.</div><div class="ttdef"><b>Definition:</b> <a href="PtrTypes_8h_source.html#l00285">PtrTypes.h:285</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideDirTreeOperation_html"><div class="ttname"><a href="structzypp_1_1ProvideDirTreeOperation.html">zypp::ProvideDirTreeOperation</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00121">MediaSetAccess.cc:121</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_a224f7707e0900a749c028549fedf6758"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a224f7707e0900a749c028549fedf6758">zypp::MediaSetAccess::getMediaAccessId</a></div><div class="ttdeci">media::MediaAccessId getMediaAccessId(media::MediaNr medianr)</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00403">MediaSetAccess.cc:403</a></div></div>
<div class="ttc" id="classzypp_1_1AutoDispose_html"><div class="ttname"><a href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a></div><div class="ttdoc">Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...</div><div class="ttdef"><b>Definition:</b> <a href="AutoDispose_8h_source.html#l00092">AutoDispose.h:92</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileOperation_html_aaa0276103131ee50de7af377905e0fec"><div class="ttname"><a href="structzypp_1_1ProvideFileOperation.html#aaa0276103131ee50de7af377905e0fec">zypp::ProvideFileOperation::result</a></div><div class="ttdeci">Pathname result</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00111">MediaSetAccess.cc:111</a></div></div>
<div class="ttc" id="namespacezypp_1_1str_html_a9144ba9f2723cdd7a421c7d177f69d32"><div class="ttname"><a href="namespacezypp_1_1str.html#a9144ba9f2723cdd7a421c7d177f69d32">zypp::str::regex_match</a></div><div class="ttdeci">bool regex_match(const std::string &amp;s, smatch &amp;matches, const regex &amp;regex)</div><div class="ttdoc">\relates regex \ingroup ZYPP_STR_REGEX \relates regex \ingroup ZYPP_STR_REGEX</div><div class="ttdef"><b>Definition:</b> <a href="Regex_8h_source.html#l00070">Regex.h:70</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaTemporaryProblemException_html"><div class="ttname"><a href="classzypp_1_1media_1_1MediaTemporaryProblemException.html">zypp::media::MediaTemporaryProblemException</a></div><div class="ttdoc">For HTTP 503 and similar.</div><div class="ttdef"><b>Definition:</b> <a href="MediaException_8h_source.html#l00508">MediaException.h:508</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_aa5776b7dced57d762cf3710fed7dc4fba4eba4a6462ff667bf396e6052d70b803"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#aa5776b7dced57d762cf3710fed7dc4fba4eba4a6462ff667bf396e6052d70b803">zypp::MediaSetAccess::PROVIDE_NON_INTERACTIVE</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00120">MediaSetAccess.h:120</a></div></div>
<div class="ttc" id="ZYppCallbacks_8h_html"><div class="ttname"><a href="ZYppCallbacks_8h.html">ZYppCallbacks.h</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a6b1b2d7618f264833c2a6fdc41d9fc88"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a6b1b2d7618f264833c2a6fdc41d9fc88">zypp::media::MediaManager::isAttached</a></div><div class="ttdeci">bool isAttached(MediaAccessId accessId) const</div><div class="ttdoc">Check if media is attached or not.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00558">MediaManager.cc:558</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileOperation_html_add63d0844a8ed23a46822983a09ccd42"><div class="ttname"><a href="structzypp_1_1ProvideFileOperation.html#add63d0844a8ed23a46822983a09ccd42">zypp::ProvideFileOperation::operator()</a></div><div class="ttdeci">void operator()(media::MediaAccessId media, const Pathname &amp;file)</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00113">MediaSetAccess.cc:113</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a2dd7b34d34fc374f1726611c36c3c684"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a2dd7b34d34fc374f1726611c36c3c684">zypp::media::MediaManager::releaseAll</a></div><div class="ttdeci">void releaseAll()</div><div class="ttdoc">Release all attached media.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00510">MediaManager.cc:510</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideDirOperation_html"><div class="ttname"><a href="structzypp_1_1ProvideDirOperation.html">zypp::ProvideDirOperation</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00132">MediaSetAccess.cc:132</a></div></div>
<div class="ttc" id="structzypp_1_1ProvideFileExistenceOperation_html"><div class="ttname"><a href="structzypp_1_1ProvideFileExistenceOperation.html">zypp::ProvideFileExistenceOperation</a></div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00143">MediaSetAccess.cc:143</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_adb565d784e28cf181914e1edb092d063"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#adb565d784e28cf181914e1edb092d063">zypp::media::MediaManager::getDetectedDevices</a></div><div class="ttdeci">void getDetectedDevices(MediaAccessId accessId, std::vector&lt; std::string &gt; &amp;devices, unsigned int &amp;index) const</div><div class="ttdoc">Fill in a vector of detected ejectable devices and the index of the currently attached device within ...</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00827">MediaManager.cc:827</a></div></div>
<div class="ttc" id="structzypp_1_1media_1_1MediaChangeReport_html_a614f57cae9027f2c81c31c3ff7386e3f"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3f">zypp::media::MediaChangeReport::Error</a></div><div class="ttdeci">Error</div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00307">ZYppCallbacks.h:307</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="structzypp_1_1media_1_1MediaChangeReport_html_a614f57cae9027f2c81c31c3ff7386e3fa7a1877c672e5cb6a7cb86b8556a66c83"><div class="ttname"><a href="structzypp_1_1media_1_1MediaChangeReport.html#a614f57cae9027f2c81c31c3ff7386e3fa7a1877c672e5cb6a7cb86b8556a66c83">zypp::media::MediaChangeReport::INVALID</a></div><div class="ttdef"><b>Definition:</b> <a href="ZYppCallbacks_8h_source.html#l00311">ZYppCallbacks.h:311</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="classzypp_1_1MediaSetAccess_html_a07a52991c5d8cbe4b1f40b1f69d300e6"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a07a52991c5d8cbe4b1f40b1f69d300e6">zypp::MediaSetAccess::provideFile</a></div><div class="ttdeci">Pathname provideFile(const OnMediaLocation &amp;resource, ProvideFileOptions options=PROVIDE_DEFAULT, const Pathname &amp;deltafile=Pathname())</div><div class="ttdoc">Provides a file from a media location.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00159">MediaSetAccess.cc:159</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_adb860ff70b4599803add8e5835b158a0"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#adb860ff70b4599803add8e5835b158a0">zypp::MediaSetAccess::MediaSetAccess</a></div><div class="ttdeci">MediaSetAccess(const Url &amp;url, const Pathname &amp;prefered_attach_point=&quot;&quot;)</div><div class="ttdoc">Creates a callback enabled media access for specified url.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8cc_source.html#l00032">MediaSetAccess.cc:32</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a060e17aa114b31357743da2f3a2e302f"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a060e17aa114b31357743da2f3a2e302f">zypp::media::MediaManager::open</a></div><div class="ttdeci">MediaAccessId open(const Url &amp;url, const Pathname &amp;preferred_attach_point=&quot;&quot;)</div><div class="ttdoc">Opens the media access for specified with the url.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00251">MediaManager.cc:251</a></div></div>
<div class="ttc" id="TmpPath_8h_html"><div class="ttname"><a href="TmpPath_8h.html">TmpPath.h</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_a21dea97a9fc9c494e616177c9b5e013c"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a21dea97a9fc9c494e616177c9b5e013c">zypp::MediaSetAccess::_verifiers</a></div><div class="ttdeci">VerifierMap _verifiers</div><div class="ttdoc">Mapping between media number and corespondent verifier.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00369">MediaSetAccess.h:369</a></div></div>
<div class="ttc" id="classzypp_1_1Url_html"><div class="ttname"><a href="classzypp_1_1Url.html">zypp::Url</a></div><div class="ttdoc">Url manipulation class.</div><div class="ttdef"><b>Definition:</b> <a href="Url_8h_source.html#l00087">Url.h:87</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a07d8af592d33d07fd73c569a901afcaf"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a07d8af592d33d07fd73c569a901afcaf">zypp::media::MediaManager::delVerifier</a></div><div class="ttdeci">void delVerifier(MediaAccessId accessId)</div><div class="ttdoc">Remove verifier for specified media id.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00372">MediaManager.cc:372</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a1e2b9900ac59c2f18fe66f1c79912f23"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a1e2b9900ac59c2f18fe66f1c79912f23">zypp::media::MediaManager::releaseFile</a></div><div class="ttdeci">void releaseFile(MediaAccessId accessId, const Pathname &amp;filename) const</div><div class="ttdoc">FIXME: see MediaAccess class.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00737">MediaManager.cc:737</a></div></div>
<div class="ttc" id="classzypp_1_1OnMediaLocation_html_a574b2939746c8c9b52df4c74c46263ff"><div class="ttname"><a href="classzypp_1_1OnMediaLocation.html#a574b2939746c8c9b52df4c74c46263ff">zypp::OnMediaLocation::setLocation</a></div><div class="ttdeci">OnMediaLocation &amp; setLocation(const Pathname &amp;val_r, unsigned mediaNumber_r=1)</div><div class="ttdoc">Set filename and media number (defaults to 1).</div><div class="ttdef"><b>Definition:</b> <a href="OnMediaLocation_8h_source.html#l00108">OnMediaLocation.h:108</a></div></div>
<div class="ttc" id="ReferenceCounted_8h_html_ac9f70b359e11c09eca21d9c85e5d6eea"><div class="ttname"><a href="ReferenceCounted_8h.html#ac9f70b359e11c09eca21d9c85e5d6eea">IMPL_PTR_TYPE</a></div><div class="ttdeci">#define IMPL_PTR_TYPE(NAME)</div><div class="ttdef"><b>Definition:</b> <a href="ReferenceCounted_8h_source.html#l00136">ReferenceCounted.h:136</a></div></div>
<div class="ttc" id="namespacezypp_1_1media_html_a0402e694745753add7ac77f1d4f1a36d"><div class="ttname"><a href="namespacezypp_1_1media.html#a0402e694745753add7ac77f1d4f1a36d">zypp::media::MediaNr</a></div><div class="ttdeci">unsigned int MediaNr</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8h_source.html#l00040">MediaManager.h:40</a></div></div>
<div class="ttc" id="classzypp_1_1media_1_1MediaManager_html_a569396e2c9b71a9ee850ccd4e435890d"><div class="ttname"><a href="classzypp_1_1media_1_1MediaManager.html#a569396e2c9b71a9ee850ccd4e435890d">zypp::media::MediaManager::close</a></div><div class="ttdeci">void close(MediaAccessId accessId)</div><div class="ttdoc">Close the media access with specified id.</div><div class="ttdef"><b>Definition:</b> <a href="MediaManager_8cc_source.html#l00273">MediaManager.cc:273</a></div></div>
<div class="ttc" id="group__ZYPP__BASE__LOGGER__MACROS_html_ga49606be7356624568932ec81c0d429f4"><div class="ttname"><a href="group__ZYPP__BASE__LOGGER__MACROS.html#ga49606be7356624568932ec81c0d429f4">DBG</a></div><div class="ttdeci">#define DBG</div><div class="ttdef"><b>Definition:</b> <a href="Logger_8h_source.html#l00078">Logger.h:78</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_a2d0c0dc88a6b92436e84d5b8a507e3e2"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#a2d0c0dc88a6b92436e84d5b8a507e3e2">zypp::MediaSetAccess::_label</a></div><div class="ttdeci">std::string _label</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00361">MediaSetAccess.h:361</a></div></div>
<div class="ttc" id="classzypp_1_1filesystem_1_1TmpFile_html_a95105ff24917ca4c06e0dadc0417618b"><div class="ttname"><a href="classzypp_1_1filesystem_1_1TmpFile.html#a95105ff24917ca4c06e0dadc0417618b">zypp::filesystem::TmpFile::asManagedFile</a></div><div class="ttdeci">static ManagedFile asManagedFile()</div><div class="ttdoc">Create a temporary file and convert it to a automatically cleaned up ManagedFile.</div><div class="ttdef"><b>Definition:</b> <a href="TmpPath_8cc_source.html#l00230">TmpPath.cc:230</a></div></div>
<div class="ttc" id="classzypp_1_1MediaSetAccess_html_aa5776b7dced57d762cf3710fed7dc4fba38866547307e1f34dfb2931236a12d97"><div class="ttname"><a href="classzypp_1_1MediaSetAccess.html#aa5776b7dced57d762cf3710fed7dc4fba38866547307e1f34dfb2931236a12d97">zypp::MediaSetAccess::PROVIDE_DEFAULT</a></div><div class="ttdoc">The user is not asked anything, and the error exception is just propagated.</div><div class="ttdef"><b>Definition:</b> <a href="MediaSetAccess_8h_source.html#l00119">MediaSetAccess.h:119</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="MediaSetAccess_8cc.html">MediaSetAccess.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>