blob: d46c5b207b2d36eb46f5d3a02f92cfa4a049bf44 [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: Base64 Class Reference</TITLE><link href="XercesApi.css" rel="stylesheet" type="text/css"></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="../resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="../resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="../resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="../graphics/api-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="../resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','../resources/button-xml-hi.gif','../resources/button-xml-lo.gif');" src="../resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','../resources/button-asf-hi.gif','../resources/button-asf-lo.gif');" src="../resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','../resources/button-w3c-hi.gif','../resources/button-w3c-lo.gif');" src="../resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="../resources/join.gif" vspace="0" width="120"><BR>
<A href="../../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','../graphics/ext-2-label-2.jpg','../graphics/ext-2-label-3.jpg');" src="../graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','../graphics/index-label-2.jpg','../graphics/index-label-3.jpg');" src="../graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../charter.html" onMouseOut="rolloverOff('side-charter');" onMouseOver="rolloverOn('side-charter');"><IMG alt="Charter" border="0" height="12" hspace="0" name="side-charter" onLoad="rolloverLoad('side-charter','../graphics/charter-label-2.jpg','../graphics/charter-label-3.jpg');" src="../graphics/charter-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','../graphics/releases-label-2.jpg','../graphics/releases-label-3.jpg');" src="../graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','../graphics/install-label-2.jpg','../graphics/install-label-3.jpg');" src="../graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xerces.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-20');" onMouseOver="rolloverOn('side-ext-20');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-20" onLoad="rolloverLoad('side-ext-20','../graphics/ext-20-label-2.jpg','../graphics/ext-20-label-3.jpg');" src="../graphics/ext-20-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','../graphics/build-label-2.jpg','../graphics/build-label-3.jpg');" src="../graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','../graphics/program-label-2.jpg','../graphics/program-label-3.jpg');" src="../graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','../graphics/samples-label-2.jpg','../graphics/samples-label-3.jpg');" src="../graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','../graphics/faqs-label-2.jpg','../graphics/faqs-label-3.jpg');" src="../graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','../graphics/api-label-2.jpg','../graphics/api-label-3.jpg');" src="../graphics/api-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-88');" onMouseOver="rolloverOn('side-ext-88');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-88" onLoad="rolloverLoad('side-ext-88','../graphics/ext-88-label-2.jpg','../graphics/ext-88-label-3.jpg');" src="../graphics/ext-88-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','../graphics/migrate-label-2.jpg','../graphics/migrate-label-3.jpg');" src="../graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','../graphics/feedback-label-2.jpg','../graphics/feedback-label-3.jpg');" src="../graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','../graphics/bug-report-label-2.jpg','../graphics/bug-report-label-3.jpg');" src="../graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../mailing-lists.html" onMouseOut="rolloverOff('side-mailing-lists');" onMouseOver="rolloverOn('side-mailing-lists');"><IMG alt="Mailing Lists" border="0" height="12" hspace="0" name="side-mailing-lists" onLoad="rolloverLoad('side-mailing-lists','../graphics/mailing-lists-label-2.jpg','../graphics/mailing-lists-label-3.jpg');" src="../graphics/mailing-lists-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../source-repository.html" onMouseOut="rolloverOff('side-source-repository');" onMouseOver="rolloverOn('side-source-repository');"><IMG alt="Source Repository" border="0" height="12" hspace="0" name="side-source-repository" onLoad="rolloverLoad('side-source-repository','../graphics/source-repository-label-2.jpg','../graphics/source-repository-label-3.jpg');" src="../graphics/source-repository-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../applications.html" onMouseOut="rolloverOff('side-applications');" onMouseOver="rolloverOn('side-applications');"><IMG alt="Applications" border="0" height="12" hspace="0" name="side-applications" onLoad="rolloverLoad('side-applications','../graphics/applications-label-2.jpg','../graphics/applications-label-3.jpg');" src="../graphics/applications-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="../resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#FFFFFF" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="../resources/void.gif" vspace="0" width="2"><B>API Docs for SAX and DOM</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="classes.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</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>
<h1>Base64 Class Reference</h1><!-- doxytag: class="Base64" -->
<p>
<a href="classBase64-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a> { <a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff09355835efa2eff3175639aa56b0ab555">Conf_RFC2045</a>,
<a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff02b8afb47ba4d571ebe7e18d73e4693d0">Conf_Schema</a>
}</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 XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBase64.html#0020eaf92c8cffa7d2cad75a1390fb07">getCanonicalRepresentation</a> (const XMLCh *const inputData, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const memMgr=0, <a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a> conform=Conf_RFC2045)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get canonical representation <a href="#0020eaf92c8cffa7d2cad75a1390fb07"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBase64.html#20e7b00115cdd987df2e545217f0a57e">encode</a> (const <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const inputData, const unsigned int inputLength, unsigned int *outputLength, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const memMgr=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Encodes octets into <a class="el" href="classBase64.html">Base64</a> data. <a href="#20e7b00115cdd987df2e545217f0a57e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBase64.html#df166d0714cd77d2ca828264adfc707b">decode</a> (const <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const inputData, unsigned int *decodedLength, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const memMgr=0, <a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a> conform=Conf_RFC2045)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decodes <a class="el" href="classBase64.html">Base64</a> data into octets. <a href="#df166d0714cd77d2ca828264adfc707b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static XMLCh *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBase64.html#7e8c2e947104e5fbc8cc84443422a7ba">decode</a> (const XMLCh *const inputData, unsigned int *decodedLength, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const memMgr=0, <a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a> conform=Conf_RFC2045)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decodes <a class="el" href="classBase64.html">Base64</a> data into XMLCh. <a href="#7e8c2e947104e5fbc8cc84443422a7ba"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBase64.html#e4b33275a717b35183c4b3f28cb6a0b8">decodeToXMLByte</a> (const XMLCh *const inputData, unsigned int *decodedLength, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const memMgr=0, <a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a> conform=Conf_RFC2045)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decodes <a class="el" href="classBase64.html">Base64</a> data into octets. <a href="#e4b33275a717b35183c4b3f28cb6a0b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBase64.html#be54a9197869f005c2bd626b3b9f155c">getDataLength</a> (const XMLCh *const inputData, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const memMgr=0, <a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a> conform=Conf_RFC2045)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get data length. <a href="#be54a9197869f005c2bd626b3b9f155c"></a><br></td></tr>
</table>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="cf90522d55eb3bcf9b5e01d7d10b0ff0"></a><!-- doxytag: member="Base64::Conformance" ref="cf90522d55eb3bcf9b5e01d7d10b0ff0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Base64::Conformance</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="cf90522d55eb3bcf9b5e01d7d10b0ff09355835efa2eff3175639aa56b0ab555"></a><!-- doxytag: member="Conf_RFC2045" ref="cf90522d55eb3bcf9b5e01d7d10b0ff09355835efa2eff3175639aa56b0ab555" args="" -->Conf_RFC2045</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="cf90522d55eb3bcf9b5e01d7d10b0ff02b8afb47ba4d571ebe7e18d73e4693d0"></a><!-- doxytag: member="Conf_Schema" ref="cf90522d55eb3bcf9b5e01d7d10b0ff02b8afb47ba4d571ebe7e18d73e4693d0" args="" -->Conf_Schema</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="20e7b00115cdd987df2e545217f0a57e"></a><!-- doxytag: member="Base64::encode" ref="20e7b00115cdd987df2e545217f0a57e" args="(const XMLByte *const inputData, const unsigned int inputLength, unsigned int *outputLength, MemoryManager *const memMgr=0)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a>* Base64::encode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const &nbsp;</td>
<td class="paramname"> <em>inputData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned int&nbsp;</td>
<td class="paramname"> <em>inputLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>outputLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>memMgr</em> = <code>0</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Encodes octets into <a class="el" href="classBase64.html">Base64</a> data.
<p>
NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call <a class="el" href="classXMLString.html#03bceaaa6421536d2534e759ec811639" title="Release the parameter char string that was allocated by the implementation (i.e.the...">XMLString::release</a> to release this returned buffer.<p>
If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.<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>inputData</em>&nbsp;</td><td>Binary data in XMLByte stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>inputLength</em>&nbsp;</td><td>Length of the XMLByte stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>outputLength</em>&nbsp;</td><td>Length of the encoded <a class="el" href="classBase64.html">Base64</a> byte stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>client provided memory manager </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Encoded <a class="el" href="classBase64.html">Base64</a> data in XMLByte stream, or NULL if input data can not be encoded. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classXMLString.html#013cfba494bdd5284d403400d1f8ed53" title="Release the parameter XMLByte string that was allocated by the implementation (i...">XMLString::release(XMLByte**)</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="df166d0714cd77d2ca828264adfc707b"></a><!-- doxytag: member="Base64::decode" ref="df166d0714cd77d2ca828264adfc707b" args="(const XMLByte *const inputData, unsigned int *decodedLength, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a>* Base64::decode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const &nbsp;</td>
<td class="paramname"> <em>inputData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>decodedLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>memMgr</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a>&nbsp;</td>
<td class="paramname"> <em>conform</em> = <code>Conf_RFC2045</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Decodes <a class="el" href="classBase64.html">Base64</a> data into octets.
<p>
NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call <a class="el" href="classXMLString.html#03bceaaa6421536d2534e759ec811639" title="Release the parameter char string that was allocated by the implementation (i.e.the...">XMLString::release</a> to release this returned buffer.<p>
If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.<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>inputData</em>&nbsp;</td><td><a class="el" href="classBase64.html">Base64</a> data in XMLByte stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>decodedLength</em>&nbsp;</td><td>Length of decoded XMLByte stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>client provided memory manager </td></tr>
<tr><td valign="top"></td><td valign="top"><em>conform</em>&nbsp;</td><td>conformance specified: if the input data conforms to the RFC 2045 it is allowed to have any number of whitespace characters inside; if it conforms to the XMLSchema specs, it is allowed to have at most one whitespace character between the quartets </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Decoded binary data in XMLByte stream, or NULL if input data can not be decoded. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classXMLString.html#013cfba494bdd5284d403400d1f8ed53" title="Release the parameter XMLByte string that was allocated by the implementation (i...">XMLString::release(XMLByte**)</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="7e8c2e947104e5fbc8cc84443422a7ba"></a><!-- doxytag: member="Base64::decode" ref="7e8c2e947104e5fbc8cc84443422a7ba" args="(const XMLCh *const inputData, unsigned int *decodedLength, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static XMLCh* Base64::decode </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>inputData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>decodedLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>memMgr</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a>&nbsp;</td>
<td class="paramname"> <em>conform</em> = <code>Conf_RFC2045</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Decodes <a class="el" href="classBase64.html">Base64</a> data into XMLCh.
<p>
NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call <a class="el" href="classXMLString.html#03bceaaa6421536d2534e759ec811639" title="Release the parameter char string that was allocated by the implementation (i.e.the...">XMLString::release</a> to release this returned buffer.<p>
If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.<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>inputData</em>&nbsp;</td><td><a class="el" href="classBase64.html">Base64</a> data in XMLCh stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>decodedLength</em>&nbsp;</td><td>Length of decoded XMLCh stream </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>client provided memory manager </td></tr>
<tr><td valign="top"></td><td valign="top"><em>conform</em>&nbsp;</td><td>conformance specified: if the input data conforms to the RFC 2045 it is allowed to have any number of whitespace characters inside; if it conforms to the XMLSchema specs, it is allowed to have at most one whitespace character between the quartets </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Decoded binary data in XMLCh stream, or NULL if input data can not be decoded. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classXMLString.html#4e96eb10d4bd0f0f5dc19fd17c748b43" title="Release the parameter XMLCh string that was allocated by the implementation (i.e...">XMLString::release(XMLCh**)</a> </dd></dl>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000020">Deprecated:</a></b></dt><dd>use decodeToXMLByte instead. </dd></dl>
</div>
</div><p>
<a class="anchor" name="e4b33275a717b35183c4b3f28cb6a0b8"></a><!-- doxytag: member="Base64::decodeToXMLByte" ref="e4b33275a717b35183c4b3f28cb6a0b8" args="(const XMLCh *const inputData, unsigned int *decodedLength, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="XercesDefs_8hpp.html#7470c7a32c59355685ebcd878a33f126">XMLByte</a>* Base64::decodeToXMLByte </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>inputData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&nbsp;</td>
<td class="paramname"> <em>decodedLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>memMgr</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a>&nbsp;</td>
<td class="paramname"> <em>conform</em> = <code>Conf_RFC2045</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Decodes <a class="el" href="classBase64.html">Base64</a> data into octets.
<p>
NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call <a class="el" href="classXMLString.html#03bceaaa6421536d2534e759ec811639" title="Release the parameter char string that was allocated by the implementation (i.e.the...">XMLString::release</a> to release this returned buffer.<p>
If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.<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>inputData</em>&nbsp;</td><td><a class="el" href="classBase64.html">Base64</a> data in XMLCh stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>decodedLength</em>&nbsp;</td><td>Length of decoded XMLByte stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>client provided memory manager </td></tr>
<tr><td valign="top"></td><td valign="top"><em>conform</em>&nbsp;</td><td>conformance specified: if the input data conforms to the RFC 2045 it is allowed to have any number of whitespace characters inside; if it conforms to the XMLSchema specs, it is allowed to have at most one whitespace character between the quartets </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Decoded binary data in XMLByte stream, or NULL if input data can not be decoded. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classXMLString.html#013cfba494bdd5284d403400d1f8ed53" title="Release the parameter XMLByte string that was allocated by the implementation (i...">XMLString::release(XMLByte**)</a> </dd></dl>
</div>
</div><p>
<a class="anchor" name="be54a9197869f005c2bd626b3b9f155c"></a><!-- doxytag: member="Base64::getDataLength" ref="be54a9197869f005c2bd626b3b9f155c" args="(const XMLCh *const inputData, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static int Base64::getDataLength </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>inputData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>memMgr</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a>&nbsp;</td>
<td class="paramname"> <em>conform</em> = <code>Conf_RFC2045</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Get data length.
<p>
Returns length of decoded data given an array containing encoded data.<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>inputData</em>&nbsp;</td><td><a class="el" href="classBase64.html">Base64</a> data in XMLCh stream. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>client provided memory manager </td></tr>
<tr><td valign="top"></td><td valign="top"><em>conform</em>&nbsp;</td><td>conformance specified </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Length of decoded data, or -1 if input data can not be decoded. </dd></dl>
</div>
</div><p>
<a class="anchor" name="0020eaf92c8cffa7d2cad75a1390fb07"></a><!-- doxytag: member="Base64::getCanonicalRepresentation" ref="0020eaf92c8cffa7d2cad75a1390fb07" args="(const XMLCh *const inputData, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static XMLCh* Base64::getCanonicalRepresentation </td>
<td>(</td>
<td class="paramtype">const XMLCh *const &nbsp;</td>
<td class="paramname"> <em>inputData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const &nbsp;</td>
<td class="paramname"> <em>memMgr</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classBase64.html#cf90522d55eb3bcf9b5e01d7d10b0ff0">Conformance</a>&nbsp;</td>
<td class="paramname"> <em>conform</em> = <code>Conf_RFC2045</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get canonical representation
<p>
Caller is responsible for the proper deallcation of the string returned.<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>inputData</em>&nbsp;</td><td>A string containing the <a class="el" href="classBase64.html">Base64</a> </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>client provided memory manager </td></tr>
<tr><td valign="top"></td><td valign="top"><em>conform</em>&nbsp;</td><td>conformance specified</td></tr>
</table>
</dl>
return: the canonical representation of the <a class="el" href="classBase64.html">Base64</a> if it is a valid <a class="el" href="classBase64.html">Base64</a> 0 otherwise
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Base64_8hpp-source.html">Base64.hpp</a></ul>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1" alt=""></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright &copy; 1994-2004 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>