blob: 73005b99a9816ecc6b65764eeb3cc599575f0c0d [file]
<!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: CharsetDecoder 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_charset_decoder.html">CharsetDecoder</a></div>
<h1>CharsetDecoder Class Reference</h1><!-- doxytag: class="log4cxx::helpers::CharsetDecoder" --><!-- doxytag: inherits="log4cxx::helpers::ObjectImpl" -->Inherits <a class="el" href="classlog4cxx_1_1helpers_1_1_object_impl.html">ObjectImpl</a>.
<p>
<a href="classlog4cxx_1_1helpers_1_1_charset_decoder-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
An abstract engine to transform a sequences of bytes in a specific charset into a LogString.
<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">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html#65657b3d303c69d05de066b0529cec02">~CharsetDecoder</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <a href="#65657b3d303c69d05de066b0529cec02"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual log4cxx_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html#284406bd29c41967c1d07411617187f0">decode</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_byte_buffer.html">ByteBuffer</a> &amp;in, <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;out)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decodes as many bytes as possible from the given input buffer, writing the results to the given output string. <a href="#284406bd29c41967c1d07411617187f0"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static CharsetDecoderPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html#21f47780c07b224b492023f717de556a">getDefaultDecoder</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get decoder for default charset. <a href="#21f47780c07b224b492023f717de556a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static CharsetDecoderPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html#86efca8d08e6c59afdf349c0219e3873">getDecoder</a> (const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;charset)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get decoder for specified character set. <a href="#86efca8d08e6c59afdf349c0219e3873"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static CharsetDecoderPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html#d54387499dd65b093d8b316fa2711e69">getUTF8Decoder</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get decoder for UTF-8. <a href="#d54387499dd65b093d8b316fa2711e69"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static CharsetDecoderPtr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html#0638fe0b7a899f339908b4bf90560956">getISOLatinDecoder</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get decoder for ISO-8859-1. <a href="#0638fe0b7a899f339908b4bf90560956"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html#e9e960069f22fa622cebd4aede808742">isError</a> (log4cxx_status_t stat)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determins if status value indicates an invalid byte sequence. <a href="#e9e960069f22fa622cebd4aede808742"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected 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_charset_decoder.html#809e9be4c8b780ce60826f716c40a80c">CharsetDecoder</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Protected constructor. <a href="#809e9be4c8b780ce60826f716c40a80c"></a><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="809e9be4c8b780ce60826f716c40a80c"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::CharsetDecoder" ref="809e9be4c8b780ce60826f716c40a80c" 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_charset_decoder.html">CharsetDecoder</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><code> [protected]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Protected constructor.
<p>
</td>
</tr>
</table>
<a class="anchor" name="65657b3d303c69d05de066b0529cec02"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::~CharsetDecoder" ref="65657b3d303c69d05de066b0529cec02" 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">virtual ~<a class="el" href="classlog4cxx_1_1helpers_1_1_charset_decoder.html">CharsetDecoder</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><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Destructor.
<p>
</td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="284406bd29c41967c1d07411617187f0"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::decode" ref="284406bd29c41967c1d07411617187f0" args="(ByteBuffer &amp;in, LogString &amp;out)=0" --><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 log4cxx_status_t decode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_byte_buffer.html">ByteBuffer</a> &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><a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>out</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [pure virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Decodes as many bytes as possible from the given input buffer, writing the results to the given output string.
<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>input buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>out</em>&nbsp;</td><td>output string. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>APR_SUCCESS if not encoding errors were found. </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="86efca8d08e6c59afdf349c0219e3873"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::getDecoder" ref="86efca8d08e6c59afdf349c0219e3873" args="(const LogString &amp;charset)" --><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">static CharsetDecoderPtr getDecoder </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>charset</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get decoder for specified character set.
<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>charset</em>&nbsp;</td><td>the following values should be recognized: "US-ASCII", "ISO-8859-1", "UTF-8", "UTF-16BE", "UTF-16LE". </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>decoder </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classlog4cxx_1_1helpers_1_1_illegal_argument_exception.html">IllegalArgumentException</a></em>&nbsp;</td><td>if charset is not recognized. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="21f47780c07b224b492023f717de556a"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::getDefaultDecoder" ref="21f47780c07b224b492023f717de556a" 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">static CharsetDecoderPtr getDefaultDecoder </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><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get decoder for default charset.
<p>
</td>
</tr>
</table>
<a class="anchor" name="0638fe0b7a899f339908b4bf90560956"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::getISOLatinDecoder" ref="0638fe0b7a899f339908b4bf90560956" 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">static CharsetDecoderPtr getISOLatinDecoder </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><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get decoder for ISO-8859-1.
<p>
</td>
</tr>
</table>
<a class="anchor" name="d54387499dd65b093d8b316fa2711e69"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::getUTF8Decoder" ref="d54387499dd65b093d8b316fa2711e69" 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">static CharsetDecoderPtr getUTF8Decoder </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><code> [static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Get decoder for UTF-8.
<p>
</td>
</tr>
</table>
<a class="anchor" name="e9e960069f22fa622cebd4aede808742"></a><!-- doxytag: member="log4cxx::helpers::CharsetDecoder::isError" ref="e9e960069f22fa622cebd4aede808742" args="(log4cxx_status_t stat)" --><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">static bool isError </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">log4cxx_status_t&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>stat</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inline, static]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Determins if status value indicates an invalid byte sequence.
<p>
</td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="charsetdecoder_8h.html">charsetdecoder.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>