XQuilla/docs/simple-api/MemBufFormatTarget_8hpp-source.html
2020-02-17 22:19:08 +01:00

128 lines
9.9 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>XQilla Simple API Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<a style="float:right;" href="http://sourceforge.net/projects/xqilla"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=152021&amp;type=2" border="0" alt="SourceForge.net Logo" /></a>
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
<div class="nav">
<a class="el" href="dir_000007.html">xerces-c-3.0.1</a>&nbsp;/&nbsp;<a class="el" href="dir_000008.html">src</a>&nbsp;/&nbsp;<a class="el" href="dir_000009.html">xercesc</a>&nbsp;/&nbsp;<a class="el" href="dir_000014.html">framework</a></div>
<h1>MemBufFormatTarget.hpp</h1><a href="MemBufFormatTarget_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>
00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</span>
00003 <span class="comment"> * contributor license agreements. See the NOTICE file distributed with</span>
00004 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
00005 <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span>
00006 <span class="comment"> * (the "License"); you may not use this file except in compliance with</span>
00007 <span class="comment"> * the License. You may obtain a copy of the License at</span>
00008 <span class="comment"> * </span>
00009 <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span>
00010 <span class="comment"> * </span>
00011 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
00012 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
00013 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
00014 <span class="comment"> * See the License for the specific language governing permissions and</span>
00015 <span class="comment"> * limitations under the License.</span>
00016 <span class="comment"> */</span>
00017
00018 <span class="comment">/*</span>
00019 <span class="comment"> * $Id: MemBufFormatTarget.hpp 553937 2007-07-06 16:02:19Z amassari $</span>
00020 <span class="comment"> */</span>
00021
00022 <span class="preprocessor">#if !defined(XERCESC_INCLUDE_GUARD_MEMBUFFORMATTARGET_HPP)</span>
<a name="l00023"></a><a class="code" href="MemBufFormatTarget_8hpp.html#a0">00023</a> <span class="preprocessor"></span><span class="preprocessor">#define XERCESC_INCLUDE_GUARD_MEMBUFFORMATTARGET_HPP</span>
00024 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include &lt;<a class="code" href="XMLFormatter_8hpp.html">xercesc/framework/XMLFormatter.hpp</a>&gt;</span>
00026
00027 XERCES_CPP_NAMESPACE_BEGIN
00028
00029 <span class="comment">/*</span>
00030 <span class="comment"> * The MemBufFormatTarget is a derivative from XMLFormatTarget, which user code</span>
00031 <span class="comment"> * may plug into DOMLSSerializer to retrieve the serialized XML stream (from DOM Tree)</span>
00032 <span class="comment"> * in a memory buffer.</span>
00033 <span class="comment"> *</span>
00034 <span class="comment"> * The MemBufFormatTarget is initalized to have a memory buffer of 1023 upon</span>
00035 <span class="comment"> * construction, which grows as needed. The buffer will be deleted when</span>
00036 <span class="comment"> * MemBufFormatTarget is destructed; or will be reset when the reset() function</span>
00037 <span class="comment"> * is called.</span>
00038 <span class="comment"> *</span>
00039 <span class="comment"> * The MemBufFormatTarget returns a NULL terminated XMLByte stream upon request,</span>
00040 <span class="comment"> * through the method getRawBuffer(), and user should make its own copy of the</span>
00041 <span class="comment"> * returned buffer if it intends to keep it independent on the state of the</span>
00042 <span class="comment"> * MemBufFormatTarget.</span>
00043 <span class="comment"> */</span>
00044
<a name="l00045"></a><a class="code" href="classxercesc_1_1MemBufFormatTarget.html">00045</a> <span class="keyword">class </span>XMLPARSER_EXPORT MemBufFormatTarget : <span class="keyword">public</span> <a class="code" href="classxercesc_1_1XMLFormatTarget.html">XMLFormatTarget</a> {
00046 <span class="keyword">public</span>:
00047
00050 MemBufFormatTarget
00051 (
00052 XMLSize_t initCapacity = 1023
00053 , <a class="code" href="classxercesc_1_1MemoryManager.html">MemoryManager</a>* <span class="keyword">const</span> manager = XMLPlatformUtils::fgMemoryManager
00054 ) ;
00055 ~MemBufFormatTarget();
00057
00058 <span class="comment">// -----------------------------------------------------------------------</span>
00059 <span class="comment">// Implementations of the format target interface</span>
00060 <span class="comment">// -----------------------------------------------------------------------</span>
00061 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classxercesc_1_1XMLFormatTarget.html#a1">writeChars</a>(<span class="keyword">const</span> XMLByte* <span class="keyword">const</span> toWrite
00062 , <span class="keyword">const</span> XMLSize_t count
00063 , <a class="code" href="classxercesc_1_1XMLFormatter.html">XMLFormatter</a>* <span class="keyword">const</span> formatter);
00064
00065 <span class="comment">// -----------------------------------------------------------------------</span>
00066 <span class="comment">// Getter</span>
00067 <span class="comment">// -----------------------------------------------------------------------</span>
00075 <span class="comment"></span> <span class="keyword">const</span> XMLByte* getRawBuffer() <span class="keyword">const</span>;
00076
<a name="l00084"></a><a class="code" href="classxercesc_1_1MemBufFormatTarget.html#a2">00084</a> XMLSize_t getLen()<span class="keyword"> const</span>
00085 <span class="keyword"> </span>{
00086 <span class="keywordflow">return</span> fIndex;
00087 }
00088
00095 <span class="keywordtype">void</span> reset();
00097
00098 <span class="keyword">private</span>:
00099 <span class="comment">// -----------------------------------------------------------------------</span>
00100 <span class="comment">// Unimplemented methods.</span>
00101 <span class="comment">// -----------------------------------------------------------------------</span>
00102 MemBufFormatTarget(<span class="keyword">const</span> MemBufFormatTarget&amp;);
00103 MemBufFormatTarget&amp; operator=(<span class="keyword">const</span> MemBufFormatTarget&amp;);
00104
00105 <span class="comment">// -----------------------------------------------------------------------</span>
00106 <span class="comment">// Private helpers</span>
00107 <span class="comment">// -----------------------------------------------------------------------</span>
00108 <span class="keywordtype">void</span> insureCapacity(<span class="keyword">const</span> XMLSize_t extraNeeded);
00109
00110 <span class="comment">// -----------------------------------------------------------------------</span>
00111 <span class="comment">// Private data members</span>
00112 <span class="comment">//</span>
00113 <span class="comment">// fDataBuf</span>
00114 <span class="comment">// The pointer to the buffer data. Its grown as needed. Its always</span>
00115 <span class="comment">// one larger than fCapacity, to leave room for the null terminator.</span>
00116 <span class="comment">//</span>
00117 <span class="comment">// fIndex</span>
00118 <span class="comment">// The current index into the buffer, as characters are appended</span>
00119 <span class="comment">// to it. If its zero, then the buffer is empty.</span>
00120 <span class="comment">//</span>
00121 <span class="comment">// fCapacity</span>
00122 <span class="comment">// The current capacity of the buffer. Its actually always one</span>
00123 <span class="comment">// larger, to leave room for the null terminator.</span>
00124 <span class="comment">//</span>
00125 <span class="comment">// -----------------------------------------------------------------------</span>
00126 <a class="code" href="classxercesc_1_1MemoryManager.html">MemoryManager</a>* fMemoryManager;
00127 XMLByte* fDataBuf;
00128 XMLSize_t fIndex;
00129 XMLSize_t fCapacity;
00130
00131 };
00132
00133 XERCES_CPP_NAMESPACE_END
00134
00135 <span class="preprocessor">#endif</span>
00136 <span class="preprocessor"></span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Sep 25 06:55:26 2009 for XQilla Simple API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>