<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>MWAWInputStream.hxx Source File documentation</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </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"> $(document).ready(function(){initNavTree('MWAWInputStream_8hxx_source.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">MWAWInputStream.hxx</div> </div> </div><!--header--> <div class="contents"> <a href="MWAWInputStream_8hxx.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">/* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">/* libmwaw</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">* Version: MPL 2.0 / LGPLv2+</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">* The contents of this file are subject to the Mozilla Public License Version</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">* 2.0 (the "License"); you may not use this file except in compliance with</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">* the License or as specified alternatively below. You may obtain a copy of</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">* the License at http://www.mozilla.org/MPL/</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">*</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* Software distributed under the License is distributed on an "AS IS" basis,</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* for the specific language governing rights and limitations under the</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* License.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">*</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">* Major Contributor(s):</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">* Copyright (C) 2002 William Lachance (wrlach@gmail.com)</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">* Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">* Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">* Copyright (C) 2006, 2007 Andrew Ziem</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">* Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">*</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">* All Rights Reserved.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">*</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">* For minor contributions see the git repository.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">*</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">* Alternatively, the contents of this file may be used under the terms of</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">* the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">* in which case the provisions of the LGPLv2+ are applicable</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">* instead of those above.</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">*/</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifndef MWAW_INPUT_STREAM_H</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#define MWAW_INPUT_STREAM_H</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <vector></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <librevenge/librevenge.h></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <librevenge-stream/librevenge-stream.h></span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="libmwaw__internal_8hxx.html">libmwaw_internal.hxx</a>"</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html"> 53</a></span> <span class="keyword">class </span><a class="code" href="classMWAWInputStream.html">MWAWInputStream</a></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classMWAWInputStream.html#ad4a908d63b227e6bd93859713e2f64ef">MWAWInputStream</a>(std::shared_ptr<librevenge::RVNGInputStream> <a class="code" href="classMWAWInputStream.html#a27914410eb695c9bd5f7bfe59f3a5595">input</a>, <span class="keywordtype">bool</span> inverted);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="classMWAWInputStream.html#ad4a908d63b227e6bd93859713e2f64ef">MWAWInputStream</a>(librevenge::RVNGInputStream *input, <span class="keywordtype">bool</span> inverted, <span class="keywordtype">bool</span> checkCompression=<span class="keyword">false</span>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="classMWAWInputStream.html#a7ca0dd4a8851bd16349cba465b04e80d">~MWAWInputStream</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a27914410eb695c9bd5f7bfe59f3a5595"> 71</a></span>  std::shared_ptr<librevenge::RVNGInputStream> <a class="code" href="classMWAWInputStream.html#a27914410eb695c9bd5f7bfe59f3a5595">input</a>()</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> <a class="code" href="classMWAWInputStream.html#a13aada972b0a53109875988f88a27315">m_stream</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">static</span> std::shared_ptr<MWAWInputStream> <span class="keyword">get</span>(librevenge::RVNGBinaryData <span class="keyword">const</span> &data, <span class="keywordtype">bool</span> inverted);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#af5b45a6765b648211d1591633b11e639"> 79</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#af5b45a6765b648211d1591633b11e639">readInverted</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <a class="code" href="classMWAWInputStream.html#aaf91ac3406ab6befdcb80ed4b3579c42">m_inverseRead</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#aa949d4f014a6aace2e681fff44ae1443"> 84</a></span>  <span class="keywordtype">void</span> <a class="code" href="classMWAWInputStream.html#aa949d4f014a6aace2e681fff44ae1443">setReadInverted</a>(<span class="keywordtype">bool</span> newVal)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="classMWAWInputStream.html#aaf91ac3406ab6befdcb80ed4b3579c42">m_inverseRead</a> = newVal;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">//</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="comment">// Position: access</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">//</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordtype">int</span> <a class="code" href="classMWAWInputStream.html#a2b5f73c47d702b7c0c7e064779cb826e">seek</a>(<span class="keywordtype">long</span> offset, librevenge::RVNG_SEEK_TYPE seekType);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#aa97b57c705a49e7464763dd1c004601f">tell</a>();</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a6f88186425a0328c0043587a0c95e98f"> 100</a></span>  <span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#a6f88186425a0328c0043587a0c95e98f">size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">return</span> <a class="code" href="classMWAWInputStream.html#a85120974097adeb52e31e64a6702d385">m_streamSize</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a403edd220f62ba6dbe1fd9f2decdc591"> 105</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a403edd220f62ba6dbe1fd9f2decdc591">checkPosition</a>(<span class="keywordtype">long</span> pos)<span class="keyword"> const</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">if</span> (pos < 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (<a class="code" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">m_readLimit</a> > 0 && pos > <a class="code" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">m_readLimit</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">return</span> pos<=<a class="code" href="classMWAWInputStream.html#a85120974097adeb52e31e64a6702d385">m_streamSize</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a9cb600071f5f7d610d2690cd96ed6b9a">isEnd</a>();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a8cd2832a29847a35c68cc52bb994f5c0"> 117</a></span>  <span class="keywordtype">void</span> <a class="code" href="classMWAWInputStream.html#a8cd2832a29847a35c68cc52bb994f5c0">pushLimit</a>(<span class="keywordtype">long</span> newLimit)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="classMWAWInputStream.html#a6c6d45cba1aa4fbaa6c31a18448fe1db">m_prevLimits</a>.push_back(<a class="code" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">m_readLimit</a>);</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">m_readLimit</a> = newLimit > <a class="code" href="classMWAWInputStream.html#a85120974097adeb52e31e64a6702d385">m_streamSize</a> ? <a class="code" href="classMWAWInputStream.html#a85120974097adeb52e31e64a6702d385">m_streamSize</a> : newLimit;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a719b084b01e4600f334a1234d7bcc708"> 123</a></span>  <span class="keywordtype">void</span> <a class="code" href="classMWAWInputStream.html#a719b084b01e4600f334a1234d7bcc708">popLimit</a>()</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (!<a class="code" href="classMWAWInputStream.html#a6c6d45cba1aa4fbaa6c31a18448fe1db">m_prevLimits</a>.empty()) {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">m_readLimit</a> = <a class="code" href="classMWAWInputStream.html#a6c6d45cba1aa4fbaa6c31a18448fe1db">m_prevLimits</a>.back();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="classMWAWInputStream.html#a6c6d45cba1aa4fbaa6c31a18448fe1db">m_prevLimits</a>.pop_back();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">else</span> <a class="code" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">m_readLimit</a> = -1;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="comment">//</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="comment">// get data</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="comment">//</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#afbaa4577010ac782856fbdcca58acd9c"> 137</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#afbaa4577010ac782856fbdcca58acd9c">readULong</a>(<span class="keywordtype">int</span> num)</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="keywordflow">return</span> <a class="code" href="classMWAWInputStream.html#afbaa4577010ac782856fbdcca58acd9c">readULong</a>(<a class="code" href="classMWAWInputStream.html#a13aada972b0a53109875988f88a27315">m_stream</a>.get(), num, 0, <a class="code" href="classMWAWInputStream.html#aaf91ac3406ab6befdcb80ed4b3579c42">m_inverseRead</a>);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#a9fd1e91368c29d44b06e936b264c42f7">readLong</a>(<span class="keywordtype">int</span> num);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a96b4f3ce0fd6deb87fab03403dd51485">readDouble8</a>(<span class="keywordtype">double</span> &res, <span class="keywordtype">bool</span> &isNotANumber);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a3f17cd2e3622f97165f79f4f02085643">readDoubleReverted8</a>(<span class="keywordtype">double</span> &res, <span class="keywordtype">bool</span> &isNotANumber);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a5b957b60894fceaa04080671dfeb88d6">readDouble10</a>(<span class="keywordtype">double</span> &res, <span class="keywordtype">bool</span> &isNotANumber);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">const</span> uint8_t *<a class="code" href="classMWAWInputStream.html#ab9052d311632be884b82c6765a15fd9b">read</a>(<span class="keywordtype">size_t</span> numBytes, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> &numBytesRead);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#afbaa4577010ac782856fbdcca58acd9c">readULong</a>(librevenge::RVNGInputStream *stream, <span class="keywordtype">int</span> num, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> a, <span class="keywordtype">bool</span> inverseRead);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#aed22556db7c9296cf1309ce20f07eb62">readDataBlock</a>(<span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#a6f88186425a0328c0043587a0c95e98f">size</a>, librevenge::RVNGBinaryData &data);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a4932a80bbd381fa3c26ef74b633f3b64">readEndDataBlock</a>(librevenge::RVNGBinaryData &data);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="comment">//</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="comment">// OLE/Zip access</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="comment">//</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a1a2389089b957c2c401053f287085774">isStructured</a>();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">unsigned</span> <a class="code" href="classMWAWInputStream.html#aaa0f9a77d75fd033b2020985b3079aa0">subStreamCount</a>();</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  std::string <a class="code" href="classMWAWInputStream.html#ab714482c6ea31c91a698e135124dfdf4">subStreamName</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  std::shared_ptr<MWAWInputStream> <a class="code" href="classMWAWInputStream.html#a1a96e7dbfe664df6c154d8d1adbda1ad">getSubStreamByName</a>(std::string <span class="keyword">const</span> &name);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  std::shared_ptr<MWAWInputStream> <a class="code" href="classMWAWInputStream.html#ad511aa2dc5acbe49acf658b6e327f0eb">getSubStreamById</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">id</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="comment">//</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="comment">// Finder Info access</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="comment">//</span></div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#ab0f05a565a5689240635acc7945718b4"> 184</a></span> <span class="comment"></span> <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#ab0f05a565a5689240635acc7945718b4">getFinderInfo</a>(std::string &type, std::string &creator)<span class="keyword"> const</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (!<a class="code" href="classMWAWInputStream.html#a8772b229db09e1dc755e74e6c74e81fb">m_fInfoType</a>.length() || !<a class="code" href="classMWAWInputStream.html#a0d88a19f844e8bc503735d7d59174244">m_fInfoCreator</a>.length()) {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  type = creator = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>  type = <a class="code" href="classMWAWInputStream.html#a8772b229db09e1dc755e74e6c74e81fb">m_fInfoType</a>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  creator = <a class="code" href="classMWAWInputStream.html#a0d88a19f844e8bc503735d7d59174244">m_fInfoCreator</a>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  }</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">//</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="comment">// Resource Fork access</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="comment">//</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a64f6379130211097a77c1a1dd32841dd"> 200</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a64f6379130211097a77c1a1dd32841dd">hasDataFork</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> bool(<a class="code" href="classMWAWInputStream.html#a13aada972b0a53109875988f88a27315">m_stream</a>);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#ada8354c14a096ad18c20a5449e82a212"> 205</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#ada8354c14a096ad18c20a5449e82a212">hasResourceFork</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> bool(<a class="code" href="classMWAWInputStream.html#a6927e704ae2a97aa147e7fa21b909088">m_resourceFork</a>);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#ab75e4c8a04e2e3ddbabc04a3b5bd448f"> 210</a></span>  std::shared_ptr<MWAWInputStream> <a class="code" href="classMWAWInputStream.html#ab75e4c8a04e2e3ddbabc04a3b5bd448f">getResourceForkStream</a>()</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">return</span> <a class="code" href="classMWAWInputStream.html#a6927e704ae2a97aa147e7fa21b909088">m_resourceFork</a>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordtype">void</span> <a class="code" href="classMWAWInputStream.html#a8107f1c44c678ec005225cb20fe616c2">updateStreamSize</a>();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keyword">static</span> uint8_t <a class="code" href="classMWAWInputStream.html#ae33ce1900afa442b8aa588eb934f7b90">readU8</a>(librevenge::RVNGInputStream *stream);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a513b6ec27aa26f7398797a3a948f0ff6">unBinHex</a>();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a5045d77bfc99b62522bcb605716f8f9b">unzipStream</a>();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#af6073406664138143894849aebf1e9e5">unMacMIME</a>();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#af6073406664138143894849aebf1e9e5">unMacMIME</a>(<a class="code" href="classMWAWInputStream.html">MWAWInputStream</a> *input,</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  std::shared_ptr<librevenge::RVNGInputStream> &dataInput,</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  std::shared_ptr<librevenge::RVNGInputStream> &rsrcInput) <span class="keyword">const</span>;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#a009cf3558e07ca35000f870fa8b6e58e">unsplitInternalMergeStream</a>();</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="classMWAWInputStream.html#ad4a908d63b227e6bd93859713e2f64ef">MWAWInputStream</a>(<a class="code" href="classMWAWInputStream.html">MWAWInputStream</a> <span class="keyword">const</span> &orig) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="classMWAWInputStream.html">MWAWInputStream</a> &<a class="code" href="classMWAWInputStream.html#a2b75ead2782cdded187d14193c1cbe7d">operator=</a>(<a class="code" href="classMWAWInputStream.html">MWAWInputStream</a> <span class="keyword">const</span> &orig) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a13aada972b0a53109875988f88a27315"> 241</a></span>  std::shared_ptr<librevenge::RVNGInputStream> <a class="code" href="classMWAWInputStream.html#a13aada972b0a53109875988f88a27315">m_stream</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a85120974097adeb52e31e64a6702d385"> 243</a></span>  <span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#a85120974097adeb52e31e64a6702d385">m_streamSize</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8"> 246</a></span>  <span class="keywordtype">long</span> <a class="code" href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">m_readLimit</a>;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a6c6d45cba1aa4fbaa6c31a18448fe1db"> 248</a></span>  std::vector<long> <a class="code" href="classMWAWInputStream.html#a6c6d45cba1aa4fbaa6c31a18448fe1db">m_prevLimits</a>;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a8772b229db09e1dc755e74e6c74e81fb"> 251</a></span>  <span class="keyword">mutable</span> std::string <a class="code" href="classMWAWInputStream.html#a8772b229db09e1dc755e74e6c74e81fb">m_fInfoType</a>;</div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a0d88a19f844e8bc503735d7d59174244"> 253</a></span>  <span class="keyword">mutable</span> std::string <a class="code" href="classMWAWInputStream.html#a0d88a19f844e8bc503735d7d59174244">m_fInfoCreator</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#a6927e704ae2a97aa147e7fa21b909088"> 255</a></span>  std::shared_ptr<MWAWInputStream> <a class="code" href="classMWAWInputStream.html#a6927e704ae2a97aa147e7fa21b909088">m_resourceFork</a>;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classMWAWInputStream.html#aaf91ac3406ab6befdcb80ed4b3579c42"> 257</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classMWAWInputStream.html#aaf91ac3406ab6befdcb80ed4b3579c42">m_inverseRead</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> };</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="comment">// vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:</span></div><div class="ttc" id="classMWAWInputStream_html_ad4a908d63b227e6bd93859713e2f64ef"><div class="ttname"><a href="classMWAWInputStream.html#ad4a908d63b227e6bd93859713e2f64ef">MWAWInputStream::MWAWInputStream</a></div><div class="ttdeci">MWAWInputStream(std::shared_ptr< librevenge::RVNGInputStream > input, bool inverted)</div><div class="ttdoc">creates a stream with given endian </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:48</div></div> <div class="ttc" id="classMWAWInputStream_html_af6073406664138143894849aebf1e9e5"><div class="ttname"><a href="classMWAWInputStream.html#af6073406664138143894849aebf1e9e5">MWAWInputStream::unMacMIME</a></div><div class="ttdeci">bool unMacMIME()</div><div class="ttdoc">check if some stream are in MacMIME format, if so de MacMIME </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:680</div></div> <div class="ttc" id="classMWAWInputStream_html_aa97b57c705a49e7464763dd1c004601f"><div class="ttname"><a href="classMWAWInputStream.html#aa97b57c705a49e7464763dd1c004601f">MWAWInputStream::tell</a></div><div class="ttdeci">long tell()</div><div class="ttdoc">returns actual offset position </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:141</div></div> <div class="ttc" id="classMWAWInputStream_html_ab714482c6ea31c91a698e135124dfdf4"><div class="ttname"><a href="classMWAWInputStream.html#ab714482c6ea31c91a698e135124dfdf4">MWAWInputStream::subStreamName</a></div><div class="ttdeci">std::string subStreamName(unsigned id)</div><div class="ttdoc">returns the name of the i^th substream </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:850</div></div> <div class="ttc" id="classMWAWInputStream_html_a3f17cd2e3622f97165f79f4f02085643"><div class="ttname"><a href="classMWAWInputStream.html#a3f17cd2e3622f97165f79f4f02085643">MWAWInputStream::readDoubleReverted8</a></div><div class="ttdeci">bool readDoubleReverted8(double &res, bool &isNotANumber)</div><div class="ttdoc">try to read a double of size 8: 6.5 bytes mantisse, 1.5 bytes exponent </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:334</div></div> <div class="ttc" id="classMWAWInputStream_html_a5b957b60894fceaa04080671dfeb88d6"><div class="ttname"><a href="classMWAWInputStream.html#a5b957b60894fceaa04080671dfeb88d6">MWAWInputStream::readDouble10</a></div><div class="ttdeci">bool readDouble10(double &res, bool &isNotANumber)</div><div class="ttdoc">try to read a double of size 10: 2 bytes exponent, 8 bytes mantisse </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:293</div></div> <div class="ttc" id="classMWAWInputStream_html_a2b5f73c47d702b7c0c7e064779cb826e"><div class="ttname"><a href="classMWAWInputStream.html#a2b5f73c47d702b7c0c7e064779cb826e">MWAWInputStream::seek</a></div><div class="ttdeci">int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType)</div><div class="ttdoc">seeks to a offset position, from actual, beginning or ending position </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:148</div></div> <div class="ttc" id="libmwaw__internal_8hxx_html"><div class="ttname"><a href="libmwaw__internal_8hxx.html">libmwaw_internal.hxx</a></div></div> <div class="ttc" id="classMWAWInputStream_html_a719b084b01e4600f334a1234d7bcc708"><div class="ttname"><a href="classMWAWInputStream.html#a719b084b01e4600f334a1234d7bcc708">MWAWInputStream::popLimit</a></div><div class="ttdeci">void popLimit()</div><div class="ttdoc">pops a section defined by pushLimit </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:123</div></div> <div class="ttc" id="classMWAWInputStream_html_a513b6ec27aa26f7398797a3a948f0ff6"><div class="ttname"><a href="classMWAWInputStream.html#a513b6ec27aa26f7398797a3a948f0ff6">MWAWInputStream::unBinHex</a></div><div class="ttdeci">bool unBinHex()</div><div class="ttdoc">unbinhex the data in the file is a BinHex 4.0 file of a mac file </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:384</div></div> <div class="ttc" id="classMWAWInputStream_html_aed22556db7c9296cf1309ce20f07eb62"><div class="ttname"><a href="classMWAWInputStream.html#aed22556db7c9296cf1309ce20f07eb62">MWAWInputStream::readDataBlock</a></div><div class="ttdeci">bool readDataBlock(long size, librevenge::RVNGBinaryData &data)</div><div class="ttdoc">reads a librevenge::RVNGBinaryData with a given size in the actual section/file </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:910</div></div> <div class="ttc" id="classMWAWInputStream_html_aa949d4f014a6aace2e681fff44ae1443"><div class="ttname"><a href="classMWAWInputStream.html#aa949d4f014a6aace2e681fff44ae1443">MWAWInputStream::setReadInverted</a></div><div class="ttdeci">void setReadInverted(bool newVal)</div><div class="ttdoc">sets the endian mode </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:84</div></div> <div class="ttc" id="classMWAWInputStream_html_a6f88186425a0328c0043587a0c95e98f"><div class="ttname"><a href="classMWAWInputStream.html#a6f88186425a0328c0043587a0c95e98f">MWAWInputStream::size</a></div><div class="ttdeci">long size() const</div><div class="ttdoc">returns the stream size </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:100</div></div> <div class="ttc" id="classMWAWInputStream_html_ac200836790c4c706759885627d43bec8"><div class="ttname"><a href="classMWAWInputStream.html#ac200836790c4c706759885627d43bec8">MWAWInputStream::m_readLimit</a></div><div class="ttdeci">long m_readLimit</div><div class="ttdoc">actual section limit (-1 if no limit) </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:246</div></div> <div class="ttc" id="classMWAWInputStream_html_a96b4f3ce0fd6deb87fab03403dd51485"><div class="ttname"><a href="classMWAWInputStream.html#a96b4f3ce0fd6deb87fab03403dd51485">MWAWInputStream::readDouble8</a></div><div class="ttdeci">bool readDouble8(double &res, bool &isNotANumber)</div><div class="ttdoc">try to read a double of size 8: 1.5 bytes exponent, 6.5 bytes mantisse </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:251</div></div> <div class="ttc" id="classMWAWInputStream_html_aaf91ac3406ab6befdcb80ed4b3579c42"><div class="ttname"><a href="classMWAWInputStream.html#aaf91ac3406ab6befdcb80ed4b3579c42">MWAWInputStream::m_inverseRead</a></div><div class="ttdeci">bool m_inverseRead</div><div class="ttdoc">big or normal endian </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:257</div></div> <div class="ttc" id="classMWAWInputStream_html"><div class="ttname"><a href="classMWAWInputStream.html">MWAWInputStream</a></div><div class="ttdoc">Internal class used to read the file stream Internal class used to read the file stream, this class adds some usefull functions to the basic librevenge::RVNGInputStream: </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:53</div></div> <div class="ttc" id="classMWAWInputStream_html_a0d88a19f844e8bc503735d7d59174244"><div class="ttname"><a href="classMWAWInputStream.html#a0d88a19f844e8bc503735d7d59174244">MWAWInputStream::m_fInfoCreator</a></div><div class="ttdeci">std::string m_fInfoCreator</div><div class="ttdoc">finder info type </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:253</div></div> <div class="ttc" id="classMWAWInputStream_html_a6927e704ae2a97aa147e7fa21b909088"><div class="ttname"><a href="classMWAWInputStream.html#a6927e704ae2a97aa147e7fa21b909088">MWAWInputStream::m_resourceFork</a></div><div class="ttdeci">std::shared_ptr< MWAWInputStream > m_resourceFork</div><div class="ttdoc">the resource fork </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:255</div></div> <div class="ttc" id="classMWAWInputStream_html_ad511aa2dc5acbe49acf658b6e327f0eb"><div class="ttname"><a href="classMWAWInputStream.html#ad511aa2dc5acbe49acf658b6e327f0eb">MWAWInputStream::getSubStreamById</a></div><div class="ttdeci">std::shared_ptr< MWAWInputStream > getSubStreamById(unsigned id)</div><div class="ttdoc">return a new stream for a ole zone </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:884</div></div> <div class="ttc" id="classMWAWInputStream_html_a64f6379130211097a77c1a1dd32841dd"><div class="ttname"><a href="classMWAWInputStream.html#a64f6379130211097a77c1a1dd32841dd">MWAWInputStream::hasDataFork</a></div><div class="ttdeci">bool hasDataFork() const</div><div class="ttdoc">returns true if the data fork block exists </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:200</div></div> <div class="ttc" id="classMWAWInputStream_html_a5045d77bfc99b62522bcb605716f8f9b"><div class="ttname"><a href="classMWAWInputStream.html#a5045d77bfc99b62522bcb605716f8f9b">MWAWInputStream::unzipStream</a></div><div class="ttdeci">bool unzipStream()</div><div class="ttdoc">unzip the data in the file is a zip file of a mac file </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:635</div></div> <div class="ttc" id="classMWAWInputStream_html_af5b45a6765b648211d1591633b11e639"><div class="ttname"><a href="classMWAWInputStream.html#af5b45a6765b648211d1591633b11e639">MWAWInputStream::readInverted</a></div><div class="ttdeci">bool readInverted() const</div><div class="ttdoc">returns the endian mode (see constructor) </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:79</div></div> <div class="ttc" id="classMWAWInputStream_html_a9cb600071f5f7d610d2690cd96ed6b9a"><div class="ttname"><a href="classMWAWInputStream.html#a9cb600071f5f7d610d2690cd96ed6b9a">MWAWInputStream::isEnd</a></div><div class="ttdeci">bool isEnd()</div><div class="ttdoc">returns true if we are at the end of the section/file </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:171</div></div> <div class="ttc" id="classMWAWInputStream_html_a9fd1e91368c29d44b06e936b264c42f7"><div class="ttname"><a href="classMWAWInputStream.html#a9fd1e91368c29d44b06e936b264c42f7">MWAWInputStream::readLong</a></div><div class="ttdeci">long readLong(int num)</div><div class="ttdoc">return a int8, int16, int32 readed from actualPos </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:223</div></div> <div class="ttc" id="classMWAWInputStream_html_ae33ce1900afa442b8aa588eb934f7b90"><div class="ttname"><a href="classMWAWInputStream.html#ae33ce1900afa442b8aa588eb934f7b90">MWAWInputStream::readU8</a></div><div class="ttdeci">static uint8_t readU8(librevenge::RVNGInputStream *stream)</div><div class="ttdoc">internal function used to read a byte </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:238</div></div> <div class="ttc" id="classMWAWInputStream_html_a85120974097adeb52e31e64a6702d385"><div class="ttname"><a href="classMWAWInputStream.html#a85120974097adeb52e31e64a6702d385">MWAWInputStream::m_streamSize</a></div><div class="ttdeci">long m_streamSize</div><div class="ttdoc">the stream size </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:243</div></div> <div class="ttc" id="classMWAWInputStream_html_a1a2389089b957c2c401053f287085774"><div class="ttname"><a href="classMWAWInputStream.html#a1a2389089b957c2c401053f287085774">MWAWInputStream::isStructured</a></div><div class="ttdeci">bool isStructured()</div><div class="ttdoc">return true if the stream is ole </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:832</div></div> <div class="ttc" id="classMWAWInputStream_html_a6c6d45cba1aa4fbaa6c31a18448fe1db"><div class="ttname"><a href="classMWAWInputStream.html#a6c6d45cba1aa4fbaa6c31a18448fe1db">MWAWInputStream::m_prevLimits</a></div><div class="ttdeci">std::vector< long > m_prevLimits</div><div class="ttdoc">list of previous limits </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:248</div></div> <div class="ttc" id="classMWAWInputStream_html_a4932a80bbd381fa3c26ef74b633f3b64"><div class="ttname"><a href="classMWAWInputStream.html#a4932a80bbd381fa3c26ef74b633f3b64">MWAWInputStream::readEndDataBlock</a></div><div class="ttdeci">bool readEndDataBlock(librevenge::RVNGBinaryData &data)</div><div class="ttdoc">reads a librevenge::RVNGBinaryData from actPos to the end of the section/file </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:929</div></div> <div class="ttc" id="classMWAWInputStream_html_ab0f05a565a5689240635acc7945718b4"><div class="ttname"><a href="classMWAWInputStream.html#ab0f05a565a5689240635acc7945718b4">MWAWInputStream::getFinderInfo</a></div><div class="ttdeci">bool getFinderInfo(std::string &type, std::string &creator) const</div><div class="ttdoc">returns the finder info type and creator (if known) </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:184</div></div> <div class="ttc" id="classMWAWInputStream_html_ab75e4c8a04e2e3ddbabc04a3b5bd448f"><div class="ttname"><a href="classMWAWInputStream.html#ab75e4c8a04e2e3ddbabc04a3b5bd448f">MWAWInputStream::getResourceForkStream</a></div><div class="ttdeci">std::shared_ptr< MWAWInputStream > getResourceForkStream()</div><div class="ttdoc">returns the resource fork if find </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:210</div></div> <div class="ttc" id="classMWAWInputStream_html_a8772b229db09e1dc755e74e6c74e81fb"><div class="ttname"><a href="classMWAWInputStream.html#a8772b229db09e1dc755e74e6c74e81fb">MWAWInputStream::m_fInfoType</a></div><div class="ttdeci">std::string m_fInfoType</div><div class="ttdoc">finder info type </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:251</div></div> <div class="ttc" id="classMWAWInputStream_html_a13aada972b0a53109875988f88a27315"><div class="ttname"><a href="classMWAWInputStream.html#a13aada972b0a53109875988f88a27315">MWAWInputStream::m_stream</a></div><div class="ttdeci">std::shared_ptr< librevenge::RVNGInputStream > m_stream</div><div class="ttdoc">the initial input </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:241</div></div> <div class="ttc" id="classMWAWInputStream_html_ab9052d311632be884b82c6765a15fd9b"><div class="ttname"><a href="classMWAWInputStream.html#ab9052d311632be884b82c6765a15fd9b">MWAWInputStream::read</a></div><div class="ttdeci">const uint8_t * read(size_t numBytes, unsigned long &numBytesRead)</div><div class="ttdoc">! reads numbytes data, WITHOUT using any endian or section consideration </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:134</div></div> <div class="ttc" id="classMWAWInputStream_html_ada8354c14a096ad18c20a5449e82a212"><div class="ttname"><a href="classMWAWInputStream.html#ada8354c14a096ad18c20a5449e82a212">MWAWInputStream::hasResourceFork</a></div><div class="ttdeci">bool hasResourceFork() const</div><div class="ttdoc">returns true if the resource fork block exists </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:205</div></div> <div class="ttc" id="classMWAWInputStream_html_a8cd2832a29847a35c68cc52bb994f5c0"><div class="ttname"><a href="classMWAWInputStream.html#a8cd2832a29847a35c68cc52bb994f5c0">MWAWInputStream::pushLimit</a></div><div class="ttdeci">void pushLimit(long newLimit)</div><div class="ttdoc">defines a new section in the file (from actualPos to newLimit) next call of seek, tell...</div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:117</div></div> <div class="ttc" id="classMWAWInputStream_html_a009cf3558e07ca35000f870fa8b6e58e"><div class="ttname"><a href="classMWAWInputStream.html#a009cf3558e07ca35000f870fa8b6e58e">MWAWInputStream::unsplitInternalMergeStream</a></div><div class="ttdeci">bool unsplitInternalMergeStream()</div><div class="ttdoc">check if a stream is an internal merge stream </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:567</div></div> <div class="ttc" id="classMWAWInputStream_html_a8107f1c44c678ec005225cb20fe616c2"><div class="ttname"><a href="classMWAWInputStream.html#a8107f1c44c678ec005225cb20fe616c2">MWAWInputStream::updateStreamSize</a></div><div class="ttdeci">void updateStreamSize()</div><div class="ttdoc">update the stream size ( must be called in the constructor ) </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:122</div></div> <div class="ttc" id="classMWAWInputStream_html_a1a96e7dbfe664df6c154d8d1adbda1ad"><div class="ttname"><a href="classMWAWInputStream.html#a1a96e7dbfe664df6c154d8d1adbda1ad">MWAWInputStream::getSubStreamByName</a></div><div class="ttdeci">std::shared_ptr< MWAWInputStream > getSubStreamByName(std::string const &name)</div><div class="ttdoc">return a new stream for a ole zone </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:864</div></div> <div class="ttc" id="classMWAWInputStream_html_aaa0f9a77d75fd033b2020985b3079aa0"><div class="ttname"><a href="classMWAWInputStream.html#aaa0f9a77d75fd033b2020985b3079aa0">MWAWInputStream::subStreamCount</a></div><div class="ttdeci">unsigned subStreamCount()</div><div class="ttdoc">returns the number of substream </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:841</div></div> <div class="ttc" id="classMWAWInputStream_html_a27914410eb695c9bd5f7bfe59f3a5595"><div class="ttname"><a href="classMWAWInputStream.html#a27914410eb695c9bd5f7bfe59f3a5595">MWAWInputStream::input</a></div><div class="ttdeci">std::shared_ptr< librevenge::RVNGInputStream > input()</div><div class="ttdoc">returns the basic librevenge::RVNGInputStream </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:71</div></div> <div class="ttc" id="classMWAWInputStream_html_a403edd220f62ba6dbe1fd9f2decdc591"><div class="ttname"><a href="classMWAWInputStream.html#a403edd220f62ba6dbe1fd9f2decdc591">MWAWInputStream::checkPosition</a></div><div class="ttdeci">bool checkPosition(long pos) const</div><div class="ttdoc">checks if a position is or not a valid file position </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:105</div></div> <div class="ttc" id="classMWAWInputStream_html_a7ca0dd4a8851bd16349cba465b04e80d"><div class="ttname"><a href="classMWAWInputStream.html#a7ca0dd4a8851bd16349cba465b04e80d">MWAWInputStream::~MWAWInputStream</a></div><div class="ttdeci">~MWAWInputStream()</div><div class="ttdoc">destructor </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.cxx:98</div></div> <div class="ttc" id="classMWAWInputStream_html_afbaa4577010ac782856fbdcca58acd9c"><div class="ttname"><a href="classMWAWInputStream.html#afbaa4577010ac782856fbdcca58acd9c">MWAWInputStream::readULong</a></div><div class="ttdeci">unsigned long readULong(int num)</div><div class="ttdoc">returns a uint8, uint16, uint32 readed from actualPos </div><div class="ttdef"><b>Definition:</b> MWAWInputStream.hxx:137</div></div> <div class="ttc" id="classMWAWInputStream_html_a2b75ead2782cdded187d14193c1cbe7d"><div class="ttname"><a href="classMWAWInputStream.html#a2b75ead2782cdded187d14193c1cbe7d">MWAWInputStream::operator=</a></div><div class="ttdeci">MWAWInputStream & operator=(MWAWInputStream const &orig)=delete</div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <hr size="1"><address style="align: right;"><small> Generated on Mon Feb 11 2019 22:20:43 for libmwaw by <a href="http://www.doxygen.org/index.html"> doxygen</a> 1.8.13</small></address> </body> </html>