Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 1491

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: iutil/document.h Source File (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="classes.html"><span>Classes</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>iutil/document.h</h1><a href="document_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Crystal Space Document Interface</span>
<a name="l00003"></a>00003 <span class="comment">    Copyright (C) 2002 by Jorrit Tyberghein</span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment">    This library is free software; you can redistribute it and/or</span>
<a name="l00006"></a>00006 <span class="comment">    modify it under the terms of the GNU Library General Public</span>
<a name="l00007"></a>00007 <span class="comment">    License as published by the Free Software Foundation; either</span>
<a name="l00008"></a>00008 <span class="comment">    version 2 of the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment">    This library is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00013"></a>00013 <span class="comment">    Library General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="comment">    You should have received a copy of the GNU Library General Public</span>
<a name="l00016"></a>00016 <span class="comment">    License along with this library; if not, write to the Free</span>
<a name="l00017"></a>00017 <span class="comment">    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span>
<a name="l00018"></a>00018 <span class="comment">*/</span>
<a name="l00019"></a>00019 
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef __CS_IUTIL_DOCUMENT_H__</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define __CS_IUTIL_DOCUMENT_H__</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="scf_8h.html" title="Crystal Space Shared Class Facility (SCF).">csutil/scf.h</a>"</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="keyword">struct </span><a class="code" href="structiDocumentNode.html" title="Representation of a node in a document.">iDocumentNode</a>;
<a name="l00031"></a>00031 <span class="keyword">struct </span><a class="code" href="structiDocumentAttribute.html" title="An attribute for an iDocumentNode.">iDocumentAttribute</a>;
<a name="l00032"></a>00032 <span class="keyword">struct </span><a class="code" href="structiFile.html" title="A replacement for FILE type in the virtual file space.">iFile</a>;
<a name="l00033"></a>00033 <span class="keyword">struct </span><a class="code" href="structiDataBuffer.html" title="The iDataBuffer interface can be used to exchange buffers with abstract data between...">iDataBuffer</a>;
<a name="l00034"></a>00034 <span class="keyword">struct </span><a class="code" href="structiString.html" title="This is a SCF-compatible interface for csString.">iString</a>;
<a name="l00035"></a>00035 <span class="keyword">struct </span><a class="code" href="structiVFS.html" title="The Virtual Filesystem Class is intended to be the only way for Crystal Space engine...">iVFS</a>;
<a name="l00036"></a>00036 
<a name="l00040"></a><a class="code" href="group__util.html#gb42cea72c57ecad9c3d599a08bce4475">00040</a> <span class="keyword">enum</span> <a class="code" href="group__util.html#gb42cea72c57ecad9c3d599a08bce4475" title="Possible node types for iDocumentNode.">csDocumentNodeType</a>
<a name="l00041"></a>00041 {
<a name="l00043"></a><a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce447587aa64598ca24086ef7aa248c3b2a022">00043</a>   <a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce447587aa64598ca24086ef7aa248c3b2a022" title="Document.">CS_NODE_DOCUMENT</a> = 1,
<a name="l00045"></a><a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce4475212c9193091765b634952bebe349b2a5">00045</a>   <a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce4475212c9193091765b634952bebe349b2a5" title="Element.">CS_NODE_ELEMENT</a>,
<a name="l00047"></a><a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce44752de9af618a539fff83a7a818685ee33a">00047</a>   <a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce44752de9af618a539fff83a7a818685ee33a" title="Comment.">CS_NODE_COMMENT</a>,
<a name="l00049"></a><a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce44752173bc6ac8c0671e1191583e896a0176">00049</a>   <a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce44752173bc6ac8c0671e1191583e896a0176" title="Unknown type.">CS_NODE_UNKNOWN</a>,
<a name="l00051"></a><a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce4475acda242ee76ec9e6e6181ddbb6b57223">00051</a>   <a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce4475acda242ee76ec9e6e6181ddbb6b57223" title="Text.">CS_NODE_TEXT</a>,
<a name="l00053"></a><a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce4475500867fdafb6f33dbe60701f8336ce2e">00053</a>   <a class="code" href="group__util.html#ggb42cea72c57ecad9c3d599a08bce4475500867fdafb6f33dbe60701f8336ce2e" title="Declaration.">CS_NODE_DECLARATION</a>
<a name="l00054"></a>00054 };
<a name="l00055"></a>00055 
<a name="l00059"></a>00059 
<a name="l00060"></a><a class="code" href="group__util.html#gae8a3014baff809714bc2bc26813c0d8">00060</a> <span class="preprocessor">#define CS_CHANGEABLE_NEVER             0</span>
<a name="l00062"></a><a class="code" href="group__util.html#g4ad560ac8bbb66e1ec9d071773a3de08">00062</a> <span class="preprocessor">#define CS_CHANGEABLE_NEWROOT           1</span>
<a name="l00064"></a><a class="code" href="group__util.html#g8a23a87f097d54b2fd65377bfcbe4357">00064</a> <span class="preprocessor">#define CS_CHANGEABLE_YES               2</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span>
<a name="l00067"></a>00067 <span class="comment">//===========================================================================</span>
<a name="l00068"></a>00068 
<a name="l00075"></a><a class="code" href="structiDocumentAttributeIterator.html">00075</a> <span class="keyword">struct </span><a class="code" href="structiDocumentAttributeIterator.html" title="An iterator over iDocumentNode attributes.">iDocumentAttributeIterator</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00076"></a>00076 {
<a name="l00077"></a>00077   SCF_INTERFACE(<a class="code" href="structiDocumentAttributeIterator.html" title="An iterator over iDocumentNode attributes.">iDocumentAttributeIterator</a>, 2,0,0);
<a name="l00079"></a>00079   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiDocumentAttributeIterator.html#76097517fa86c1043ba483b4de184bce" title="Are there more elements?">HasNext</a> () = 0;
<a name="l00081"></a>00081   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentAttribute&gt;</a> <a class="code" href="structiDocumentAttributeIterator.html#5fe755431ab17b6a254f6c828c065e4a" title="Get next element.">Next</a> () = 0;
<a name="l00082"></a>00082 };
<a name="l00083"></a>00083 
<a name="l00084"></a>00084 <span class="comment">//===========================================================================</span>
<a name="l00085"></a>00085 
<a name="l00086"></a>00086 
<a name="l00099"></a><a class="code" href="structiDocumentAttribute.html">00099</a> <span class="keyword">struct </span><a class="code" href="structiDocumentAttribute.html" title="An attribute for an iDocumentNode.">iDocumentAttribute</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00100"></a>00100 {
<a name="l00101"></a>00101   SCF_INTERFACE(<a class="code" href="structiDocumentAttribute.html" title="An attribute for an iDocumentNode.">iDocumentAttribute</a>, 2,0,0);
<a name="l00103"></a>00103   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocumentAttribute.html#43d3611004d9f37a47fa99a5a1080f55" title="Get name of this attribute.">GetName</a> () = 0;
<a name="l00105"></a>00105   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocumentAttribute.html#449d39099c4babd5ac7f82d0702f6c39" title="Get value of this attribute.">GetValue</a> () = 0;
<a name="l00107"></a>00107   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiDocumentAttribute.html#b8dab64c725f418fef6e18f233127ac4" title="Get value of this attribute as integer.">GetValueAsInt</a> () = 0;
<a name="l00109"></a>00109   <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="structiDocumentAttribute.html#2f087eb33c24e0ddbd764a8de43b4cd9" title="Get value of this attribute as float.">GetValueAsFloat</a> () = 0;
<a name="l00111"></a>00111   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiDocumentAttribute.html#0134cb3c0c37cf53da5a21aef93a219a" title="Get value of this attribute as float.">GetValueAsBool</a> () = 0;
<a name="l00113"></a>00113   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentAttribute.html#68f6182c10af91b19ac33915873f44aa" title="Set name of this attribute.">SetName</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name) = 0;
<a name="l00115"></a>00115   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentAttribute.html#3a02605f0afd024645de1ba2aef86bce" title="Set value of this attribute.">SetValue</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;
<a name="l00117"></a>00117   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentAttribute.html#7aadf9e5775a6555dc6605c7cabd7772" title="Set int value of this attribute.">SetValueAsInt</a> (<span class="keywordtype">int</span> v) = 0;
<a name="l00119"></a>00119   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentAttribute.html#73da4f5ba204a78f9722565083ff9378" title="Set float value of this attribute.">SetValueAsFloat</a> (<span class="keywordtype">float</span> f) = 0;
<a name="l00120"></a>00120 };
<a name="l00121"></a>00121 
<a name="l00122"></a>00122 <span class="comment">//===========================================================================</span>
<a name="l00123"></a>00123 
<a name="l00130"></a><a class="code" href="structiDocumentNodeIterator.html">00130</a> <span class="keyword">struct </span><a class="code" href="structiDocumentNodeIterator.html" title="An iterator over iDocumentNode.">iDocumentNodeIterator</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00131"></a>00131 {
<a name="l00132"></a>00132   SCF_INTERFACE(<a class="code" href="structiDocumentNodeIterator.html" title="An iterator over iDocumentNode.">iDocumentNodeIterator</a>, 2,0,1);
<a name="l00134"></a>00134   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiDocumentNodeIterator.html#b3e8b1198d6504e948bffee655107212" title="Are there more elements?">HasNext</a> () = 0;
<a name="l00136"></a>00136   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNode&gt;</a> <a class="code" href="structiDocumentNodeIterator.html#02894065434c2f3258dcffd4437ef460" title="Get next element.">Next</a> () = 0;
<a name="l00137"></a>00137   
<a name="l00155"></a>00155   <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="structiDocumentNodeIterator.html#b79b6cba7ee10adb334808dc2c3f7cd5" title="Get an index of the next node.">GetNextPosition</a> () = 0;
<a name="l00160"></a>00160   <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="structiDocumentNodeIterator.html#d50ffb15ec3f5e97a82ce3acc840cca9" title="Return the index of the &amp;quot;end&amp;quot; position (the position that is taken after...">GetEndPosition</a> () = 0;
<a name="l00162"></a>00162 };
<a name="l00163"></a>00163 
<a name="l00164"></a>00164 <span class="comment">//===========================================================================</span>
<a name="l00165"></a>00165 
<a name="l00166"></a>00166 
<a name="l00180"></a><a class="code" href="structiDocumentNode.html">00180</a> <span class="keyword">struct </span><a class="code" href="structiDocumentNode.html" title="Representation of a node in a document.">iDocumentNode</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00181"></a>00181 {
<a name="l00182"></a>00182   SCF_INTERFACE(<a class="code" href="structiDocumentNode.html" title="Representation of a node in a document.">iDocumentNode</a>, 2,0,0);
<a name="l00186"></a>00186   <span class="keyword">virtual</span> <a class="code" href="group__util.html#gb42cea72c57ecad9c3d599a08bce4475" title="Possible node types for iDocumentNode.">csDocumentNodeType</a> <a class="code" href="structiDocumentNode.html#01bdda169c7e67a2427fdc745c29d980" title="Get the type of this node (one of CS_NODE_.">GetType</a> () = 0;
<a name="l00187"></a>00187 
<a name="l00196"></a>00196   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiDocumentNode.html#30e738959ed68b1ab8e942ff335d67d3" title="Compare this node with another node.">Equals</a> (<a class="code" href="structiDocumentNode.html" title="Representation of a node in a document.">iDocumentNode</a>* other) = 0;
<a name="l00197"></a>00197 
<a name="l00208"></a>00208   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocumentNode.html#001037e1e4e663de3425b5f2da4bb3bb" title="Get the value of this node.">GetValue</a> () = 0;
<a name="l00219"></a>00219   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#bd592bb2346da560dbbe5f0c98bc60ff" title="Set the value of this node.">SetValue</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;
<a name="l00221"></a>00221   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#b501e17db6ec2e58f42b9d1f5db5da7b" title="Set value to the string representation of an integer.">SetValueAsInt</a> (<span class="keywordtype">int</span> value) = 0;
<a name="l00223"></a>00223   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#1994b56c06980134d9a49487bf578dc9" title="Set value to the string representation of a float.">SetValueAsFloat</a> (<span class="keywordtype">float</span> value) = 0;
<a name="l00224"></a>00224 
<a name="l00226"></a>00226   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNode&gt;</a> <a class="code" href="structiDocumentNode.html#746c9ddc20fb873f5e506c3073ab3942" title="Get the parent.">GetParent</a> () = 0;
<a name="l00227"></a>00227 
<a name="l00228"></a>00228   <span class="comment">//---------------------------------------------------------------------</span>
<a name="l00229"></a>00229   
<a name="l00234"></a>00234   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNodeIterator&gt;</a> <a class="code" href="structiDocumentNode.html#e458462ca2357d0fd96fc9c31492bdcc" title="Get an iterator over all children.">GetNodes</a> () = 0;
<a name="l00239"></a>00239   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNodeIterator&gt;</a> <a class="code" href="structiDocumentNode.html#e458462ca2357d0fd96fc9c31492bdcc" title="Get an iterator over all children.">GetNodes</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;
<a name="l00241"></a>00241   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNode&gt;</a> <a class="code" href="structiDocumentNode.html#77e9924d8e13f97d685ac19c040f613e" title="Get the first node of the given value.">GetNode</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;
<a name="l00242"></a>00242 
<a name="l00244"></a>00244   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#66a3dc2b5163a6323c0aeab989929112" title="Remove a child.">RemoveNode</a> (<span class="keyword">const</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNode&gt;</a>&amp; child) = 0;
<a name="l00246"></a>00246   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#d2cf284535c1d53966779b58383a2b8c" title="Remove all children.">RemoveNodes</a> (<a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNodeIterator&gt;</a> children) = 0;
<a name="l00248"></a>00248   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#d2cf284535c1d53966779b58383a2b8c" title="Remove all children.">RemoveNodes</a> () = 0;
<a name="l00249"></a>00249 
<a name="l00256"></a>00256   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNode&gt;</a> <a class="code" href="structiDocumentNode.html#d0ce2e3bb16086e54fb1b48d2a14b10c" title="Create a new node of the given type before the given node.">CreateNodeBefore</a> (<a class="code" href="group__util.html#gb42cea72c57ecad9c3d599a08bce4475" title="Possible node types for iDocumentNode.">csDocumentNodeType</a> type,
<a name="l00257"></a>00257         <a class="code" href="structiDocumentNode.html" title="Representation of a node in a document.">iDocumentNode</a>* before = 0) = 0;
<a name="l00258"></a>00258 
<a name="l00265"></a>00265   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocumentNode.html#a6b07daa8d45431b7db26cdb3cab2907" title="Get the value of a node.">GetContentsValue</a> () = 0;
<a name="l00271"></a>00271   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiDocumentNode.html#1b596cb445c5f3359af7eec7a58c5c35" title="Get the value of a node as an integer.">GetContentsValueAsInt</a> () = 0;
<a name="l00277"></a>00277   <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="structiDocumentNode.html#aadde1fe5f529891c4b330f81f04c8f5" title="Get the value of a node as float.">GetContentsValueAsFloat</a> () = 0;
<a name="l00278"></a>00278 
<a name="l00279"></a>00279   <span class="comment">//---------------------------------------------------------------------</span>
<a name="l00280"></a>00280 
<a name="l00285"></a>00285   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentAttributeIterator&gt;</a> <a class="code" href="structiDocumentNode.html#9463d8ca1424ab5445dfb3ca17ead61d" title="Get an iterator over all attributes.">GetAttributes</a> () = 0;
<a name="l00287"></a>00287   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentAttribute&gt;</a> <a class="code" href="structiDocumentNode.html#86b59398e8193b41ace0f05092fd44e3" title="Get an attribute by name.">GetAttribute</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name) = 0;
<a name="l00289"></a>00289   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocumentNode.html#41651de583fb1c5956450c4c9664482b" title="Get an attribute value by name as a string.">GetAttributeValue</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name) = 0;
<a name="l00291"></a>00291   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiDocumentNode.html#62a20d58cbceb33904990ac32d60bf99" title="Get an attribute value by name as an integer.">GetAttributeValueAsInt</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name) = 0;
<a name="l00293"></a>00293   <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="structiDocumentNode.html#29e14141c0a083af47a93742e8a9dab7" title="Get an attribute value by name as a floating point value.">GetAttributeValueAsFloat</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name) = 0;
<a name="l00298"></a>00298   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiDocumentNode.html#69940b2e70c1d09ca2078eb3e66b7e0c" title="Get an attribute value by name as a bool.">GetAttributeValueAsBool</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name,
<a name="l00299"></a>00299         <span class="keywordtype">bool</span> defaultvalue=<span class="keyword">false</span>) = 0;
<a name="l00300"></a>00300 
<a name="l00302"></a>00302   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#87569d3d384e77e9521d5ab018033671" title="Remove an attribute.">RemoveAttribute</a> (<span class="keyword">const</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentAttribute&gt;</a>&amp; attr) = 0;
<a name="l00304"></a>00304   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#16d15130c08cb83ba113b3dc8f14e658" title="Remove all attributes.">RemoveAttributes</a> () = 0;
<a name="l00305"></a>00305 
<a name="l00307"></a>00307   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#bee95c0bdfcdb6f1faf80d0ad0a67b54" title="Change or add an attribute.">SetAttribute</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;
<a name="l00309"></a>00309   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#b6f5406b4001af7eff706a69c176a4d3" title="Change or add an attribute to a string representation of an integer.">SetAttributeAsInt</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">int</span> value) = 0;
<a name="l00311"></a>00311   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocumentNode.html#bc2d86689d6d2f3633079315543f2c0a" title="Change or add an attribute to a string representation of a float.">SetAttributeAsFloat</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keywordtype">float</span> value) = 0;
<a name="l00312"></a>00312 };
<a name="l00313"></a>00313 
<a name="l00314"></a>00314 <span class="comment">//===========================================================================</span>
<a name="l00315"></a>00315 
<a name="l00316"></a>00316 
<a name="l00323"></a><a class="code" href="structiDocument.html">00323</a> <span class="keyword">struct </span><a class="code" href="structiDocument.html" title="Representation of a document containing a hierarchical structure of nodes.">iDocument</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00324"></a>00324 {
<a name="l00325"></a>00325   SCF_INTERFACE(<a class="code" href="structiDocument.html" title="Representation of a document containing a hierarchical structure of nodes.">iDocument</a>, 2,0,0);
<a name="l00327"></a>00327   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiDocument.html#7a3b311d687285d6252727887996a39b" title="Clear the document.">Clear</a> () = 0;
<a name="l00328"></a>00328 
<a name="l00330"></a>00330   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNode&gt;</a> <a class="code" href="structiDocument.html#e16013f5679cfcd6ed7a23797b7c76de" title="Create a root node. This will clear the previous root node if any.">CreateRoot</a> () = 0;
<a name="l00331"></a>00331 
<a name="l00336"></a>00336   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocumentNode&gt;</a> <a class="code" href="structiDocument.html#60039523bba5207661cd04e89fd996cc" title="Get the current root node.">GetRoot</a> () = 0;
<a name="l00337"></a>00337 
<a name="l00349"></a>00349   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocument.html#41697f135ccbcd45ece2789186ba5a79" title="Parse document file from an iFile.">Parse</a> (<a class="code" href="structiFile.html" title="A replacement for FILE type in the virtual file space.">iFile</a>* file, <span class="keywordtype">bool</span> collapse = <span class="keyword">false</span>) = 0;
<a name="l00350"></a>00350 
<a name="l00362"></a>00362   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocument.html#41697f135ccbcd45ece2789186ba5a79" title="Parse document file from an iFile.">Parse</a> (<a class="code" href="structiDataBuffer.html" title="The iDataBuffer interface can be used to exchange buffers with abstract data between...">iDataBuffer</a>* buf, <span class="keywordtype">bool</span> collapse = <span class="keyword">false</span>) = 0;
<a name="l00363"></a>00363 
<a name="l00375"></a>00375   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocument.html#41697f135ccbcd45ece2789186ba5a79" title="Parse document file from an iFile.">Parse</a> (<a class="code" href="structiString.html" title="This is a SCF-compatible interface for csString.">iString</a>* str, <span class="keywordtype">bool</span> collapse = <span class="keyword">false</span>) = 0;
<a name="l00376"></a>00376 
<a name="l00388"></a>00388   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocument.html#41697f135ccbcd45ece2789186ba5a79" title="Parse document file from an iFile.">Parse</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* buf, <span class="keywordtype">bool</span> collapse = <span class="keyword">false</span>) = 0;
<a name="l00389"></a>00389 
<a name="l00395"></a>00395   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocument.html#1ba88d38ecfb4e6e46b72d08c8bbe3c2" title="Write out document file to an iFile.">Write</a> (<a class="code" href="structiFile.html" title="A replacement for FILE type in the virtual file space.">iFile</a>* file) = 0;
<a name="l00396"></a>00396 
<a name="l00402"></a>00402   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocument.html#1ba88d38ecfb4e6e46b72d08c8bbe3c2" title="Write out document file to an iFile.">Write</a> (<a class="code" href="structiString.html" title="This is a SCF-compatible interface for csString.">iString</a>* str) = 0;
<a name="l00403"></a>00403 
<a name="l00409"></a>00409   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structiDocument.html#1ba88d38ecfb4e6e46b72d08c8bbe3c2" title="Write out document file to an iFile.">Write</a> (<a class="code" href="structiVFS.html" title="The Virtual Filesystem Class is intended to be the only way for Crystal Space engine...">iVFS</a>* vfs, <span class="keyword">const</span> <span class="keywordtype">char</span>* filename) = 0;
<a name="l00410"></a>00410   
<a name="l00418"></a>00418   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiDocument.html#2d2d1a9f40572e6e4c1704efbfede5f4" title="Returns how far this document can be changed.">Changeable</a> () = 0;
<a name="l00419"></a>00419 };
<a name="l00420"></a>00420 
<a name="l00421"></a>00421 <span class="comment">//===========================================================================</span>
<a name="l00422"></a>00422 
<a name="l00423"></a>00423 
<a name="l00437"></a><a class="code" href="structiDocumentSystem.html">00437</a> <span class="keyword">struct </span><a class="code" href="structiDocumentSystem.html" title="An iDocument factory.">iDocumentSystem</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00438"></a>00438 {
<a name="l00439"></a>00439   SCF_INTERFACE(<a class="code" href="structiDocumentSystem.html" title="An iDocument factory.">iDocumentSystem</a>, 2,0,0);
<a name="l00441"></a>00441   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDocument&gt;</a> <a class="code" href="structiDocumentSystem.html#bd7da32b9b25a5c260c2c27db90b1126" title="Create a new empty document.">CreateDocument</a> () = 0;
<a name="l00442"></a>00442 };
<a name="l00443"></a>00443 
<a name="l00446"></a>00446 <span class="preprocessor">#endif // __CS_IUTIL_DOCUMENT_H__</span>
</pre></div><hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>