464 lines
33 KiB
HTML
464 lines
33 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.11"/>
|
|
<title>Kinetis Bootloader Host: elftosb::SourceFile Class Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(initResizable);
|
|
$(window).load(resizeHeight);
|
|
</script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
$(document).ready(function() { init_search(); });
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">Kinetis Bootloader Host
|
|
 <span id="projectnumber">2.0.0</span>
|
|
</div>
|
|
<div id="projectbrief">Host Tools for Kinetis devices</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.11 -->
|
|
<script type="text/javascript">
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Introduction</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<img id="MSearchSelect" src="search/mag_sel.png"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
alt=""/>
|
|
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</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('classelftosb_1_1_source_file.html','');});
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
<a href="#pro-attribs">Protected Attributes</a> |
|
|
<a href="classelftosb_1_1_source_file-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">elftosb::SourceFile Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Abstract base class for a source file containing executable code.
|
|
<a href="classelftosb_1_1_source_file.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="apps_2elftosb_2common_2_source_file_8h_source.html">SourceFile.h</a>></code></p>
|
|
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
|
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for elftosb::SourceFile:</div>
|
|
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="classelftosb_1_1_source_file__inherit__graph.svg" width="562" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
</div>
|
|
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
|
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
|
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for elftosb::SourceFile:</div>
|
|
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><iframe scrolling="no" frameborder="0" src="classelftosb_1_1_source_file__coll__graph.svg" width="479" height="579"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
|
</div>
|
|
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:aaeef7db97ffe06e0c9f558e1f1a69bca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaeef7db97ffe06e0c9f558e1f1a69bca"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#aaeef7db97ffe06e0c9f558e1f1a69bca">SourceFile</a> (const std::string &path)</td></tr>
|
|
<tr class="memdesc:aaeef7db97ffe06e0c9f558e1f1a69bca"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br /></td></tr>
|
|
<tr class="separator:aaeef7db97ffe06e0c9f558e1f1a69bca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acb46a420d0bd2070581c66d9da5e0bf4"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#acb46a420d0bd2070581c66d9da5e0bf4">~SourceFile</a> ()</td></tr>
|
|
<tr class="memdesc:acb46a420d0bd2070581c66d9da5e0bf4"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#acb46a420d0bd2070581c66d9da5e0bf4">More...</a><br /></td></tr>
|
|
<tr class="separator:acb46a420d0bd2070581c66d9da5e0bf4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adfda637f78758b437d7a87bde627a45c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#adfda637f78758b437d7a87bde627a45c">setOptions</a> (<a class="el" href="classelftosb_1_1_option_context.html">OptionContext</a> *context)</td></tr>
|
|
<tr class="memdesc:adfda637f78758b437d7a87bde627a45c"><td class="mdescLeft"> </td><td class="mdescRight">Set the option context. <a href="#adfda637f78758b437d7a87bde627a45c">More...</a><br /></td></tr>
|
|
<tr class="separator:adfda637f78758b437d7a87bde627a45c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2ceb6d57a1dc4b422e76675072d534c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ceb6d57a1dc4b422e76675072d534c5"></a>
|
|
const <a class="el" href="classelftosb_1_1_option_context.html">OptionContext</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a2ceb6d57a1dc4b422e76675072d534c5">getOptions</a> () const </td></tr>
|
|
<tr class="memdesc:a2ceb6d57a1dc4b422e76675072d534c5"><td class="mdescLeft"> </td><td class="mdescRight">Return the option context. <br /></td></tr>
|
|
<tr class="separator:a2ceb6d57a1dc4b422e76675072d534c5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aacdb5ea7b27721528dc89241fdb955fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacdb5ea7b27721528dc89241fdb955fd"></a>
|
|
const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#aacdb5ea7b27721528dc89241fdb955fd">getPath</a> () const </td></tr>
|
|
<tr class="memdesc:aacdb5ea7b27721528dc89241fdb955fd"><td class="mdescLeft"> </td><td class="mdescRight">Returns the path to the file. <br /></td></tr>
|
|
<tr class="separator:aacdb5ea7b27721528dc89241fdb955fd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6ea4e7580fddb271f770dea1c3b6a3b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ea4e7580fddb271f770dea1c3b6a3b5"></a>
|
|
unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a6ea4e7580fddb271f770dea1c3b6a3b5">getSize</a> ()</td></tr>
|
|
<tr class="memdesc:a6ea4e7580fddb271f770dea1c3b6a3b5"><td class="mdescLeft"> </td><td class="mdescRight">Get the size in bytes of the file. <br /></td></tr>
|
|
<tr class="separator:a6ea4e7580fddb271f770dea1c3b6a3b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Opening and closing</div></td></tr>
|
|
<tr class="memitem:adca85268a0c1382d42b9380ffe31c39e"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#adca85268a0c1382d42b9380ffe31c39e">open</a> ()</td></tr>
|
|
<tr class="memdesc:adca85268a0c1382d42b9380ffe31c39e"><td class="mdescLeft"> </td><td class="mdescRight">Opens the file. <a href="#adca85268a0c1382d42b9380ffe31c39e">More...</a><br /></td></tr>
|
|
<tr class="separator:adca85268a0c1382d42b9380ffe31c39e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0a7c83d27c642615ae2c8bbf46fc025d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a7c83d27c642615ae2c8bbf46fc025d"></a>
|
|
virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a0a7c83d27c642615ae2c8bbf46fc025d">close</a> ()</td></tr>
|
|
<tr class="memdesc:a0a7c83d27c642615ae2c8bbf46fc025d"><td class="mdescLeft"> </td><td class="mdescRight">Closes the file. <br /></td></tr>
|
|
<tr class="separator:a0a7c83d27c642615ae2c8bbf46fc025d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a784e0394aac1004dadbee9b264d732b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a784e0394aac1004dadbee9b264d732b4"></a>
|
|
virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a784e0394aac1004dadbee9b264d732b4">isOpen</a> () const </td></tr>
|
|
<tr class="memdesc:a784e0394aac1004dadbee9b264d732b4"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the file is already open. <br /></td></tr>
|
|
<tr class="separator:a784e0394aac1004dadbee9b264d732b4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Format capabilities</div></td></tr>
|
|
<tr class="memitem:aba3508f9acf4fdbb91e9f27416f241df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba3508f9acf4fdbb91e9f27416f241df"></a>
|
|
virtual bool </td><td class="memItemRight" valign="bottom"><b>supportsNamedSections</b> () const =0</td></tr>
|
|
<tr class="separator:aba3508f9acf4fdbb91e9f27416f241df"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af5c4fe4a406c1bee47d87a7d1658de34"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5c4fe4a406c1bee47d87a7d1658de34"></a>
|
|
virtual bool </td><td class="memItemRight" valign="bottom"><b>supportsNamedSymbols</b> () const =0</td></tr>
|
|
<tr class="separator:af5c4fe4a406c1bee47d87a7d1658de34"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Data source creation</div></td></tr>
|
|
<tr class="memitem:a8a7b3266add6182caffa17a971a035d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a7b3266add6182caffa17a971a035d6"></a>
|
|
virtual <a class="el" href="classelftosb_1_1_data_source.html">DataSource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a8a7b3266add6182caffa17a971a035d6">createDataSource</a> ()=0</td></tr>
|
|
<tr class="memdesc:a8a7b3266add6182caffa17a971a035d6"><td class="mdescLeft"> </td><td class="mdescRight">Creates a data source from the entire file. <br /></td></tr>
|
|
<tr class="separator:a8a7b3266add6182caffa17a971a035d6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a46815bc13a5e008033e4404f7ebfdfe3"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classelftosb_1_1_data_source.html">DataSource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a46815bc13a5e008033e4404f7ebfdfe3">createDataSource</a> (<a class="el" href="classelftosb_1_1_string_matcher.html">StringMatcher</a> &matcher)</td></tr>
|
|
<tr class="memdesc:a46815bc13a5e008033e4404f7ebfdfe3"><td class="mdescLeft"> </td><td class="mdescRight">Creates a data source out of one or more sections of the file. <a href="#a46815bc13a5e008033e4404f7ebfdfe3">More...</a><br /></td></tr>
|
|
<tr class="separator:a46815bc13a5e008033e4404f7ebfdfe3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1560a6ef0141423d6e4978d67f8468f6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classelftosb_1_1_data_source.html">DataSource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a1560a6ef0141423d6e4978d67f8468f6">createDataSource</a> (const std::string &section)</td></tr>
|
|
<tr class="memdesc:a1560a6ef0141423d6e4978d67f8468f6"><td class="mdescLeft"> </td><td class="mdescRight">Creates a data source out of one section of the file. <a href="#a1560a6ef0141423d6e4978d67f8468f6">More...</a><br /></td></tr>
|
|
<tr class="separator:a1560a6ef0141423d6e4978d67f8468f6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Entry point</div></td></tr>
|
|
<tr class="memitem:a6e70cea61a759933bb47f8390f78eb5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e70cea61a759933bb47f8390f78eb5c"></a>
|
|
virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a6e70cea61a759933bb47f8390f78eb5c">hasEntryPoint</a> ()=0</td></tr>
|
|
<tr class="memdesc:a6e70cea61a759933bb47f8390f78eb5c"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if an entry point was set in the file. <br /></td></tr>
|
|
<tr class="separator:a6e70cea61a759933bb47f8390f78eb5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a75b3336f542e2d1f3b3ba45e4da91893"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75b3336f542e2d1f3b3ba45e4da91893"></a>
|
|
virtual uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a75b3336f542e2d1f3b3ba45e4da91893">getEntryPointAddress</a> ()</td></tr>
|
|
<tr class="memdesc:a75b3336f542e2d1f3b3ba45e4da91893"><td class="mdescLeft"> </td><td class="mdescRight">Returns the entry point address. <br /></td></tr>
|
|
<tr class="separator:a75b3336f542e2d1f3b3ba45e4da91893"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Data target creation</div></td></tr>
|
|
<tr class="memitem:a8ba7511c0a10650dab3d02e4f35d1c0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ba7511c0a10650dab3d02e4f35d1c0b"></a>
|
|
virtual <a class="el" href="classelftosb_1_1_data_target.html">DataTarget</a> * </td><td class="memItemRight" valign="bottom"><b>createDataTargetForSection</b> (const std::string &section)</td></tr>
|
|
<tr class="separator:a8ba7511c0a10650dab3d02e4f35d1c0b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ace386b345ef852e2e0a252dc8fb22b93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace386b345ef852e2e0a252dc8fb22b93"></a>
|
|
virtual <a class="el" href="classelftosb_1_1_data_target.html">DataTarget</a> * </td><td class="memItemRight" valign="bottom"><b>createDataTargetForSymbol</b> (const std::string &symbol)</td></tr>
|
|
<tr class="separator:ace386b345ef852e2e0a252dc8fb22b93"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a93b7c1e8e1b3f0b9eaa5d7ecd038718a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93b7c1e8e1b3f0b9eaa5d7ecd038718a"></a>
|
|
virtual <a class="el" href="classelftosb_1_1_data_target.html">DataTarget</a> * </td><td class="memItemRight" valign="bottom"><b>createDataTargetForEntryPoint</b> ()</td></tr>
|
|
<tr class="separator:a93b7c1e8e1b3f0b9eaa5d7ecd038718a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Symbols</div></td></tr>
|
|
<tr class="memitem:a4de73a78eb71707116ef52fe44598895"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4de73a78eb71707116ef52fe44598895"></a>
|
|
virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a4de73a78eb71707116ef52fe44598895">hasSymbol</a> (const std::string &name)</td></tr>
|
|
<tr class="memdesc:a4de73a78eb71707116ef52fe44598895"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether a symbol exists in the source file. <br /></td></tr>
|
|
<tr class="separator:a4de73a78eb71707116ef52fe44598895"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad9e932a2a7f68034210e769f307c1b9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9e932a2a7f68034210e769f307c1b9f"></a>
|
|
virtual uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#ad9e932a2a7f68034210e769f307c1b9f">getSymbolValue</a> (const std::string &name)</td></tr>
|
|
<tr class="memdesc:ad9e932a2a7f68034210e769f307c1b9f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the value of a symbol. <br /></td></tr>
|
|
<tr class="separator:ad9e932a2a7f68034210e769f307c1b9f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae83e3674ac62739eb862b7cd81d4c3a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae83e3674ac62739eb862b7cd81d4c3a8"></a>
|
|
virtual unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#ae83e3674ac62739eb862b7cd81d4c3a8">getSymbolSize</a> (const std::string &name)</td></tr>
|
|
<tr class="memdesc:ae83e3674ac62739eb862b7cd81d4c3a8"><td class="mdescLeft"> </td><td class="mdescRight">Returns the size of a symbol. <br /></td></tr>
|
|
<tr class="separator:ae83e3674ac62739eb862b7cd81d4c3a8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a32cff59ce3a989ccf10b25be0c4a12ef"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classelftosb_1_1_source_file.html">SourceFile</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a32cff59ce3a989ccf10b25be0c4a12ef">openFile</a> (const std::string &path)</td></tr>
|
|
<tr class="separator:a32cff59ce3a989ccf10b25be0c4a12ef"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
Protected Member Functions</h2></td></tr>
|
|
<tr class="memitem:a62e7eb8fb0fdb69d77ea9c8f3e1db91b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62e7eb8fb0fdb69d77ea9c8f3e1db91b"></a>
|
|
std::ifstream * </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a62e7eb8fb0fdb69d77ea9c8f3e1db91b">getStream</a> ()</td></tr>
|
|
<tr class="memdesc:a62e7eb8fb0fdb69d77ea9c8f3e1db91b"><td class="mdescLeft"> </td><td class="mdescRight">Internal access to the input stream object. <br /></td></tr>
|
|
<tr class="separator:a62e7eb8fb0fdb69d77ea9c8f3e1db91b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
|
Protected Attributes</h2></td></tr>
|
|
<tr class="memitem:a65745d957af5c8306dc3deb08ef4ad12"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65745d957af5c8306dc3deb08ef4ad12"></a>
|
|
std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a65745d957af5c8306dc3deb08ef4ad12">m_path</a></td></tr>
|
|
<tr class="memdesc:a65745d957af5c8306dc3deb08ef4ad12"><td class="mdescLeft"> </td><td class="mdescRight">Path to the file. <br /></td></tr>
|
|
<tr class="separator:a65745d957af5c8306dc3deb08ef4ad12"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5eb54462ddca01b8db838d6390b8a0c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5eb54462ddca01b8db838d6390b8a0c2"></a>
|
|
<a class="el" href="group__smart__pointer.html#classsmart__ptr">smart_ptr</a>< std::ifstream > </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#a5eb54462ddca01b8db838d6390b8a0c2">m_stream</a></td></tr>
|
|
<tr class="memdesc:a5eb54462ddca01b8db838d6390b8a0c2"><td class="mdescLeft"> </td><td class="mdescRight">File stream, or NULL if file is closed. <br /></td></tr>
|
|
<tr class="separator:a5eb54462ddca01b8db838d6390b8a0c2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afccb9fc57ff9cc5bfa43afe5002a3907"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afccb9fc57ff9cc5bfa43afe5002a3907"></a>
|
|
<a class="el" href="group__smart__pointer.html#classsmart__ptr">smart_ptr</a>< <a class="el" href="classelftosb_1_1_option_context.html">OptionContext</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classelftosb_1_1_source_file.html#afccb9fc57ff9cc5bfa43afe5002a3907">m_options</a></td></tr>
|
|
<tr class="memdesc:afccb9fc57ff9cc5bfa43afe5002a3907"><td class="mdescLeft"> </td><td class="mdescRight">Table of option values. <br /></td></tr>
|
|
<tr class="separator:afccb9fc57ff9cc5bfa43afe5002a3907"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Abstract base class for a source file containing executable code. </p>
|
|
<p>The purpose of this class cluster is to provide a common interface for accessing the contents of different file formats. This is accomplished through several small sets of methods along with the <a class="el" href="classelftosb_1_1_data_source.html" title="Abstract base class for data sources. ">DataSource</a> and <a class="el" href="classelftosb_1_1_data_target.html" title="Abstract base class for the target address or range of data. ">DataTarget</a> classes.</p>
|
|
<p>The primary interface for creating instances of <a class="el" href="classelftosb_1_1_source_file.html" title="Abstract base class for a source file containing executable code. ">SourceFile</a> is the static <a class="el" href="classelftosb_1_1_source_file.html#a32cff59ce3a989ccf10b25be0c4a12ef">SourceFile::openFile()</a> function. It will create the correct subclass of <a class="el" href="classelftosb_1_1_source_file.html" title="Abstract base class for a source file containing executable code. ">SourceFile</a> by inspecting the file to determine its type. </p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a class="anchor" id="acb46a420d0bd2070581c66d9da5e0bf4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">SourceFile::~SourceFile </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Destructor. </p>
|
|
<p>The file is closed if it had been left opened. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a class="anchor" id="a46815bc13a5e008033e4404f7ebfdfe3"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual <a class="el" href="classelftosb_1_1_data_source.html">DataSource</a>* elftosb::SourceFile::createDataSource </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classelftosb_1_1_string_matcher.html">StringMatcher</a> & </td>
|
|
<td class="paramname"><em>matcher</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a data source out of one or more sections of the file. </p>
|
|
<p>The <em>selector</em> object is used to perform the section name comparison. If the file does not support named sections, or if there is not a section with the given name, this method may return NULL. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classelftosb_1_1_e_l_f_source_file.html#a51621a76d70e9194646e3a3ef9f2f73d">elftosb::ELFSourceFile</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1560a6ef0141423d6e4978d67f8468f6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classelftosb_1_1_data_source.html">DataSource</a> * SourceFile::createDataSource </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>section</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a data source out of one section of the file. </p>
|
|
<p>If the file does not support named sections, or if there is not a section with the given name, this method may return NULL.</p>
|
|
<p>This method is just a small wrapper that creates an <a class="el" href="classelftosb_1_1_fixed_matcher.html" title="Simple string matcher that compares against a fixed value. ">FixedMatcher</a> string matcher instance and uses the <a class="el" href="classelftosb_1_1_source_file.html#a8a7b3266add6182caffa17a971a035d6" title="Creates a data source from the entire file. ">createDataSource()</a> that takes a reference to a <a class="el" href="classelftosb_1_1_string_matcher.html" title="Abstract interface class used to select strings by name. ">StringMatcher</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adca85268a0c1382d42b9380ffe31c39e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SourceFile::open </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Opens the file. </p>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">std::runtime_error</td><td>Raised if the file could not be opened successfully. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p>Reimplemented in <a class="el" href="classelftosb_1_1_e_l_f_source_file.html#a4c7b543224830d2f3cb084dc80f28bca">elftosb::ELFSourceFile</a>, and <a class="el" href="classelftosb_1_1_s_record_source_file.html#a3a32228816e4c894a6f959098e363a9f">elftosb::SRecordSourceFile</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a32cff59ce3a989ccf10b25be0c4a12ef"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classelftosb_1_1_source_file.html">SourceFile</a> * SourceFile::openFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>path</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>The supported file types are currently:</p><ul>
|
|
<li>ELF files</li>
|
|
<li>Motorola S-record files</li>
|
|
<li>Binary files</li>
|
|
</ul>
|
|
<p>Any file that is not picked up by the other subclasses will result in a an instance of BinaryDataFile.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>An instance of the correct subclass of <a class="el" href="classelftosb_1_1_source_file.html" title="Abstract base class for a source file containing executable code. ">SourceFile</a> for the given path.</dd></dl>
|
|
<dl class="exception"><dt>Exceptions</dt><dd>
|
|
<table class="exception">
|
|
<tr><td class="paramname">std::runtime_error</td><td>Thrown if the file cannot be opened.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classelftosb_1_1_e_l_f_source_file.html" title="Executable and Loading Format (ELF) source file. ">elftosb::ELFSourceFile</a> </dd>
|
|
<dd>
|
|
<a class="el" href="classelftosb_1_1_s_record_source_file.html" title="Executable file in the Motorola S-record format. ">elftosb::SRecordSourceFile</a> </dd>
|
|
<dd>
|
|
<a class="el" href="classelftosb_1_1_binary_source_file.html" title="Binary data file. ">elftosb::BinarySourceFile</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adfda637f78758b437d7a87bde627a45c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void elftosb::SourceFile::setOptions </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classelftosb_1_1_option_context.html">OptionContext</a> * </td>
|
|
<td class="paramname"><em>context</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set the option context. </p>
|
|
<p>The source file will take ownership of the <em>context</em> and delete it when the source file is itself deleted. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following files:<ul>
|
|
<li><a class="el" href="apps_2elftosb_2common_2_source_file_8h_source.html">apps/elftosb/common/SourceFile.h</a></li>
|
|
<li>apps/elftosb/common/SourceFile.cpp</li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><b>elftosb</b></li><li class="navelem"><a class="el" href="classelftosb_1_1_source_file.html">SourceFile</a></li>
|
|
<li class="footer">Generated on Mon Mar 7 2016 16:49:52 for Kinetis Bootloader Host by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|