This commit is contained in:
hasherezade
2024-06-12 12:04:50 +00:00
parent a4264060c0
commit 931ed4dc88
2357 changed files with 48625 additions and 45209 deletions
+67 -58
View File
@@ -3,13 +3,15 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>BearParser: parser/AbstractByteBuffer.cpp 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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
@@ -32,18 +34,23 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
@@ -51,7 +58,7 @@ $(function() {
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
@@ -80,6 +87,7 @@ $(function() { codefold.init(0); });
<li class="navelem"><a class="el" href="dir_572890c148f68441e050f6560d78312b.html">parser</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">AbstractByteBuffer.cpp</div></div>
</div><!--header-->
@@ -428,34 +436,34 @@ $(function() { codefold.init(0); });
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> }</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> uint64_t val = (-1);</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint8_t)) val = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">_getNumValue&lt;uint8_t&gt;</a>(ptr);</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint16_t</a>)) <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">val</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">_getNumValue&lt;uint16_t&gt;</a>(ptr);</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint32_t</a>)) <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">val</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">_getNumValue&lt;uint32_t&gt;</a>(ptr);</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint64_t</a>)) <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">val</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">_getNumValue&lt;uint64_t&gt;</a>(ptr);</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint16_t)) val = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">_getNumValue&lt;uint16_t&gt;</a>(ptr);</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint32_t)) val = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">_getNumValue&lt;uint32_t&gt;</a>(ptr);</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint64_t)) val = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">_getNumValue&lt;uint64_t&gt;</a>(ptr);</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordflow">return</span> (-1);</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> }</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">isOk</a>) (*isOk) = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">return</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">val</a>;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="keywordflow">if</span> (isOk) (*isOk) = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordflow">return</span> val;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span>}</div>
</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> INT_TYPE&gt;</div>
<div class="foldopen" id="foldopen00319" data-start="{" data-end="}">
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2"> 319</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(<span class="keywordtype">void</span>* ptr, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">INT_TYPE</a> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">nVal</a>)</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2"> 319</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(<span class="keywordtype">void</span>* ptr, INT_TYPE nVal)</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span>{</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">INT_TYPE</a>* <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">valPtr</a> = (<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">INT_TYPE</a>*)ptr;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span> ((*<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">valPtr</a>) == <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">nVal</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> (*valPtr) = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">nVal</a>;</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> INT_TYPE* valPtr = (INT_TYPE*)ptr;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keywordflow">if</span> ((*valPtr) == nVal) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> (*valPtr) = nVal;</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span>}</div>
</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> </div>
<div class="foldopen" id="foldopen00327" data-start="{" data-end="}">
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="class_abstract_byte_buffer.html#a5e4be1e74690ad6517c3d19ed946b857"> 327</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="class_abstract_byte_buffer.html#a5e4be1e74690ad6517c3d19ed946b857">AbstractByteBuffer::setNumValue</a>(<a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> offset, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> size, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint64_t</a> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newVal</a>)</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="class_abstract_byte_buffer.html#a5e4be1e74690ad6517c3d19ed946b857"> 327</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="class_abstract_byte_buffer.html#a5e4be1e74690ad6517c3d19ed946b857">AbstractByteBuffer::setNumValue</a>(<a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> offset, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> size, uint64_t newVal)</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span>{</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span> (size == 0 || offset == <a class="code hl_variable" href="_abstract_byte_buffer_8h.html#ab99058386f4a8bc4e8cd07fad8198178">INVALID_ADDR</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">void</span>* ptr = this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(offset, size);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span> (ptr == <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">NULL</a>) {</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span> (ptr == NULL) {</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <a class="code hl_function" href="namespace_logger.html#a36e3deee152da96a491b670a00d224c9">Logger::append</a>(<a class="code hl_enumvalue" href="namespace_logger.html#ac865c986e93dc9338b084620d59c6e97a7a600e2a74793434c9cdb5a03c87a48c">Logger::D_ERROR</a>,</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="stringliteral">&quot;Cannot get Ptr at: %llX of size: %lX!&quot;</span>, </div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span><span class="keyword">&gt;</span>(offset), </div>
@@ -464,20 +472,20 @@ $(function() { codefold.init(0); });
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> }</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> </div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint8_t</a>)) {</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint8_t</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newVal</a>)))</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint8_t)) {</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, uint8_t(newVal)))</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> }</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint16_t</a>)) {</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint16_t</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newVal</a>)))</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint16_t)) {</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, uint16_t(newVal)))</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> }</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint32_t</a>)) {</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint32_t</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newVal</a>)))</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint32_t)) {</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, uint32_t(newVal)))</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> }</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint64_t</a>)) {</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">uint64_t</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newVal</a>)))</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (size == <span class="keyword">sizeof</span>(uint64_t)) {</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#ac3cd053e69301cf6e8ca7e6b0ca382f2">_setNumValue</a>(ptr, uint64_t(newVal)))</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <a class="code hl_function" href="namespace_logger.html#a36e3deee152da96a491b670a00d224c9">Logger::append</a>(<a class="code hl_enumvalue" href="namespace_logger.html#ac865c986e93dc9338b084620d59c6e97a7a600e2a74793434c9cdb5a03c87a48c">Logger::D_ERROR</a>, <span class="stringliteral">&quot;Wrong size!&quot;</span>);</div>
@@ -488,89 +496,89 @@ $(function() { codefold.init(0); });
</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> </div>
<div class="foldopen" id="foldopen00362" data-start="{" data-end="}">
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="class_abstract_byte_buffer.html#a39e77f97d0d667575ef574cc68255ae6"> 362</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="class_abstract_byte_buffer.html#a39e77f97d0d667575ef574cc68255ae6">AbstractByteBuffer::setTextValue</a>(<span class="keywordtype">char</span>* <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textPtr</a>, std::string <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newText</a>, <span class="keywordtype">size_t</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fieldLimitLen</a>)</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="class_abstract_byte_buffer.html#a39e77f97d0d667575ef574cc68255ae6"> 362</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="class_abstract_byte_buffer.html#a39e77f97d0d667575ef574cc68255ae6">AbstractByteBuffer::setTextValue</a>(<span class="keywordtype">char</span>* textPtr, std::string newText, <span class="keywordtype">size_t</span> fieldLimitLen)</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span>{</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textPtr</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">if</span> (!textPtr) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> </div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newLen</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newText</a>.length() + 1;</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textOffset</a> = this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#adb10018e327d14ac29d842aee3ab5465">getOffset</a>(textPtr);</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textOffset</a> == <a class="code hl_variable" href="_abstract_byte_buffer_8h.html#ab99058386f4a8bc4e8cd07fad8198178">INVALID_ADDR</a>) {</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordtype">size_t</span> newLen = newText.length() + 1;</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> textOffset = this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#adb10018e327d14ac29d842aee3ab5465">getOffset</a>(textPtr);</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> <span class="keywordflow">if</span> (textOffset == <a class="code hl_variable" href="_abstract_byte_buffer_8h.html#ab99058386f4a8bc4e8cd07fad8198178">INVALID_ADDR</a>) {</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> }</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> <span class="comment">//check against the buffer overflow</span></div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">if</span> (!this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(textOffset, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newLen</a>)) {</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <span class="keywordflow">if</span> (!this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(textOffset, newLen)) {</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> }</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <span class="comment">//if both strings are same, do not overwrite</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newTextC</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newText</a>.c_str();</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">strcmp</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newTextC</a>, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textPtr</a>)) { <span class="comment">//TODO: use a safe comparison</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* newTextC = newText.c_str();</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">if</span> (!strcmp(newTextC, textPtr)) { <span class="comment">//TODO: use a safe comparison</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> }</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <span class="comment">//if the field size is set:</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fieldLimitLen</a> != 0) {</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> (this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(textOffset, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fieldLimitLen</a>)) {</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> <span class="keywordflow">if</span> (fieldLimitLen != 0) {</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> <span class="keywordflow">if</span> (this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(textOffset, fieldLimitLen)) {</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="comment">//clear the previous field</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">memset</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textPtr</a>, 0, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fieldLimitLen</a>);</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newLen</a> &gt; <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fieldLimitLen</a>) {</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newLen</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fieldLimitLen</a>;</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> memset(textPtr, 0, fieldLimitLen);</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> <span class="keywordflow">if</span> (newLen &gt; fieldLimitLen) {</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> newLen = fieldLimitLen;</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> }</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> }</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> }</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">memcpy</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textPtr</a>, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newTextC</a>, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newLen</a>);</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">textPtr</a>[<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">newLen</a>] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> memcpy(textPtr, newTextC, newLen);</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> textPtr[newLen] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span>}</div>
</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> </div>
<div class="foldopen" id="foldopen00395" data-start="{" data-end="}">
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="class_abstract_byte_buffer.html#a74943c97716eb8c33448a883f384f64c"> 395</a></span><a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> <a class="code hl_function" href="class_abstract_byte_buffer.html#a74943c97716eb8c33448a883f384f64c">AbstractByteBuffer::substFragmentByFile</a>(<a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> offset, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> contentSize, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">QFile</a> &amp;fIn)</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="class_abstract_byte_buffer.html#a74943c97716eb8c33448a883f384f64c"> 395</a></span><a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> <a class="code hl_function" href="class_abstract_byte_buffer.html#a74943c97716eb8c33448a883f384f64c">AbstractByteBuffer::substFragmentByFile</a>(<a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> offset, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> contentSize, QFile &amp;fIn)</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span>{</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">BYTE</a> *<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">contentPart</a> = this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(offset, contentSize);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">contentPart</a>) <span class="keywordflow">return</span> 0; <span class="comment">//invalid offset/size</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> BYTE *contentPart = this-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(offset, contentSize);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">if</span> (!contentPart) <span class="keywordflow">return</span> 0; <span class="comment">//invalid offset/size</span></div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> </div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <span class="keywordflow">if</span> (!fIn.isReadable()) <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">toLoad</a> = fIn.size() &lt; contentSize ? fIn.size() : contentSize;</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">BYTE</a> *<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fBuf</a> = (<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">BYTE</a>*)<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">::calloc</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">toLoad</a>, 1);</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fBuf</a>) {</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <span class="keywordtype">size_t</span> toLoad = fIn.size() &lt; contentSize ? fIn.size() : contentSize;</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> BYTE *fBuf = (BYTE*)::calloc(toLoad, 1);</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">if</span> (!fBuf) {</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> }</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">loaded</a> = fIn.read((<span class="keywordtype">char</span>*)<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fBuf</a>, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">toLoad</a>);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">memset</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">contentPart</a>, 0, contentSize);</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">memcpy</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">contentPart</a>, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fBuf</a>, <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">loaded</a>);</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">free</a>(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fBuf</a>); <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">fBuf</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">NULL</a>;</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> <span class="keywordtype">size_t</span> loaded = fIn.read((<span class="keywordtype">char</span>*)fBuf, toLoad);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> memset(contentPart, 0, contentSize);</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> memcpy(contentPart, fBuf, loaded);</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> free(fBuf); fBuf = NULL;</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> </div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">return</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">loaded</a>;</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">return</span> loaded;</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span>}</div>
</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span><span class="comment">//--------------------------------------------</span></div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> </div>
<div class="foldopen" id="foldopen00417" data-start="{" data-end="}">
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="class_buffer_view.html#a7e28aa60f3734aecc9595741f5bba11c"> 417</a></span><a class="code hl_function" href="class_buffer_view.html#a7e28aa60f3734aecc9595741f5bba11c">BufferView::BufferView</a>(<a class="code hl_class" href="class_abstract_byte_buffer.html">AbstractByteBuffer</a> *<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">v_parent</a>, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">v_offset</a>, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">v_size</a>)</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> : parent(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">v_parent</a>), offset(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">v_offset</a>), size(<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">v_size</a>)</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="class_buffer_view.html#a7e28aa60f3734aecc9595741f5bba11c"> 417</a></span><a class="code hl_function" href="class_buffer_view.html#a7e28aa60f3734aecc9595741f5bba11c">BufferView::BufferView</a>(<a class="code hl_class" href="class_abstract_byte_buffer.html">AbstractByteBuffer</a> *v_parent, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#aea96e09e4ebfca2845a36a4d9882f7f6">offset_t</a> v_offset, <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> v_size)</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> : parent(v_parent), offset(v_offset), size(v_size)</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span>{</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">v_parent</a> == <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">NULL</a>) <span class="keywordflow">throw</span> <a class="code hl_class" href="class_buffer_exception.html">BufferException</a>(<span class="stringliteral">&quot;Cannot make subBuffer for NULL buffer!&quot;</span>);</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keywordflow">if</span> (v_parent == NULL) <span class="keywordflow">throw</span> <a class="code hl_class" href="class_buffer_exception.html">BufferException</a>(<span class="stringliteral">&quot;Cannot make subBuffer for NULL buffer!&quot;</span>);</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span>}</div>
</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="foldopen" id="foldopen00423" data-start="{" data-end="}">
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"><a class="line" href="class_buffer_view.html#afa235f02a4619a7e2f1e869d390c2cbf"> 423</a></span><a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> <a class="code hl_function" href="class_buffer_view.html#afa235f02a4619a7e2f1e869d390c2cbf">BufferView::getContentSize</a>()</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span>{</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">maxSize</a> = this-&gt;<a class="code hl_variable" href="class_buffer_view.html#a9f2689c51aa106a822cdde9fd46cb7a9">parent</a>-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a0493bdae87b5011993652335adb19577">getContentSize</a>();</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> maxSize = this-&gt;<a class="code hl_variable" href="class_buffer_view.html#a9f2689c51aa106a822cdde9fd46cb7a9">parent</a>-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a0493bdae87b5011993652335adb19577">getContentSize</a>();</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_buffer_view.html#a3334df39474d78ab0ff2d208e38aab66">offset</a> &gt; maxSize) {</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> }</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_buffer_view.html#a3334df39474d78ab0ff2d208e38aab66">offset</a> + <a class="code hl_variable" href="class_buffer_view.html#a9f2fd71058cc38e721a07c0967971389">size</a> &gt; <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">maxSize</a>) {</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">trimedSize</a> = <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">maxSize</a> - <a class="code hl_variable" href="class_buffer_view.html#a3334df39474d78ab0ff2d208e38aab66">offset</a>;</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">return</span> <a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">trimedSize</a>;</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_buffer_view.html#a3334df39474d78ab0ff2d208e38aab66">offset</a> + <a class="code hl_variable" href="class_buffer_view.html#a9f2fd71058cc38e721a07c0967971389">size</a> &gt; maxSize) {</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <a class="code hl_typedef" href="_abstract_byte_buffer_8h.html#a9067dc831274514d508e98df05bf015d">bufsize_t</a> trimedSize = maxSize - <a class="code hl_variable" href="class_buffer_view.html#a3334df39474d78ab0ff2d208e38aab66">offset</a>;</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keywordflow">return</span> trimedSize;</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> }</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="class_buffer_view.html#a9f2fd71058cc38e721a07c0967971389">size</a>;</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span>}</div>
</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> </div>
<div class="foldopen" id="foldopen00436" data-start="{" data-end="}">
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="class_buffer_view.html#aa4a53aab5f6e22fb195d6b7ae8ed9e1f"> 436</a></span><a class="code hl_function" href="_abstract_byte_buffer_8cpp.html#a52457e713057d1f693e69718b73549a1">BYTE</a>* <a class="code hl_function" href="class_buffer_view.html#aa4a53aab5f6e22fb195d6b7ae8ed9e1f">BufferView::getContent</a>()</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="class_buffer_view.html#aa4a53aab5f6e22fb195d6b7ae8ed9e1f"> 436</a></span>BYTE* <a class="code hl_function" href="class_buffer_view.html#aa4a53aab5f6e22fb195d6b7ae8ed9e1f">BufferView::getContent</a>()</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span>{</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="keywordflow">return</span> this-&gt;<a class="code hl_variable" href="class_buffer_view.html#a9f2689c51aa106a822cdde9fd46cb7a9">parent</a>-&gt;<a class="code hl_function" href="class_abstract_byte_buffer.html#a64f38e33f915741eb283ef9a34cacb6d">getContentAt</a>(<a class="code hl_variable" href="class_buffer_view.html#a3334df39474d78ab0ff2d208e38aab66">offset</a>, <a class="code hl_function" href="class_buffer_view.html#afa235f02a4619a7e2f1e869d390c2cbf">getContentSize</a>());</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span>}</div>
@@ -621,7 +629,8 @@ $(function() { codefold.init(0); });
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>