aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/o__xml_8cpp-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/o__xml_8cpp-source.html')
-rw-r--r--docs/doxygen/nel/o__xml_8cpp-source.html750
1 files changed, 750 insertions, 0 deletions
diff --git a/docs/doxygen/nel/o__xml_8cpp-source.html b/docs/doxygen/nel/o__xml_8cpp-source.html
new file mode 100644
index 00000000..0f875108
--- /dev/null
+++ b/docs/doxygen/nel/o__xml_8cpp-source.html
@@ -0,0 +1,750 @@
+<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<HTML>
+<HEAD>
+ <TITLE>nevrax.org : docs</TITLE>
+ <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css">
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY MARGINHEIGHT="0" MARGINWIDTH="0">
+
+<!-- uplinks -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle>&nbsp;<A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A>&nbsp;&nbsp;&nbsp;</TD>
+ </TR>
+</TABLE>
+
+<!-- banner Nevrax -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
+ <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR>
+</TABLE>
+
+<!-- main table -->
+<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%>
+ <TR>
+ <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD>
+ <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+ <!------ Begin Box ------>
+ <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black>
+ <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF>
+ <TABLE cellspacing=0 cellpadding=1 border=0>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr>
+ <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr>
+ </TABLE>
+ </TD></TR></TABLE></TD></TR></TABLE>
+ <!------ End Box ------>
+
+ </TD>
+ <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD>
+ <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT="">
+
+<!-- title -->
+<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td>
+<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A>
+</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT="">
+</td></tr></table>
+&nbsp;
+
+<!-- block -->
+<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD>
+ <TD><B>Documentation</B></TD>
+ <TD ALIGN=RIGHT>&nbsp;</td>
+</tr></table>
+<!-- Generated by Doxygen 1.2.14 -->
+<center>
+<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> &nbsp; </center>
+<hr><h1>o_xml.cpp</h1><a href="o__xml_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001
+00007 <font class="comment">/* Copyright, 2000, 2001 Nevrax Ltd.</font>
+00008 <font class="comment"> *</font>
+00009 <font class="comment"> * This file is part of NEVRAX NEL.</font>
+00010 <font class="comment"> * NEVRAX NEL is free software; you can redistribute it and/or modify</font>
+00011 <font class="comment"> * it under the terms of the GNU General Public License as published by</font>
+00012 <font class="comment"> * the Free Software Foundation; either version 2, or (at your option)</font>
+00013 <font class="comment"> * any later version.</font>
+00014 <font class="comment"></font>
+00015 <font class="comment"> * NEVRAX NEL is distributed in the hope that it will be useful, but</font>
+00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font>
+00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font>
+00018 <font class="comment"> * General Public License for more details.</font>
+00019 <font class="comment"></font>
+00020 <font class="comment"> * You should have received a copy of the GNU General Public License</font>
+00021 <font class="comment"> * along with NEVRAX NEL; see the file COPYING. If not, write to the</font>
+00022 <font class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font>
+00023 <font class="comment"> * MA 02111-1307, USA.</font>
+00024 <font class="comment"> */</font>
+00025
+00026 <font class="preprocessor">#include "<a class="code" href="stdmisc_8h.html">stdmisc.h</a>"</font>
+00027
+00028 <font class="preprocessor">#include "<a class="code" href="o__xml_8h.html">nel/misc/o_xml.h</a>"</font>
+00029
+00030 <font class="preprocessor">#ifndef NL_DONT_USE_EXTERNAL_CODE</font>
+00031 <font class="preprocessor"></font>
+00032 <font class="keyword">using</font> <font class="keyword">namespace </font>std;
+00033
+00034 <font class="keyword">namespace </font>NLMISC
+00035 {
+00036
+00037 <font class="comment">// ***************************************************************************</font>
+00038
+00039 <font class="keyword">const</font> <font class="keywordtype">char</font> <a class="code" href="namespaceNLMISC.html#a169">SEPARATOR</a> = <font class="charliteral">' '</font>;
+00040
+00041 <font class="comment">// ***************************************************************************</font>
+00042
+<a name="l00043"></a><a class="code" href="o__xml_8cpp.html#a0">00043</a> <font class="preprocessor">#define writenumber(src,format,digits) \</font>
+00044 <font class="preprocessor"> char number_as_cstring [digits+1]; \</font>
+00045 <font class="preprocessor"> sprintf( number_as_cstring, format, src ); \</font>
+00046 <font class="preprocessor"> serialSeparatedBufferOut( number_as_cstring );</font>
+00047 <font class="preprocessor"></font>
+00048 <font class="comment">// ***************************************************************************</font>
+00049
+<a name="l00050"></a><a class="code" href="classNLMISC_1_1COXml.html#c23">00050</a> <font class="keyword">inline</font> <font class="keywordtype">void</font> COXml::flushContentString ()
+00051 {
+00052 <font class="comment">// Current node must exist here</font>
+00053 <a class="code" href="debug_8h.html#a6">nlassert</a> (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>);
+00054
+00055 <font class="comment">// String size</font>
+00056 uint size=<a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a>.length();
+00057
+00058 <font class="comment">// Some content to write ?</font>
+00059 <font class="keywordflow">if</font> (size)
+00060 {
+00061 <font class="comment">// Write it in the current node</font>
+00062 xmlNodePtr textNode = xmlNewText ((<font class="keyword">const</font> xmlChar *)<a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a>.c_str());
+00063 xmlAddChild (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>, textNode);
+00064
+00065 <font class="comment">// Empty the string</font>
+00066 <a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a>.erase ();
+00067 }
+00068 }
+00069
+00070 <font class="comment">// ***************************************************************************</font>
+00071
+<a name="l00072"></a><a class="code" href="classNLMISC_1_1COXml.html#a0">00072</a> COXml::COXml () : IStream (false <font class="comment">/* Output mode */</font>)
+00073 {
+00074 <font class="comment">// Set XML mode</font>
+00075 <a class="code" href="classNLMISC_1_1IStream.html#b0">setXMLMode</a> (<font class="keyword">true</font>);
+00076
+00077 <font class="comment">// Set the stream</font>
+00078 <a class="code" href="classNLMISC_1_1COXml.html#o3">_InternalStream</a> = NULL;
+00079
+00080 <font class="comment">// Set the version</font>
+00081 <a class="code" href="classNLMISC_1_1COXml.html#o5">_Version</a> = <font class="stringliteral">"1.0"</font>;
+00082
+00083 <font class="comment">// Initialise the document</font>
+00084 <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a> = NULL;
+00085
+00086 <font class="comment">// Current node</font>
+00087 <a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a> = NULL;
+00088
+00089 <font class="comment">// Content string</font>
+00090 <a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a> = <font class="stringliteral">""</font>;
+00091
+00092 <font class="comment">// Push begin</font>
+00093 <a class="code" href="classNLMISC_1_1COXml.html#o0">_PushBegin</a> = <font class="keyword">false</font>;
+00094 }
+00095
+00096 <font class="comment">// ***************************************************************************</font>
+00097
+<a name="l00098"></a><a class="code" href="classNLMISC_1_1COXml.html#a1">00098</a> <font class="keywordtype">bool</font> COXml::init (IStream *stream, <font class="keyword">const</font> <font class="keywordtype">char</font> *version)
+00099 {
+00100 <font class="comment">// Output stream ?</font>
+00101 <font class="keywordflow">if</font> (!stream-&gt;isReading())
+00102 {
+00103 <font class="comment">// Set XML mode</font>
+00104 <a class="code" href="classNLMISC_1_1IStream.html#b0">setXMLMode</a> (<font class="keyword">true</font>);
+00105
+00106 <font class="comment">// Set the stream</font>
+00107 <a class="code" href="classNLMISC_1_1COXml.html#o3">_InternalStream</a> = stream;
+00108
+00109 <font class="comment">// Set the version</font>
+00110 <a class="code" href="classNLMISC_1_1COXml.html#o5">_Version</a> = version;
+00111
+00112 <font class="comment">// Initialise the document</font>
+00113 <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a> = NULL;
+00114
+00115 <font class="comment">// Current node</font>
+00116 <a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a> = NULL;
+00117
+00118 <font class="comment">// Content string</font>
+00119 <a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a> = <font class="stringliteral">""</font>;
+00120
+00121 <font class="comment">// Push begin</font>
+00122 <a class="code" href="classNLMISC_1_1COXml.html#o0">_PushBegin</a> = <font class="keyword">false</font>;
+00123
+00124 <font class="comment">// Ok</font>
+00125 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00126 }
+00127 <font class="keywordflow">else</font>
+00128 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00129 }
+00130
+00131 <font class="comment">// ***************************************************************************</font>
+00132
+<a name="l00133"></a><a class="code" href="classNLMISC_1_1COXml.html#a2">00133</a> COXml::~COXml ()
+00134 {
+00135 <font class="comment">// Flush document to the internal stream</font>
+00136 <a class="code" href="classNLMISC_1_1COXml.html#a3">flush</a> ();
+00137 }
+00138
+00139 <font class="comment">// ***************************************************************************</font>
+00140
+<a name="l00141"></a><a class="code" href="classNLMISC_1_1COXml.html#c22">00141</a> <font class="keywordtype">void</font> COXml::serialSeparatedBufferOut( <font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a> )
+00142 {
+00143 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00144
+00145 <font class="comment">// Output stream has been setuped ?</font>
+00146 <font class="keywordflow">if</font> ( _InternalStream )
+00147 {
+00148 <font class="comment">// Current node presents ?</font>
+00149 <font class="keywordflow">if</font> (_CurrentNode)
+00150 {
+00151 <font class="comment">// Write a push attribute ?</font>
+00152 <font class="keywordflow">if</font> (_PushBegin)
+00153 {
+00154 <font class="comment">// Current attrib is set ?</font>
+00155 <font class="keywordflow">if</font> (_AttribPresent)
+00156 {
+00157 <font class="comment">// Set the attribute</font>
+00158 xmlSetProp (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>, (<font class="keyword">const</font> xmlChar*)<a class="code" href="classNLMISC_1_1COXml.html#o2">_AttribName</a>.c_str(), (<font class="keyword">const</font> xmlChar*)<a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>);
+00159
+00160 <font class="comment">// The attribute has been used </font>
+00161 <a class="code" href="classNLMISC_1_1COXml.html#o1">_AttribPresent</a> = <font class="keyword">false</font>;
+00162 }
+00163 <font class="keywordflow">else</font>
+00164 {
+00165 <font class="comment">// * Error, the stream don't use XML streaming properly</font>
+00166 <font class="comment">// * You must take care of this in your last serial call:</font>
+00167 <font class="comment">// * - Between xmlPushBegin() and xmlPushEnd(), before each serial, you must set the attribute name with xmlSetAttrib.</font>
+00168 <font class="comment">// * - Between xmlPushBegin() and xmlPushEnd(), you must serial only basic objects (numbers and strings).</font>
+00169 <a class="code" href="debug_8h.html#a3">nlerror</a> ( <font class="stringliteral">"Error, the stream don't use XML streaming properly"</font> );
+00170 }
+00171 }
+00172 <font class="keywordflow">else</font>
+00173 {
+00174 <font class="comment">// Get the content buffer size</font>
+00175 uint size=<a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a>.length();
+00176
+00177 <font class="comment">// Add a separator</font>
+00178 <font class="keywordflow">if</font> ((size) &amp;&amp; (<a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a>[size-1]!=<font class="charliteral">'\n'</font>))
+00179 <a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a> += <a class="code" href="namespaceNLMISC.html#a169">SEPARATOR</a>;
+00180
+00181 <font class="comment">// Concat the strings</font>
+00182 <a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a> += <a class="code" href="driver__opengl__extension__def_8h.html#a415">value</a>;
+00183 }
+00184 }
+00185 <font class="keywordflow">else</font>
+00186 {
+00187 <font class="comment">// * Error, no current node present.</font>
+00188 <font class="comment">// * Check that your serial is initialy made between a xmlPushBegin and xmlPushEnd calls.</font>
+00189 <a class="code" href="debug_8h.html#a3">nlerror</a> ( <font class="stringliteral">"Error, the stream don't use XML streaming properly"</font> );
+00190 }
+00191 }
+00192 <font class="keywordflow">else</font>
+00193 {
+00194 <a class="code" href="debug_8h.html#a3">nlerror</a> ( <font class="stringliteral">"Output stream has not been setuped"</font> );
+00195 }
+00196 }
+00197
+00198 <font class="comment">// ***************************************************************************</font>
+00199
+<a name="l00200"></a><a class="code" href="classNLMISC_1_1COXml.html#c0">00200</a> <font class="keywordtype">void</font> COXml::serial(uint8 &amp;b)
+00201 {
+00202 <font class="comment">// Write the number</font>
+00203 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( (uint16)b,<font class="stringliteral">"%hu"</font>, 3 );
+00204 }
+00205
+00206 <font class="comment">// ***************************************************************************</font>
+00207
+<a name="l00208"></a><a class="code" href="classNLMISC_1_1COXml.html#c1">00208</a> <font class="keywordtype">void</font> COXml::serial(sint8 &amp;b)
+00209 {
+00210 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( (sint16)b, <font class="stringliteral">"%hd"</font>, 4 );
+00211 }
+00212
+00213 <font class="comment">// ***************************************************************************</font>
+00214
+<a name="l00215"></a><a class="code" href="classNLMISC_1_1COXml.html#c2">00215</a> <font class="keywordtype">void</font> COXml::serial(uint16 &amp;b)
+00216 {
+00217 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( b, <font class="stringliteral">"%hu"</font>, 5 );
+00218 }
+00219
+00220 <font class="comment">// ***************************************************************************</font>
+00221
+<a name="l00222"></a><a class="code" href="classNLMISC_1_1COXml.html#c3">00222</a> <font class="keywordtype">void</font> COXml::serial(sint16 &amp;b)
+00223 {
+00224 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( b, <font class="stringliteral">"%hd"</font>, 6 );
+00225 }
+00226
+00227 <font class="comment">// ***************************************************************************</font>
+00228
+<a name="l00229"></a><a class="code" href="classNLMISC_1_1COXml.html#c4">00229</a> <font class="keywordtype">void</font> COXml::serial(uint32 &amp;b)
+00230 {
+00231 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( b, <font class="stringliteral">"%u"</font>, 10 );
+00232 }
+00233
+00234 <font class="comment">// ***************************************************************************</font>
+00235
+<a name="l00236"></a><a class="code" href="classNLMISC_1_1COXml.html#c5">00236</a> <font class="keywordtype">void</font> COXml::serial(sint32 &amp;b)
+00237 {
+00238 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( b, <font class="stringliteral">"%d"</font>, 11 );
+00239 }
+00240
+00241 <font class="comment">// ***************************************************************************</font>
+00242
+<a name="l00243"></a><a class="code" href="classNLMISC_1_1COXml.html#c6">00243</a> <font class="keywordtype">void</font> COXml::serial(uint64 &amp;b)
+00244 {
+00245 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( b, <font class="stringliteral">"%"</font>NL_I64<font class="stringliteral">"u"</font>, 20 );
+00246 }
+00247
+00248 <font class="comment">// ***************************************************************************</font>
+00249
+<a name="l00250"></a><a class="code" href="classNLMISC_1_1COXml.html#c7">00250</a> <font class="keywordtype">void</font> COXml::serial(sint64 &amp;b)
+00251 {
+00252 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( b, <font class="stringliteral">"%"</font>NL_I64<font class="stringliteral">"d"</font>, 20 );
+00253 }
+00254
+00255 <font class="comment">// ***************************************************************************</font>
+00256
+<a name="l00257"></a><a class="code" href="classNLMISC_1_1COXml.html#c8">00257</a> <font class="keywordtype">void</font> COXml::serial(<font class="keywordtype">float</font> &amp;b)
+00258 {
+00259 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( (<font class="keywordtype">double</font>)b, <font class="stringliteral">"%f"</font>, 128 );
+00260 }
+00261
+00262 <font class="comment">// ***************************************************************************</font>
+00263
+<a name="l00264"></a><a class="code" href="classNLMISC_1_1COXml.html#c9">00264</a> <font class="keywordtype">void</font> COXml::serial(<font class="keywordtype">double</font> &amp;b)
+00265 {
+00266 <a class="code" href="mem__stream_8h.html#a1">writenumber</a>( b, <font class="stringliteral">"%f"</font>, 128 );
+00267 }
+00268
+00269 <font class="comment">// ***************************************************************************</font>
+00270
+<a name="l00271"></a><a class="code" href="classNLMISC_1_1COXml.html#c10">00271</a> <font class="keywordtype">void</font> COXml::serial(<font class="keywordtype">bool</font> &amp;b)
+00272 {
+00273 <a class="code" href="classNLMISC_1_1COXml.html#c15">serialBit</a>(b);
+00274 }
+00275
+00276 <font class="comment">// ***************************************************************************</font>
+00277
+<a name="l00278"></a><a class="code" href="classNLMISC_1_1COXml.html#c15">00278</a> <font class="keywordtype">void</font> COXml::serialBit(<font class="keywordtype">bool</font> &amp;bit)
+00279 {
+00280 uint8 u = (uint8)bit;
+00281 <a class="code" href="classNLMISC_1_1COXml.html#c0">serial</a>( u );
+00282 }
+00283
+00284 <font class="comment">// ***************************************************************************</font>
+00285
+00286 <font class="preprocessor">#ifndef NL_OS_CYGWIN</font>
+<a name="l00287"></a><a class="code" href="classNLMISC_1_1COXml.html#c11">00287</a> <font class="preprocessor"></font><font class="keywordtype">void</font> COXml::serial(<font class="keywordtype">char</font> &amp;b)
+00288 {
+00289 <font class="keywordtype">char</font> tmp[2] = {b , 0};
+00290 <a class="code" href="classNLMISC_1_1COXml.html#c22">serialSeparatedBufferOut</a>( tmp );
+00291 }
+00292 <font class="preprocessor">#endif // NL_OS_CYGWIN</font>
+00293 <font class="preprocessor"></font>
+00294 <font class="comment">// ***************************************************************************</font>
+00295
+<a name="l00296"></a><a class="code" href="classNLMISC_1_1COXml.html#c12">00296</a> <font class="keywordtype">void</font> COXml::serial(std::string &amp;b)
+00297 {
+00298 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00299
+00300 <font class="comment">// Attibute ?</font>
+00301 <font class="keywordflow">if</font> (_PushBegin)
+00302 {
+00303 <font class="comment">// Only serial the string</font>
+00304 <a class="code" href="classNLMISC_1_1COXml.html#c22">serialSeparatedBufferOut</a>( b.c_str() );
+00305 }
+00306 <font class="keywordflow">else</font>
+00307 {
+00308 <font class="comment">// Open a string node</font>
+00309 <a class="code" href="classNLMISC_1_1IStream.html#a38">xmlPush</a> (<font class="stringliteral">"S"</font>);
+00310
+00311 <font class="comment">// Serial the string</font>
+00312 <a class="code" href="classNLMISC_1_1COXml.html#c22">serialSeparatedBufferOut</a>( b.c_str() );
+00313
+00314 <font class="comment">// Close the node</font>
+00315 <a class="code" href="classNLMISC_1_1IStream.html#a41">xmlPop</a> ();
+00316 }
+00317 }
+00318
+00319 <font class="comment">// ***************************************************************************</font>
+00320
+<a name="l00321"></a><a class="code" href="classNLMISC_1_1COXml.html#c13">00321</a> <font class="keywordtype">void</font> COXml::serial(<a class="code" href="classucstring.html">ucstring</a> &amp;b)
+00322 {
+00323 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00324
+00325 <font class="comment">// Iniput size</font>
+00326 uint size=b.length();
+00327
+00328 <font class="comment">// Output string</font>
+00329 string output;
+00330 output.resize (b.length());
+00331
+00332 <font class="comment">// For each character</font>
+00333 <font class="keywordflow">for</font> (uint i=0; i&lt;size; i++)
+00334 {
+00335 <font class="comment">// 7 bits code ?</font>
+00336 <font class="keywordflow">if</font> (b[i]&lt;0x7F)
+00337 {
+00338 output[i]=(char)b[i];
+00339 }
+00340 <font class="keywordflow">else</font>
+00341 {
+00343 <a class="code" href="debug_8h.html#a2">nlwarning</a> (<font class="stringliteral">"handle ucstring to utf-8"</font>);
+00344 output[i]=(b[i]&amp;0xff);
+00345 }
+00346 }
+00347
+00348 <font class="comment">// Serial this string</font>
+00349 <a class="code" href="classNLMISC_1_1COXml.html#c0">serial</a> (output);
+00350 }
+00351
+00352 <font class="comment">// ***************************************************************************</font>
+00353
+<a name="l00354"></a><a class="code" href="classNLMISC_1_1COXml.html#c14">00354</a> <font class="keywordtype">void</font> COXml::serialBuffer(uint8 *buf, uint len)
+00355 {
+00356 <font class="comment">// Open a node</font>
+00357 <a class="code" href="classNLMISC_1_1IStream.html#a38">xmlPush</a> (<font class="stringliteral">"BUFFER"</font>);
+00358
+00359 <font class="comment">// Serialize the buffer</font>
+00360 <font class="keywordflow">for</font> (uint i=0; i&lt;len; i++)
+00361 {
+00362 <a class="code" href="classNLMISC_1_1IStream.html#a38">xmlPush</a> (<font class="stringliteral">"ELM"</font>);
+00363
+00364 <a class="code" href="classNLMISC_1_1COXml.html#c0">serial</a> (buf[i]);
+00365
+00366 <a class="code" href="classNLMISC_1_1IStream.html#a41">xmlPop</a> ();
+00367 }
+00368
+00369 <font class="comment">// Close the node</font>
+00370 <a class="code" href="classNLMISC_1_1IStream.html#a41">xmlPop</a> ();
+00371 }
+00372
+00373 <font class="comment">// ***************************************************************************</font>
+00374
+<a name="l00375"></a><a class="code" href="classNLMISC_1_1COXml.html#c16">00375</a> <font class="keywordtype">bool</font> COXml::xmlPushBeginInternal (<font class="keyword">const</font> <font class="keywordtype">char</font> *nodeName)
+00376 {
+00377 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00378
+00379 <font class="comment">// Check _InternalStream</font>
+00380 <font class="keywordflow">if</font> ( _InternalStream )
+00381 {
+00382 <font class="comment">// Can make a xmlPushBegin ?</font>
+00383 <font class="keywordflow">if</font> ( ! <a class="code" href="classNLMISC_1_1COXml.html#o0">_PushBegin</a> )
+00384 {
+00385 <font class="comment">// Current node exist ?</font>
+00386 <font class="keywordflow">if</font> (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>==NULL)
+00387 {
+00388 <font class="comment">// No document ?</font>
+00389 <font class="keywordflow">if</font> (<a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a> == NULL)
+00390 {
+00391 <font class="comment">// Initialise the document</font>
+00392 <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a> = xmlNewDoc ((<font class="keyword">const</font> xmlChar *)<a class="code" href="classNLMISC_1_1COXml.html#o5">_Version</a>.c_str());
+00393
+00394 <font class="comment">// Return NULL if error</font>
+00395 <a class="code" href="debug_8h.html#a6">nlassert</a> (<a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a>);
+00396 }
+00397
+00398 <font class="comment">// Create the first node</font>
+00399 <a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>=xmlNewDocNode (<a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a>, NULL, (<font class="keyword">const</font> xmlChar*)nodeName, NULL);
+00400 xmlDocSetRootElement (<a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a>, <a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>);
+00401
+00402 <font class="comment">// Return NULL if error</font>
+00403 <a class="code" href="debug_8h.html#a6">nlassert</a> (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>);
+00404 }
+00405 <font class="keywordflow">else</font>
+00406 {
+00407 <font class="comment">// Flush current content string ?</font>
+00408 <a class="code" href="classNLMISC_1_1COXml.html#c23">flushContentString</a> ();
+00409
+00410 <font class="comment">// Create a new node</font>
+00411 <a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>=xmlNewChild (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>, NULL, (<font class="keyword">const</font> xmlChar*)nodeName, NULL);
+00412
+00413 <font class="comment">// Return NULL if error</font>
+00414 <a class="code" href="debug_8h.html#a6">nlassert</a> (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>);
+00415 }
+00416
+00417 <font class="comment">// Push begun</font>
+00418 <a class="code" href="classNLMISC_1_1COXml.html#o0">_PushBegin</a> = <font class="keyword">true</font>;
+00419 }
+00420 <font class="keywordflow">else</font>
+00421 {
+00422 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"You must close your xmlPushBegin - xmlPushEnd before calling a new xmlPushBegin."</font>);
+00423 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00424 }
+00425 }
+00426 <font class="keywordflow">else</font>
+00427 {
+00428 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"Output stream has not been setuped."</font>);
+00429 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00430 }
+00431
+00432 <font class="comment">// Ok</font>
+00433 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00434 }
+00435
+00436 <font class="comment">// ***************************************************************************</font>
+00437
+<a name="l00438"></a><a class="code" href="classNLMISC_1_1COXml.html#c17">00438</a> <font class="keywordtype">bool</font> COXml::xmlPushEndInternal ()
+00439 {
+00440 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00441
+00442 <font class="comment">// Check _InternalStream</font>
+00443 <font class="keywordflow">if</font> ( _InternalStream )
+00444 {
+00445 <font class="comment">// Can make a xmlPushEnd ?</font>
+00446 <font class="keywordflow">if</font> ( _PushBegin )
+00447 {
+00448 <font class="comment">// Push begun</font>
+00449 <a class="code" href="classNLMISC_1_1COXml.html#o0">_PushBegin</a> = <font class="keyword">false</font>;
+00450 }
+00451 <font class="keywordflow">else</font>
+00452 {
+00453 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"You must call xmlPushBegin before calling xmlPushEnd."</font>);
+00454 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00455 }
+00456 }
+00457 <font class="keywordflow">else</font>
+00458 {
+00459 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"Output stream has not been setuped."</font>);
+00460 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00461 }
+00462
+00463 <font class="comment">// Ok</font>
+00464 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00465 }
+00466
+00467 <font class="comment">// ***************************************************************************</font>
+00468
+<a name="l00469"></a><a class="code" href="classNLMISC_1_1COXml.html#c18">00469</a> <font class="keywordtype">bool</font> COXml::xmlPopInternal ()
+00470 {
+00471 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00472
+00473 <font class="comment">// Check _InternalStream</font>
+00474 <font class="keywordflow">if</font> ( _InternalStream )
+00475 {
+00476 <font class="comment">// Not in the push mode ?</font>
+00477 <font class="keywordflow">if</font> ( ! <a class="code" href="classNLMISC_1_1COXml.html#o0">_PushBegin</a> )
+00478 {
+00479 <font class="comment">// Some content to write ?</font>
+00480 <a class="code" href="classNLMISC_1_1COXml.html#c23">flushContentString</a> ();
+00481
+00482 <font class="comment">// Get parent</font>
+00483 <a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>=<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>-&gt;parent;
+00484 }
+00485 <font class="keywordflow">else</font>
+00486 {
+00487 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"You must call xmlPop after xmlPushEnd."</font>);
+00488 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00489 }
+00490 }
+00491 <font class="keywordflow">else</font>
+00492 {
+00493 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"Output stream has not been setuped."</font>);
+00494 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00495 }
+00496
+00497 <font class="comment">// Ok</font>
+00498 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00499 }
+00500
+00501 <font class="comment">// ***************************************************************************</font>
+00502
+<a name="l00503"></a><a class="code" href="classNLMISC_1_1COXml.html#c19">00503</a> <font class="keywordtype">bool</font> COXml::xmlSetAttribInternal (<font class="keyword">const</font> <font class="keywordtype">char</font> *attribName)
+00504 {
+00505 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00506
+00507 <font class="comment">// Check _InternalStream</font>
+00508 <font class="keywordflow">if</font> ( _InternalStream )
+00509 {
+00510 <font class="comment">// Can make a xmlPushEnd ?</font>
+00511 <font class="keywordflow">if</font> ( _PushBegin )
+00512 {
+00513 <font class="comment">// Set attribute name</font>
+00514 <a class="code" href="classNLMISC_1_1COXml.html#o2">_AttribName</a> = attribName;
+00515
+00516 <font class="comment">// Attribute name is present</font>
+00517 <a class="code" href="classNLMISC_1_1COXml.html#o1">_AttribPresent</a> = <font class="keyword">true</font>;
+00518 }
+00519 <font class="keywordflow">else</font>
+00520 {
+00521 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"You must call xmlSetAttrib between xmlPushBegin and xmlPushEnd calls."</font>);
+00522 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00523 }
+00524 }
+00525 <font class="keywordflow">else</font>
+00526 {
+00527 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"Output stream has not been setuped."</font>);
+00528 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00529 }
+00530
+00531 <font class="comment">// Ok</font>
+00532 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00533 }
+00534
+00535 <font class="comment">// ***************************************************************************</font>
+00536
+<a name="l00537"></a><a class="code" href="classNLMISC_1_1COXml.html#c20">00537</a> <font class="keywordtype">bool</font> COXml::xmlBreakLineInternal ()
+00538 {
+00539 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00540
+00541 <font class="comment">// Check _InternalStream</font>
+00542 <font class="keywordflow">if</font> ( _InternalStream )
+00543 {
+00544 <font class="comment">// Not in the push mode ?</font>
+00545 <font class="keywordflow">if</font> ( ! <a class="code" href="classNLMISC_1_1COXml.html#o0">_PushBegin</a> )
+00546 {
+00547 <font class="comment">// Add a break line</font>
+00548 <a class="code" href="classNLMISC_1_1COXml.html#o7">_ContentString</a> += <font class="charliteral">'\n'</font>;
+00549 }
+00550 <font class="keywordflow">else</font>
+00551 {
+00552 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"You must call xmlNBreakLine after xmlPushEnd."</font>);
+00553 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00554 }
+00555 }
+00556 <font class="keywordflow">else</font>
+00557 {
+00558 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"Output stream has not been setuped."</font>);
+00559 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00560 }
+00561
+00562 <font class="comment">// Ok</font>
+00563 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00564 }
+00565
+00566 <font class="comment">// ***************************************************************************</font>
+00567
+<a name="l00568"></a><a class="code" href="classNLMISC_1_1COXml.html#c21">00568</a> <font class="keywordtype">bool</font> COXml::xmlCommentInternal (<font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="cf__lexical_8cpp.html#a115">comment</a>)
+00569 {
+00570 <a class="code" href="debug_8h.html#a6">nlassert</a>( ! <a class="code" href="classNLMISC_1_1IStream.html#a4">isReading</a>() );
+00571
+00572 <font class="comment">// Check _InternalStream</font>
+00573 <font class="keywordflow">if</font> ( _InternalStream )
+00574 {
+00575 <font class="comment">// Not in the push mode ?</font>
+00576 <font class="keywordflow">if</font> ( <a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a> != NULL)
+00577 {
+00578 <font class="comment">// Add a comment node</font>
+00579 xmlNodePtr commentPtr = xmlNewComment ((<font class="keyword">const</font> xmlChar *)<a class="code" href="cf__lexical_8cpp.html#a115">comment</a>);
+00580
+00581 <font class="comment">// Add the node</font>
+00582 xmlAddChild (<a class="code" href="classNLMISC_1_1COXml.html#o6">_CurrentNode</a>, commentPtr);
+00583 }
+00584 <font class="keywordflow">else</font>
+00585 {
+00586 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"You must call xmlCommentInternal between xmlPushBegin and xmlPushEnd."</font>);
+00587 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00588 }
+00589 }
+00590 <font class="keywordflow">else</font>
+00591 {
+00592 <a class="code" href="debug_8h.html#a2">nlwarning</a> ( <font class="stringliteral">"Output stream has not been setuped."</font>);
+00593 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00594 }
+00595 <font class="comment">// Ok</font>
+00596 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00597 }
+00598
+00599 <font class="comment">// ***************************************************************************</font>
+00600
+<a name="l00601"></a><a class="code" href="classNLMISC_1_1COXml.html#a3">00601</a> <font class="keywordtype">void</font> COXml::flush ()
+00602 {
+00603 <font class="keywordflow">if</font> (_Document)
+00604 {
+00605 <font class="comment">// Generate indentation</font>
+00606 xmlKeepBlanksDefault (0);
+00607
+00608 <font class="comment">// Create a output context</font>
+00609 xmlOutputBufferPtr outputBuffer = xmlOutputBufferCreateIO ( <a class="code" href="classNLMISC_1_1COXml.html#a303">xmlOutputWriteCallbackForNeL</a>, <a class="code" href="classNLMISC_1_1COXml.html#a304">xmlOutputCloseCallbackForNeL</a>, <font class="keyword">this</font>, NULL );
+00610
+00611 <font class="comment">// Save the file</font>
+00612 <font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a400">res</a> = xmlSaveFormatFileTo (outputBuffer, <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a>, NULL, 1);
+00613
+00614 <font class="comment">// No error should be returned because, exception should be raised by the internal stream</font>
+00615 <a class="code" href="debug_8h.html#a6">nlassert</a> (<a class="code" href="driver__opengl__extension__def_8h.html#a400">res</a>!=-1);
+00616
+00617 <font class="comment">// Free the document</font>
+00618 xmlFreeDoc (<a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a>);
+00619 <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a> = NULL;
+00620 }
+00621 }
+00622
+00623 <font class="comment">// ***************************************************************************</font>
+00624
+00625 <font class="comment">// XML callbacks</font>
+00626
+00627 <font class="comment">// ***************************************************************************</font>
+00628
+<a name="l00629"></a><a class="code" href="classNLMISC_1_1COXml.html#a303">00629</a> <font class="keywordtype">int</font> <a class="code" href="namespaceNLMISC.html#a303">xmlOutputWriteCallbackForNeL</a> ( <font class="keywordtype">void</font> *context, <font class="keyword">const</font> <font class="keywordtype">char</font> *buffer, <font class="keywordtype">int</font> len)
+00630 {
+00631 <font class="comment">// Get the object</font>
+00632 COXml *object = (COXml*) context;
+00633
+00634 <font class="comment">// Serialise the buffer</font>
+00635 object-&gt;_InternalStream-&gt;serialBuffer ((uint8*)buffer, len);
+00636
+00637 <font class="comment">// Return the value</font>
+00638 <font class="keywordflow">return</font> len;
+00639 }
+00640
+00641 <font class="comment">// ***************************************************************************</font>
+00642
+<a name="l00643"></a><a class="code" href="classNLMISC_1_1COXml.html#a304">00643</a> <font class="keywordtype">int</font> <a class="code" href="namespaceNLMISC.html#a304">xmlOutputCloseCallbackForNeL</a> ( <font class="keywordtype">void</font> *context )
+00644 {
+00645 <font class="comment">// Get the object</font>
+00646 <font class="comment">// COXml *object = (COXml*) context;</font>
+00647
+00648 <font class="comment">// Does nothing</font>
+00649 <font class="keywordflow">return</font> 1;
+00650 }
+00651
+00652 <font class="comment">// ***************************************************************************</font>
+00653
+<a name="l00654"></a><a class="code" href="classNLMISC_1_1COXml.html#a4">00654</a> xmlDocPtr COXml::getDocument ()
+00655 {
+00656 <font class="keywordflow">if</font> (_Document)
+00657 <font class="keywordflow">return</font> <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a>;
+00658
+00659 <font class="comment">// Initialise the document</font>
+00660 <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a> = xmlNewDoc ((<font class="keyword">const</font> xmlChar *)<a class="code" href="classNLMISC_1_1COXml.html#o5">_Version</a>.c_str());
+00661
+00662 <font class="keywordflow">return</font> <a class="code" href="classNLMISC_1_1COXml.html#o4">_Document</a>;
+00663 }
+00664
+00665 <font class="comment">// ***************************************************************************</font>
+00666
+<a name="l00667"></a><a class="code" href="classNLMISC_1_1COXml.html#d0">00667</a> <font class="keywordtype">bool</font> COXml::isStringValidForProperties (<font class="keyword">const</font> <font class="keywordtype">char</font> *str)
+00668 {
+00669 <font class="keywordflow">while</font> (*str)
+00670 {
+00671 <font class="keywordflow">if</font> (*str == <font class="charliteral">'\n'</font>)
+00672 <font class="keywordflow">return</font> <font class="keyword">false</font>;
+00673 str++;
+00674 }
+00675 <font class="keywordflow">return</font> <font class="keyword">true</font>;
+00676 }
+00677
+00678 <font class="comment">// ***************************************************************************</font>
+00679
+00680 } <font class="comment">// NLMISC</font>
+00681
+00682 <font class="preprocessor">#endif // NL_DONT_USE_EXTERNAL_CODE</font>
+</pre></div>
+
+<!-- footer -->
+<BR><FONT Size=+5>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </FONT>
+</TD>
+<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD>
+</TR>
+</TABLE>
+</BODY>
+</HTML>