128 lines
9.9 KiB
HTML
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&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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File 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> / <a class="el" href="dir_000008.html">src</a> / <a class="el" href="dir_000009.html">xercesc</a> / <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 <<a class="code" href="XMLFormatter_8hpp.html">xercesc/framework/XMLFormatter.hpp</a>></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&);
|
|
00103 MemBufFormatTarget& operator=(<span class="keyword">const</span> MemBufFormatTarget&);
|
|
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
|
|
<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>
|