<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--

 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.

--><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache log4cxx: InputStreamReader Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;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 id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="namespacelog4cxx.html">log4cxx</a>::<a class="el" href="namespacelog4cxx_1_1helpers.html">helpers</a>::<a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a></div>
<h1>InputStreamReader Class Reference</h1><!-- doxytag: class="log4cxx::helpers::InputStreamReader" --><!-- doxytag: inherits="log4cxx::helpers::Reader" -->Inherits <a class="el" href="classlog4cxx_1_1helpers_1_1_reader.html">Reader</a>.
<p>
<a href="classlog4cxx_1_1helpers_1_1_input_stream_reader-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classlog4cxx_1_1helpers_1_1_class.html">Class</a> for reading from character streams. 
<p>
Decorates a byte based <a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream.html">InputStream</a> and provides appropriate conversion to characters. 
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html#2ccea09f44998e25591e14d852fd5e60">InputStreamReader</a> (const InputStreamPtr &amp;in)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a> that uses the default charset.  <a href="#2ccea09f44998e25591e14d852fd5e60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html#834bd0b1cde7f69d8b0eee72af0ee1eb">InputStreamReader</a> (const InputStreamPtr &amp;in, const CharsetDecoderPtr &amp;enc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an <a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a> that uses the given charset decoder.  <a href="#834bd0b1cde7f69d8b0eee72af0ee1eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html#39d58e0ed5044edcb34bdf9318c42fc5">~InputStreamReader</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html#021faf2debe747733a05cbae0c838648">close</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">Pool</a> &amp;p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes the stream.  <a href="#021faf2debe747733a05cbae0c838648"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html#43138b11a291e56094482575c1b97595">read</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">Pool</a> &amp;p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html#7b5502ee1e14732e5c6817372f076497">getEncoding</a> () const </td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="2ccea09f44998e25591e14d852fd5e60"></a><!-- doxytag: member="log4cxx::helpers::InputStreamReader::InputStreamReader" ref="2ccea09f44998e25591e14d852fd5e60" args="(const InputStreamPtr &amp;in)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a>           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const InputStreamPtr &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>in</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates an <a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a> that uses the default charset. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>The input stream to decorate. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="834bd0b1cde7f69d8b0eee72af0ee1eb"></a><!-- doxytag: member="log4cxx::helpers::InputStreamReader::InputStreamReader" ref="834bd0b1cde7f69d8b0eee72af0ee1eb" args="(const InputStreamPtr &amp;in, const CharsetDecoderPtr &amp;enc)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a>           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const InputStreamPtr &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>in</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const CharsetDecoderPtr &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>enc</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates an <a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a> that uses the given charset decoder. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>The input stream to decorate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>enc</em>&nbsp;</td><td>The charset decoder to use for the conversion. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="39d58e0ed5044edcb34bdf9318c42fc5"></a><!-- doxytag: member="log4cxx::helpers::InputStreamReader::~InputStreamReader" ref="39d58e0ed5044edcb34bdf9318c42fc5" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">~<a class="el" href="classlog4cxx_1_1helpers_1_1_input_stream_reader.html">InputStreamReader</a>           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="021faf2debe747733a05cbae0c838648"></a><!-- doxytag: member="log4cxx::helpers::InputStreamReader::close" ref="021faf2debe747733a05cbae0c838648" args="(Pool &amp;p)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual void close           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">Pool</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Closes the stream. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The memory pool associated with the reader. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classlog4cxx_1_1helpers_1_1_reader.html#b3f66bab8413777d603554f49a1f26e6">Reader</a>.    </td>
  </tr>
</table>
<a class="anchor" name="7b5502ee1e14732e5c6817372f076497"></a><!-- doxytag: member="log4cxx::helpers::InputStreamReader::getEncoding" ref="7b5502ee1e14732e5c6817372f076497" args="() const " --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> getEncoding           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const</td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>The name of the character encoding being used by this stream. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="43138b11a291e56094482575c1b97595"></a><!-- doxytag: member="log4cxx::helpers::InputStreamReader::read" ref="43138b11a291e56094482575c1b97595" args="(Pool &amp;p)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> read           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">Pool</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>The complete stream contents as a LogString. </dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The memory pool associated with the reader. </td></tr>
  </table>
</dl>

<p>
Implements <a class="el" href="classlog4cxx_1_1helpers_1_1_reader.html#348926111be4f439b0adbcd023b31995">Reader</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="inputstreamreader_8h.html">inputstreamreader.h</a></ul>
<!--
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>
