blob: 534598d59c63c725ae2703b5016811d6f2ce6d89 [file] [log] [blame]
<!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>Apache log4cxx: LocationInfo 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="projectalign" style="padding-left: 0.5em;">
<div id="projectname"><a href="http://logging.apache.org/log4cxx">Apache log4cxx</a>
&#160;<span id="projectnumber">Version 0.10.0</span>
</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>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</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&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;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('classlog4cxx_1_1spi_1_1_location_info.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> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classlog4cxx_1_1spi_1_1_location_info-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">LocationInfo Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This class represents the location of a logging statement.
<a href="classlog4cxx_1_1spi_1_1_location_info.html#details">More...</a></p>
<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:a8bc4d9e60ee9a3440b769a30280731db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a8bc4d9e60ee9a3440b769a30280731db">LocationInfo</a> (const char *const fileName, const char *const functionName, int lineNumber)</td></tr>
<tr class="memdesc:a8bc4d9e60ee9a3440b769a30280731db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a8bc4d9e60ee9a3440b769a30280731db">More...</a><br /></td></tr>
<tr class="separator:a8bc4d9e60ee9a3440b769a30280731db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0658f719e32dcf0b98b329799b5bb9d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#ad0658f719e32dcf0b98b329799b5bb9d">LocationInfo</a> ()</td></tr>
<tr class="memdesc:ad0658f719e32dcf0b98b329799b5bb9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="#ad0658f719e32dcf0b98b329799b5bb9d">More...</a><br /></td></tr>
<tr class="separator:ad0658f719e32dcf0b98b329799b5bb9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c66f29df8b294b0d8cc432ca9238130"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a4c66f29df8b294b0d8cc432ca9238130">LocationInfo</a> (const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> &amp;src)</td></tr>
<tr class="memdesc:a4c66f29df8b294b0d8cc432ca9238130"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <a href="#a4c66f29df8b294b0d8cc432ca9238130">More...</a><br /></td></tr>
<tr class="separator:a4c66f29df8b294b0d8cc432ca9238130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1cd8347aa2cea39e2555df26a2da438"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#af1cd8347aa2cea39e2555df26a2da438">operator=</a> (const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> &amp;src)</td></tr>
<tr class="memdesc:af1cd8347aa2cea39e2555df26a2da438"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <a href="#af1cd8347aa2cea39e2555df26a2da438">More...</a><br /></td></tr>
<tr class="separator:af1cd8347aa2cea39e2555df26a2da438"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bb3912a3ce86b15842e79d0b421204"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#ac8bb3912a3ce86b15842e79d0b421204">clear</a> ()</td></tr>
<tr class="memdesc:ac8bb3912a3ce86b15842e79d0b421204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets location info to default state. <a href="#ac8bb3912a3ce86b15842e79d0b421204">More...</a><br /></td></tr>
<tr class="separator:ac8bb3912a3ce86b15842e79d0b421204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3d0dbc103a6e0a790b4950cca23cdd7"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#ab3d0dbc103a6e0a790b4950cca23cdd7">getClassName</a> () const </td></tr>
<tr class="memdesc:ab3d0dbc103a6e0a790b4950cca23cdd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the class name of the call site. <a href="#ab3d0dbc103a6e0a790b4950cca23cdd7">More...</a><br /></td></tr>
<tr class="separator:ab3d0dbc103a6e0a790b4950cca23cdd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ee81e40060d94bf70d03532fb7adb3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a09ee81e40060d94bf70d03532fb7adb3">getFileName</a> () const </td></tr>
<tr class="memdesc:a09ee81e40060d94bf70d03532fb7adb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the file name of the caller. <a href="#a09ee81e40060d94bf70d03532fb7adb3">More...</a><br /></td></tr>
<tr class="separator:a09ee81e40060d94bf70d03532fb7adb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae48a165945bebe01fd777069441e614e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#ae48a165945bebe01fd777069441e614e">getLineNumber</a> () const </td></tr>
<tr class="memdesc:ae48a165945bebe01fd777069441e614e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the line number of the caller. <a href="#ae48a165945bebe01fd777069441e614e">More...</a><br /></td></tr>
<tr class="separator:ae48a165945bebe01fd777069441e614e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73895866ce26c7a41b995a17c94aa54c"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a73895866ce26c7a41b995a17c94aa54c">getMethodName</a> () const </td></tr>
<tr class="memdesc:a73895866ce26c7a41b995a17c94aa54c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the method name of the caller. <a href="#a73895866ce26c7a41b995a17c94aa54c">More...</a><br /></td></tr>
<tr class="separator:a73895866ce26c7a41b995a17c94aa54c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c2de2e6f1f6297ab7e8244404bc1d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a55c2de2e6f1f6297ab7e8244404bc1d5">write</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_object_output_stream.html">log4cxx::helpers::ObjectOutputStream</a> &amp;os, <a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;p) const </td></tr>
<tr class="separator:a55c2de2e6f1f6297ab7e8244404bc1d5"><td class="memSeparator" colspan="2">&#160;</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:a9f7f7bf077e6098f76feb162945d0e11"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a9f7f7bf077e6098f76feb162945d0e11">getLocationUnavailable</a> ()</td></tr>
<tr class="separator:a9f7f7bf077e6098f76feb162945d0e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a9f0cc24df533ad326fa4821f469821d7"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a9f0cc24df533ad326fa4821f469821d7">NA</a></td></tr>
<tr class="memdesc:a9f0cc24df533ad326fa4821f469821d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">When location information is not available the constant <code>NA</code> is returned. <a href="#a9f0cc24df533ad326fa4821f469821d7">More...</a><br /></td></tr>
<tr class="separator:a9f0cc24df533ad326fa4821f469821d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84df6e0ea4e31ddae6164c3e72ebc2a1"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html#a84df6e0ea4e31ddae6164c3e72ebc2a1">NA_METHOD</a></td></tr>
<tr class="separator:a84df6e0ea4e31ddae6164c3e72ebc2a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class represents the location of a logging statement. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8bc4d9e60ee9a3440b769a30280731db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> </td>
<td>(</td>
<td class="paramtype">const char *const&#160;</td>
<td class="paramname"><em>fileName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const&#160;</td>
<td class="paramname"><em>functionName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>lineNumber</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
<dl class="section remark"><dt>Remarks</dt><dd>Used by LOG4CXX_LOCATION to generate location info for current code site </dd></dl>
</div>
</div>
<a class="anchor" id="ad0658f719e32dcf0b98b329799b5bb9d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
</div>
</div>
<a class="anchor" id="a4c66f29df8b294b0d8cc432ca9238130"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>source location </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac8bb3912a3ce86b15842e79d0b421204"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resets location info to default state. </p>
</div>
</div>
<a class="anchor" id="ab3d0dbc103a6e0a790b4950cca23cdd7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string getClassName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the class name of the call site. </p>
</div>
</div>
<a class="anchor" id="a09ee81e40060d94bf70d03532fb7adb3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* getFileName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the file name of the caller. </p>
<dl class="section return"><dt>Returns</dt><dd>file name, may be null. </dd></dl>
</div>
</div>
<a class="anchor" id="ae48a165945bebe01fd777069441e614e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int getLineNumber </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the line number of the caller. </p>
<dl class="section return"><dt>Returns</dt><dd>line number, -1 if not available. </dd></dl>
</div>
</div>
<a class="anchor" id="a9f7f7bf077e6098f76feb162945d0e11"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a>&amp; getLocationUnavailable </td>
<td>(</td>
<td class="paramname"></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">
</div>
</div>
<a class="anchor" id="a73895866ce26c7a41b995a17c94aa54c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string getMethodName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the method name of the caller. </p>
</div>
</div>
<a class="anchor" id="af1cd8347aa2cea39e2555df26a2da438"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a>&amp; operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classlog4cxx_1_1spi_1_1_location_info.html">LocationInfo</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>source location </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a55c2de2e6f1f6297ab7e8244404bc1d5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_output_stream.html">log4cxx::helpers::ObjectOutputStream</a> &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&#160;</td>
<td class="paramname"><em>p</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a9f0cc24df533ad326fa4821f469821d7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char* const NA</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>When location information is not available the constant <code>NA</code> is returned. </p>
<p>Current value of this string constant is <b>?</b>. </p>
</div>
</div>
<a class="anchor" id="a84df6e0ea4e31ddae6164c3e72ebc2a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char* const NA_METHOD</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="locationinfo_8h.html">locationinfo.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
</body>
</html>