<!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/parser/xml/Reader.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libzypp  <span id="projectnumber">17.9.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('Reader_8h_source.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">Reader.h</div> </div> </div><!--header--> <div class="contents"> <a href="Reader_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*---------------------------------------------------------------------\</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">| ____ _ __ __ ___ |</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">| |__ / \ / / . \ . \ |</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">| / / \ V /| _/ _/ |</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">| / /__ | | | | | | |</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">| /_____||_| |_| |_| |</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">| |</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">\---------------------------------------------------------------------*/</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef ZYPP_PARSER_XML_READER_H</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define ZYPP_PARSER_XML_READER_H</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <iosfwd></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="NonCopyable_8h.html">zypp/base/NonCopyable.h</a>"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="InputStream_8h.html">zypp/base/InputStream.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="Function_8h.html">zypp/base/Function.h</a>"</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="Node_8h.html">zypp/parser/xml/Node.h</a>"</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> { </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keyword">namespace </span><a class="code" href="namespacexml.html">xml</a></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  { </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="comment">//</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="comment">// CLASS NAME : Validate</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="comment">//</span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structzypp_1_1xml_1_1Validate.html"> 37</a></span> <span class="comment"></span> <span class="keyword">struct </span><a class="code" href="structzypp_1_1xml_1_1Validate.html">Validate</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structzypp_1_1xml_1_1Validate.html#ac24aa83f46a8ed363a5121476f59edb7"> 39</a></span>  <span class="keyword">static</span> <a class="code" href="structzypp_1_1xml_1_1Validate.html">Validate</a> <a class="code" href="structzypp_1_1xml_1_1Validate.html#ac24aa83f46a8ed363a5121476f59edb7">none</a>()</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1xml_1_1Validate.html">Validate</a>(); }</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  };</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="comment">//</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// CLASS NAME : Reader</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="comment">//</span></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html"> 95</a></span> <span class="comment"></span> <span class="keyword">class </span><a class="code" href="classzypp_1_1xml_1_1Reader.html">Reader</a> : <span class="keyword">private</span> <a class="code" href="namespacezypp_1_1base.html#a3a6dcdb2e24ab74d95eb8a117f429af1">zypp::base::NonCopyable</a></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="classzypp_1_1xml_1_1Reader.html#a6cbd463fde6ccd2243a52e70438216b0">Reader</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1InputStream.html">InputStream</a> & stream_r,</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">const</span> <a class="code" href="structzypp_1_1xml_1_1Validate.html">Validate</a> & validate_r = <a class="code" href="structzypp_1_1xml_1_1Validate.html#ac24aa83f46a8ed363a5121476f59edb7">Validate::none</a>() );</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="classzypp_1_1xml_1_1Reader.html#a6914732bad7e9383a999e3e8c847b28b">~Reader</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classzypp_1_1xml_1_1XmlString.html">XmlString</a> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a26d6654e7ae49c73268cafbaaee32691">nodeText</a>();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a84de42121cfaec59ecf7422ca5ea2ddf">nextNode</a>();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a30eceb49474d2252754409cac8f92b11">nextNodeAttribute</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#afc77b15acf2bee401993cad8446479eb"> 124</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#afc77b15acf2bee401993cad8446479eb">nextNodeOrAttribute</a>()</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  { <span class="keywordflow">return</span>( <a class="code" href="classzypp_1_1xml_1_1Reader.html#a30eceb49474d2252754409cac8f92b11">nextNodeAttribute</a>() || <a class="code" href="classzypp_1_1xml_1_1Reader.html#a84de42121cfaec59ecf7422ca5ea2ddf">nextNode</a>() ); }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#aa38c1b20b15d0ec90f415e6e54a65efa"> 128</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#aa38c1b20b15d0ec90f415e6e54a65efa">atEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span>( <a class="code" href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f">_node</a>.<a class="code" href="classzypp_1_1xml_1_1Node.html#a8aa662db00d01f0cbb95bbdc42206185">readState</a>() == XML_TEXTREADER_MODE_CLOSED ); }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#a9c7ef5ea855da4a20266eeea102636bc"> 132</a></span>  <span class="keyword">const</span> <a class="code" href="classzypp_1_1xml_1_1Node.html">Node</a> & <a class="code" href="classzypp_1_1xml_1_1Reader.html#a9c7ef5ea855da4a20266eeea102636bc">operator*</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f">_node</a>; }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#a0572281c8d59bbd51b2e4b8a03c75f05"> 136</a></span>  <span class="keyword">const</span> <a class="code" href="classzypp_1_1xml_1_1Node.html">Node</a> * <a class="code" href="classzypp_1_1xml_1_1Reader.html#a0572281c8d59bbd51b2e4b8a03c75f05">operator-></a>()<span class="keyword"> const</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> &<a class="code" href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f">_node</a>; }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#ad56ae0bd54eeb682e05e05e01add44c4"> 141</a></span>  <span class="keyword">typedef</span> <span class="keyword">function</span><<a class="code" href="classbool.html">bool</a>( <a class="code" href="classzypp_1_1xml_1_1Reader.html">Reader</a> & )> <a class="code" href="classzypp_1_1xml_1_1Reader.html#ad56ae0bd54eeb682e05e05e01add44c4">ProcessNode</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#afa9eb49174dd0775a81e80c3e08ceac8"> 144</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#afa9eb49174dd0775a81e80c3e08ceac8">foreachNode</a>( <a class="code" href="classzypp_1_1xml_1_1Reader.html#ad56ae0bd54eeb682e05e05e01add44c4">ProcessNode</a> fnc_r )</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">if</span> ( <a class="code" href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f">_node</a>.<a class="code" href="classzypp_1_1xml_1_1Node.html#a61145dce39bc903b8502e4cc848138cc">isAttribute</a>() )</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="classzypp_1_1xml_1_1Reader.html#a84de42121cfaec59ecf7422ca5ea2ddf">nextNode</a>();</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">for</span> ( ; ! <a class="code" href="classzypp_1_1xml_1_1Reader.html#aa38c1b20b15d0ec90f415e6e54a65efa">atEnd</a>(); <a class="code" href="classzypp_1_1xml_1_1Reader.html#a84de42121cfaec59ecf7422ca5ea2ddf">nextNode</a>() )</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">if</span> ( ! fnc_r( *<span class="keyword">this</span> ) )</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#a00285645037855c3412dc9a63a3b7549"> 157</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a00285645037855c3412dc9a63a3b7549">foreachNodeAttribute</a>( <a class="code" href="classzypp_1_1xml_1_1Reader.html#ad56ae0bd54eeb682e05e05e01add44c4">ProcessNode</a> fnc_r )</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  {</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">if</span> ( <a class="code" href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f">_node</a>.<a class="code" href="classzypp_1_1xml_1_1Node.html#a61145dce39bc903b8502e4cc848138cc">isAttribute</a>() && ! fnc_r( *<span class="keyword">this</span> ) )</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">while</span>( <a class="code" href="classzypp_1_1xml_1_1Reader.html#a30eceb49474d2252754409cac8f92b11">nextNodeAttribute</a>() )</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span> ( ! fnc_r( *<span class="keyword">this</span> ) )</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#a76af5d297c692f43d203b8c235a716f3"> 170</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a76af5d297c692f43d203b8c235a716f3">foreachNodeOrAttribute</a>( <a class="code" href="classzypp_1_1xml_1_1Reader.html#ad56ae0bd54eeb682e05e05e01add44c4">ProcessNode</a> fnc_r )</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">for</span> ( ; ! <a class="code" href="classzypp_1_1xml_1_1Reader.html#aa38c1b20b15d0ec90f415e6e54a65efa">atEnd</a>(); <a class="code" href="classzypp_1_1xml_1_1Reader.html#afc77b15acf2bee401993cad8446479eb">nextNodeOrAttribute</a>() )</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">if</span> ( ! fnc_r( *<span class="keyword">this</span> ) )</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  }</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a7ce03fe7ce916b8e07e15e147736bdb3">seekToNode</a>( <span class="keywordtype">int</span> depth_r, <span class="keyword">const</span> std::string & name_r );</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a0e81375ae20af8925c06e53adae0981f">seekToEndNode</a>( <span class="keywordtype">int</span> depth_r, <span class="keyword">const</span> std::string & name_r );</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a4a7adc2ba244a0f3c82f15496a3aef6c">close</a>();</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#a4feb82d31f75c516fffa441d2829ed2a"> 191</a></span>  <a class="code" href="classzypp_1_1InputStream.html">InputStream</a> <a class="code" href="classzypp_1_1xml_1_1Reader.html#a4feb82d31f75c516fffa441d2829ed2a">_stream</a>;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#a521945abe544d7ebe540e36076bd8051"> 192</a></span>  xmlTextReaderPtr <a class="code" href="classzypp_1_1xml_1_1Reader.html#a521945abe544d7ebe540e36076bd8051">_reader</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f"> 193</a></span>  <a class="code" href="classzypp_1_1xml_1_1Node.html">Node</a> <a class="code" href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f">_node</a>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  };</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  } <span class="comment">// namespace xml</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"></span>} <span class="comment">// namespace zypp</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"></span><span class="preprocessor">#endif // ZYPP_PARSER_XML_READER_H</span></div><div class="ttc" id="classzypp_1_1xml_1_1Reader_html_ac0bf82eb5f7096e7e8bb3f7cb019202f"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#ac0bf82eb5f7096e7e8bb3f7cb019202f">zypp::xml::Reader::_node</a></div><div class="ttdeci">Node _node</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00193">Reader.h:193</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a6cbd463fde6ccd2243a52e70438216b0"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a6cbd463fde6ccd2243a52e70438216b0">zypp::xml::Reader::Reader</a></div><div class="ttdeci">Reader(const InputStream &stream_r, const Validate &validate_r=Validate::none())</div><div class="ttdoc">Ctor.</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00106">Reader.cc:106</a></div></div> <div class="ttc" id="NonCopyable_8h_html"><div class="ttname"><a href="NonCopyable_8h.html">NonCopyable.h</a></div></div> <div class="ttc" id="Node_8h_html"><div class="ttname"><a href="Node_8h.html">Node.h</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1XmlString_html"><div class="ttname"><a href="classzypp_1_1xml_1_1XmlString.html">zypp::xml::XmlString</a></div><div class="ttdoc">xmlChar * wrapper.</div><div class="ttdef"><b>Definition:</b> <a href="XmlString_8h_source.html#l00040">XmlString.h:40</a></div></div> <div class="ttc" id="classzypp_1_1InputStream_html"><div class="ttname"><a href="classzypp_1_1InputStream.html">zypp::InputStream</a></div><div class="ttdoc">Helper to create and pass std::istream.</div><div class="ttdef"><b>Definition:</b> <a href="InputStream_8h_source.html#l00056">InputStream.h:56</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a84de42121cfaec59ecf7422ca5ea2ddf"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a84de42121cfaec59ecf7422ca5ea2ddf">zypp::xml::Reader::nextNode</a></div><div class="ttdeci">bool nextNode()</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00160">Reader.cc:160</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a7ce03fe7ce916b8e07e15e147736bdb3"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a7ce03fe7ce916b8e07e15e147736bdb3">zypp::xml::Reader::seekToNode</a></div><div class="ttdeci">bool seekToNode(int depth_r, const std::string &name_r)</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00212">Reader.cc:212</a></div></div> <div class="ttc" id="structzypp_1_1xml_1_1Validate_html_ac24aa83f46a8ed363a5121476f59edb7"><div class="ttname"><a href="structzypp_1_1xml_1_1Validate.html#ac24aa83f46a8ed363a5121476f59edb7">zypp::xml::Validate::none</a></div><div class="ttdeci">static Validate none()</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00039">Reader.h:39</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a521945abe544d7ebe540e36076bd8051"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a521945abe544d7ebe540e36076bd8051">zypp::xml::Reader::_reader</a></div><div class="ttdeci">xmlTextReaderPtr _reader</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00192">Reader.h:192</a></div></div> <div class="ttc" id="namespacezypp_1_1base_html_a3a6dcdb2e24ab74d95eb8a117f429af1"><div class="ttname"><a href="namespacezypp_1_1base.html#a3a6dcdb2e24ab74d95eb8a117f429af1">zypp::base::NonCopyable</a></div><div class="ttdeci">boost::noncopyable NonCopyable</div><div class="ttdoc">Ensure derived classes cannot be copied.</div><div class="ttdef"><b>Definition:</b> <a href="NonCopyable_8h_source.html#l00026">NonCopyable.h:26</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Node_html"><div class="ttname"><a href="classzypp_1_1xml_1_1Node.html">zypp::xml::Node</a></div><div class="ttdoc">xmlTextReader based interface to Reader's current node.</div><div class="ttdef"><b>Definition:</b> <a href="Node_8h_source.html#l00035">Node.h:35</a></div></div> <div class="ttc" id="namespacexml_html"><div class="ttname"><a href="namespacexml.html">xml</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a9c7ef5ea855da4a20266eeea102636bc"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a9c7ef5ea855da4a20266eeea102636bc">zypp::xml::Reader::operator*</a></div><div class="ttdeci">const Node & operator*() const</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00132">Reader.h:132</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_ad56ae0bd54eeb682e05e05e01add44c4"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#ad56ae0bd54eeb682e05e05e01add44c4">zypp::xml::Reader::ProcessNode</a></div><div class="ttdeci">function< bool(Reader &)> ProcessNode</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00141">Reader.h:141</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Node_html_a61145dce39bc903b8502e4cc848138cc"><div class="ttname"><a href="classzypp_1_1xml_1_1Node.html#a61145dce39bc903b8502e4cc848138cc">zypp::xml::Node::isAttribute</a></div><div class="ttdeci">bool isAttribute() const</div><div class="ttdoc">Whether this is an Attribute node.</div><div class="ttdef"><b>Definition:</b> <a href="Node_8h_source.html#l00092">Node.h:92</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a76af5d297c692f43d203b8c235a716f3"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a76af5d297c692f43d203b8c235a716f3">zypp::xml::Reader::foreachNodeOrAttribute</a></div><div class="ttdeci">bool foreachNodeOrAttribute(ProcessNode fnc_r)</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00170">Reader.h:170</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a4a7adc2ba244a0f3c82f15496a3aef6c"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a4a7adc2ba244a0f3c82f15496a3aef6c">zypp::xml::Reader::close</a></div><div class="ttdeci">void close()</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00199">Reader.cc:199</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a0572281c8d59bbd51b2e4b8a03c75f05"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a0572281c8d59bbd51b2e4b8a03c75f05">zypp::xml::Reader::operator-></a></div><div class="ttdeci">const Node * operator->() const</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00136">Reader.h:136</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a0e81375ae20af8925c06e53adae0981f"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a0e81375ae20af8925c06e53adae0981f">zypp::xml::Reader::seekToEndNode</a></div><div class="ttdeci">bool seekToEndNode(int depth_r, const std::string &name_r)</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00232">Reader.cc:232</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a4feb82d31f75c516fffa441d2829ed2a"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a4feb82d31f75c516fffa441d2829ed2a">zypp::xml::Reader::_stream</a></div><div class="ttdeci">InputStream _stream</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00191">Reader.h:191</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_afc77b15acf2bee401993cad8446479eb"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#afc77b15acf2bee401993cad8446479eb">zypp::xml::Reader::nextNodeOrAttribute</a></div><div class="ttdeci">bool nextNodeOrAttribute()</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00124">Reader.h:124</a></div></div> <div class="ttc" id="structzypp_1_1xml_1_1Validate_html"><div class="ttname"><a href="structzypp_1_1xml_1_1Validate.html">zypp::xml::Validate</a></div><div class="ttdoc">xmlTextReader document validation.</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00037">Reader.h:37</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_aa38c1b20b15d0ec90f415e6e54a65efa"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#aa38c1b20b15d0ec90f415e6e54a65efa">zypp::xml::Reader::atEnd</a></div><div class="ttdeci">bool atEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00128">Reader.h:128</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a00285645037855c3412dc9a63a3b7549"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a00285645037855c3412dc9a63a3b7549">zypp::xml::Reader::foreachNodeAttribute</a></div><div class="ttdeci">bool foreachNodeAttribute(ProcessNode fnc_r)</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00157">Reader.h:157</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a30eceb49474d2252754409cac8f92b11"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a30eceb49474d2252754409cac8f92b11">zypp::xml::Reader::nextNodeAttribute</a></div><div class="ttdeci">bool nextNodeAttribute()</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00180">Reader.cc:180</a></div></div> <div class="ttc" id="Function_8h_html"><div class="ttname"><a href="Function_8h.html">Function.h</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a26d6654e7ae49c73268cafbaaee32691"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a26d6654e7ae49c73268cafbaaee32691">zypp::xml::Reader::nodeText</a></div><div class="ttdeci">XmlString nodeText()</div><div class="ttdoc">If the current node is not empty, advances the reader to the next node, and returns the value.</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00140">Reader.cc:140</a></div></div> <div class="ttc" id="classbool_html"><div class="ttname"><a href="classbool.html">bool</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_afa9eb49174dd0775a81e80c3e08ceac8"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#afa9eb49174dd0775a81e80c3e08ceac8">zypp::xml::Reader::foreachNode</a></div><div class="ttdeci">bool foreachNode(ProcessNode fnc_r)</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00144">Reader.h:144</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html_a6914732bad7e9383a999e3e8c847b28b"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html#a6914732bad7e9383a999e3e8c847b28b">zypp::xml::Reader::~Reader</a></div><div class="ttdeci">~Reader()</div><div class="ttdoc">Dtor.</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8cc_source.html#l00131">Reader.cc:131</a></div></div> <div class="ttc" id="InputStream_8h_html"><div class="ttname"><a href="InputStream_8h.html">InputStream.h</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_1xml_1_1Node_html_a8aa662db00d01f0cbb95bbdc42206185"><div class="ttname"><a href="classzypp_1_1xml_1_1Node.html#a8aa662db00d01f0cbb95bbdc42206185">zypp::xml::Node::readState</a></div><div class="ttdeci">ReadState readState() const</div><div class="ttdoc">Gets the read state of the reader.</div><div class="ttdef"><b>Definition:</b> <a href="Node_8h_source.html#l00139">Node.h:139</a></div></div> <div class="ttc" id="classzypp_1_1xml_1_1Reader_html"><div class="ttname"><a href="classzypp_1_1xml_1_1Reader.html">zypp::xml::Reader</a></div><div class="ttdoc">xmlTextReader based interface to iterate xml streams.</div><div class="ttdef"><b>Definition:</b> <a href="Reader_8h_source.html#l00095">Reader.h:95</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_c187b43c6f283d9fc95eff3f44ce072a.html">zypp</a></li><li class="navelem"><a class="el" href="dir_0c50c097c08cb551fbc386ff78d6683e.html">parser</a></li><li class="navelem"><a class="el" href="dir_fc49ab4d2f4abe8832fbad9e7c37cc2a.html">xml</a></li><li class="navelem"><a class="el" href="Reader_8h.html">Reader.h</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>