Sophie

Sophie

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

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: csObject Class Reference (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 class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csObject Class Reference</h1><!-- doxytag: class="csObject" --><!-- doxytag: inherits="scfImplementation1&lt; csObject, iObject &gt;" -->A generic <a class="el" href="classcsObject.html" title="A generic csObject class.">csObject</a> class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="csobject_8h-source.html">csutil/csobject.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csObject:</div>
<div class="dynsection">
<p><center><img src="classcsObject__inherit__graph.png" border="0" usemap="#csObject__inherit__map" alt="Inheritance graph"></center>
<map name="csObject__inherit__map">
<area shape="rect" href="classscfImplementationExt1.html" title="scfImplementationExt1\&lt; csColliderWrapper, csObject, scfFakeInterface\&lt; csColliderWrapper \&gt; \&gt;" alt="" coords="1047,43,1687,69"><area shape="rect" href="classscfImplementationExt1.html" title="scfImplementationExt1\&lt; csKeyValuePair, csObject, iKeyValuePair \&gt;" alt="" coords="1137,93,1596,120"><area shape="rect" href="classscfImplementationExt1.html" title="scfImplementationExt1\&lt; csMapNode, csObject, iMapNode \&gt;" alt="" coords="1160,144,1573,171"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csAddonReference, csObject, iAddonReference, iSelfDestruct \&gt;" alt="" coords="1068,195,1665,221"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csLibraryReference, csObject, iLibraryReference, iSelfDestruct \&gt;" alt="" coords="1064,245,1669,272"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csProcTexture, csObject, iTextureWrapper, iProcTexture \&gt;" alt="" coords="1091,296,1643,323"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csSaverFile, csObject, iSaverFile, iSelfDestruct \&gt;" alt="" coords="1117,347,1616,373"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csShaderExpressionAccessor, csObject, iShaderVariableAccessor, iSelfDestruct \&gt;" alt="" coords="1012,397,1721,424"><area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\&lt; csObject, iObject \&gt;" alt="" coords="551,220,836,247"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\&lt; csObject \&gt;" alt="" coords="275,195,501,221"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="88,245,144,272"><area shape="rect" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject." alt="" coords="356,245,420,272"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="5,195,227,221"><area shape="rect" href="classcsColliderWrapper.html" title="This is a convenience object that you can use in your own games to attach an iCollider..." alt="" coords="1808,43,1944,69"><area shape="rect" href="classcsKeyValuePair.html" title="A Key Value pair." alt="" coords="1816,93,1936,120"><area shape="rect" href="classcsMapNode.html" title="A node." alt="" coords="1828,144,1924,171"><area shape="rect" href="classcsAddonReference.html" title="An object representing an addon." alt="" coords="1805,195,1947,221"><area shape="rect" href="classcsLibraryReference.html" title="An object representing a reference to a library." alt="" coords="1803,245,1949,272"><area shape="rect" href="classcsProcTexture.html" title="Generic superclass for procedural textures." alt="" coords="1821,296,1931,323"><area shape="rect" href="classcsProcAnimated.html" title="Procedural texture for animated images." alt="" coords="2031,296,2156,323"><area shape="rect" href="classcsSaverFile.html" title="An object containing information about where to save a file." alt="" coords="1829,347,1923,373"><area shape="rect" href="classcsShaderExpressionAccessor.html" title="Shader variable accessor that evaluates a shader expression when the SV value is..." alt="" coords="1772,397,1980,424"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsObject-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#8ff9a089c1e378a0b11d9bf4e77875c9">AddNameChangeListener</a> (<a class="el" href="structiObjectNameChangeListener.html">iObjectNameChangeListener</a> *listener)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a name change listener.  <a href="#8ff9a089c1e378a0b11d9bf4e77875c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#8f0b6b0597254ec5c4b4f141f4590839">csObject</a> (<a class="el" href="classcsObject.html">csObject</a> &amp;o)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#8f0b6b0597254ec5c4b4f141f4590839"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#f5fcc1b440c38fec4f84e9d7449d658d">csObject</a> (<a class="el" href="structiBase.html">iBase</a> *pParent=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the <a class="el" href="classcsObject.html" title="A generic csObject class.">csObject</a>.  <a href="#f5fcc1b440c38fec4f84e9d7449d658d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#af956d6e88eb0d007efaf3d356d64c65">GetChild</a> (const char *<a class="el" href="classcsObject.html#6878e2b755ad607e409c2ebd37ada8db">Name</a>) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the first child object with the given name.  <a href="#af956d6e88eb0d007efaf3d356d64c65"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#ad199df84277e2bc9c87e62f74449606">GetChild</a> (int iInterfaceID, int iVersion, const char *<a class="el" href="classcsObject.html#6878e2b755ad607e409c2ebd37ada8db">Name</a>=0, bool FirstName=false) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look for a child object that implements the given interface.  <a href="#ad199df84277e2bc9c87e62f74449606"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#c9034ea4500be5c22e62c38e5e6cf29d">GetID</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the unique ID associated with this object.  <a href="#c9034ea4500be5c22e62c38e5e6cf29d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiObjectIterator.html">iObjectIterator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#1e760285f7caa0decf7a753149388907">GetIterator</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an iterator for all child objects.  <a href="#1e760285f7caa0decf7a753149388907"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#fc34569ff2bcd5c8731e09677623b21f">GetName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query object name.  <a href="#fc34569ff2bcd5c8731e09677623b21f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#6ed5068e2eed38b9aab72700512c5c2f">GetObjectParent</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the parent <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a>.  <a href="#6ed5068e2eed38b9aab72700512c5c2f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#7d76d2f1e96622b5e1256fb21e9caade">ObjAdd</a> (<a class="el" href="structiObject.html">iObject</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a new <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a> to the tree.  <a href="#7d76d2f1e96622b5e1256fb21e9caade"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#15dd5afe0ee839c0705d76c98699bbb5">ObjAddChildren</a> (<a class="el" href="structiObject.html">iObject</a> *Parent)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add all child objects of the given object.  <a href="#15dd5afe0ee839c0705d76c98699bbb5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#1d1e64734cc919fce1f59158d020b527">ObjReleaseOld</a> (<a class="el" href="structiObject.html">iObject</a> *obj)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#695d621b2628a890e3089bc56368da18">ObjRemove</a> (<a class="el" href="structiObject.html">iObject</a> *obj)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given object, removing it from the object tree.  <a href="#695d621b2628a890e3089bc56368da18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#4f27cbe3ad4814e8140b87ed2c3f85c0">ObjRemoveAll</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes all objects, removing them from the object tree.  <a href="#4f27cbe3ad4814e8140b87ed2c3f85c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#04e23cb4fbcc97a6c8e0c6b91ea56315">RemoveNameChangeListener</a> (<a class="el" href="structiObjectNameChangeListener.html">iObjectNameChangeListener</a> *listener)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a name change listener.  <a href="#04e23cb4fbcc97a6c8e0c6b91ea56315"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#4fb515c2a5e4b91f0d5dd3d85e81943f">SetName</a> (const char *iName)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set object name.  <a href="#4fb515c2a5e4b91f0d5dd3d85e81943f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#0c443b8cf190a8966d0379a29050a7c3">SetObjectParent</a> (<a class="el" href="structiObject.html">iObject</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the parent <a class="el" href="classcsObject.html" title="A generic csObject class.">csObject</a>.  <a href="#0c443b8cf190a8966d0379a29050a7c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#9fc24181832f98d3dbce3d77a1093e49">~csObject</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy this object and the associated children.  <a href="#9fc24181832f98d3dbce3d77a1093e49"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#43df582c3144c087c3bd42cb1be571bd">FireNameChangeListeners</a> (const char *oldname, const char *newname)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fire name change listeners.  <a href="#43df582c3144c087c3bd42cb1be571bd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#06acba37ed1ff8e2258bc027900f601b">InitializeObject</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private initialization function.  <a href="#06acba37ed1ff8e2258bc027900f601b"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsRefArray.html">csObjectContainer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#ca035275b1510a504974c133da617b78">Children</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The array of child nodes.  <a href="#ca035275b1510a504974c133da617b78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#87f8cf898df971529f72c83759a3e5d3">csid</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Each object has a unique ID associated with it.  <a href="#87f8cf898df971529f72c83759a3e5d3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsRefArray.html">csRefArray</a><br>
&lt; <a class="el" href="structiObjectNameChangeListener.html">iObjectNameChangeListener</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#30e0b2027ecd3939d189266deff237d4">listeners</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Name change listeners.  <a href="#30e0b2027ecd3939d189266deff237d4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#6878e2b755ad607e409c2ebd37ada8db">Name</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Object's name or 0 if unnamed.  <a href="#6878e2b755ad607e409c2ebd37ada8db"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#e4b19f4d796c7671f16cbc0bd68c8b9f">ParentObject</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Parent object.  <a href="#e4b19f4d796c7671f16cbc0bd68c8b9f"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a808c1010616623075c42f0176a0c192"></a><!-- doxytag: member="csObject::csObjectIterator" ref="a808c1010616623075c42f0176a0c192" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsObject.html#a808c1010616623075c42f0176a0c192">csObjectIterator</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A generic <a class="el" href="classcsObject.html" title="A generic csObject class.">csObject</a> class. 
<p>
Any <a class="el" href="classcsObject.html" title="A generic csObject class.">csObject</a> can have any number of <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a> children attached to it. You can use scfQueryInterface to get interfaces from the child objects. 
<p>Definition at line <a class="el" href="csobject_8h-source.html#l00042">42</a> of file <a class="el" href="csobject_8h-source.html">csobject.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="f5fcc1b440c38fec4f84e9d7449d658d"></a><!-- doxytag: member="csObject::csObject" ref="f5fcc1b440c38fec4f84e9d7449d658d" args="(iBase *pParent=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csObject::csObject           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiBase.html">iBase</a> *&nbsp;</td>
          <td class="paramname"> <em>pParent</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the <a class="el" href="classcsObject.html" title="A generic csObject class.">csObject</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="8f0b6b0597254ec5c4b4f141f4590839"></a><!-- doxytag: member="csObject::csObject" ref="8f0b6b0597254ec5c4b4f141f4590839" args="(csObject &amp;o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csObject::csObject           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsObject.html">csObject</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>o</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. 
<p>
The copied object contains all children of the original object, but has a new ID and is not automatically added to the original object's parent. 
</div>
</div><p>
<a class="anchor" name="9fc24181832f98d3dbce3d77a1093e49"></a><!-- doxytag: member="csObject::~csObject" ref="9fc24181832f98d3dbce3d77a1093e49" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual csObject::~csObject           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy this object and the associated children. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="8ff9a089c1e378a0b11d9bf4e77875c9"></a><!-- doxytag: member="csObject::AddNameChangeListener" ref="8ff9a089c1e378a0b11d9bf4e77875c9" args="(iObjectNameChangeListener *listener)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::AddNameChangeListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectNameChangeListener.html">iObjectNameChangeListener</a> *&nbsp;</td>
          <td class="paramname"> <em>listener</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a name change listener. 
<p>

<p>Implements <a class="el" href="structiObject.html#aa27e930cc8f0e8be946a6f7f0b730be">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="43df582c3144c087c3bd42cb1be571bd"></a><!-- doxytag: member="csObject::FireNameChangeListeners" ref="43df582c3144c087c3bd42cb1be571bd" args="(const char *oldname, const char *newname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csObject::FireNameChangeListeners           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>oldname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>newname</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Fire name change listeners. 
<p>

</div>
</div><p>
<a class="anchor" name="af956d6e88eb0d007efaf3d356d64c65"></a><!-- doxytag: member="csObject::GetChild" ref="af956d6e88eb0d007efaf3d356d64c65" args="(const char *Name) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObject.html">iObject</a>* csObject::GetChild           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the first child object with the given name. 
<p>

<p>Implements <a class="el" href="structiObject.html#b227c647f04d299327b05263b707a024">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="ad199df84277e2bc9c87e62f74449606"></a><!-- doxytag: member="csObject::GetChild" ref="ad199df84277e2bc9c87e62f74449606" args="(int iInterfaceID, int iVersion, const char *Name=0, bool FirstName=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObject.html">iObject</a>* csObject::GetChild           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iInterfaceID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iVersion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Name</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>FirstName</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Look for a child object that implements the given interface. 
<p>
You can optionally pass a name to look for. If FirstName is true then the method will stop at the first object with the requested name, even if it did not implement the requested type. Note that the returned object must still be queried for the requested type. <p>
Note that the returned object will be IncRef'ed. 
<p>Implements <a class="el" href="structiObject.html#6f2cc06a839a8c986442c286de0cd881">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="c9034ea4500be5c22e62c38e5e6cf29d"></a><!-- doxytag: member="csObject::GetID" ref="c9034ea4500be5c22e62c38e5e6cf29d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> csObject::GetID           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the unique ID associated with this object. 
<p>

<p>Implements <a class="el" href="structiObject.html#5c449ebb9a7dd534c2910f74f3e4d6ec">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="1e760285f7caa0decf7a753149388907"></a><!-- doxytag: member="csObject::GetIterator" ref="1e760285f7caa0decf7a753149388907" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiObjectIterator.html">iObjectIterator</a>&gt; csObject::GetIterator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return an iterator for all child objects. 
<p>
Note that you should not remove child objects while iterating. 
<p>Implements <a class="el" href="structiObject.html#7d556c40d0c2f474559145bd257660e6">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc34569ff2bcd5c8731e09677623b21f"></a><!-- doxytag: member="csObject::GetName" ref="fc34569ff2bcd5c8731e09677623b21f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* csObject::GetName           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query object name. 
<p>

<p>Implements <a class="el" href="structiObject.html#d4cdf16eca8ffd5e03cf592985cd5705">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="6ed5068e2eed38b9aab72700512c5c2f"></a><!-- doxytag: member="csObject::GetObjectParent" ref="6ed5068e2eed38b9aab72700512c5c2f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObject.html">iObject</a>* csObject::GetObjectParent           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the parent <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a>. 
<p>

<p>Implements <a class="el" href="structiObject.html#3814d9cf1ac4e6555d0483bd8e1c6146">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="06acba37ed1ff8e2258bc027900f601b"></a><!-- doxytag: member="csObject::InitializeObject" ref="06acba37ed1ff8e2258bc027900f601b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csObject::InitializeObject           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Private initialization function. 
<p>

</div>
</div><p>
<a class="anchor" name="7d76d2f1e96622b5e1256fb21e9caade"></a><!-- doxytag: member="csObject::ObjAdd" ref="7d76d2f1e96622b5e1256fb21e9caade" args="(iObject *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::ObjAdd           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObject.html">iObject</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach a new <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a> to the tree. 
<p>

<p>Implements <a class="el" href="structiObject.html#1b43d0eb676349569efb8a7b3f7c9df5">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="15dd5afe0ee839c0705d76c98699bbb5"></a><!-- doxytag: member="csObject::ObjAddChildren" ref="15dd5afe0ee839c0705d76c98699bbb5" args="(iObject *Parent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::ObjAddChildren           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObject.html">iObject</a> *&nbsp;</td>
          <td class="paramname"> <em>Parent</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add all child objects of the given object. 
<p>

<p>Implements <a class="el" href="structiObject.html#1db7ce1134a0e32c7f1c526e2374e5bf">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="1d1e64734cc919fce1f59158d020b527"></a><!-- doxytag: member="csObject::ObjReleaseOld" ref="1d1e64734cc919fce1f59158d020b527" args="(iObject *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::ObjReleaseOld           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObject.html">iObject</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000031">Todo:</a></b></dt><dd>Investigate a way to remove this function. </dd></dl>

<p>Implements <a class="el" href="structiObject.html#386a28090c222bbcd522a6a986d83faf">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="695d621b2628a890e3089bc56368da18"></a><!-- doxytag: member="csObject::ObjRemove" ref="695d621b2628a890e3089bc56368da18" args="(iObject *obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::ObjRemove           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObject.html">iObject</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deletes the given object, removing it from the object tree. 
<p>

<p>Implements <a class="el" href="structiObject.html#7ce9b15955777c50e656ec8551d38de9">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="4f27cbe3ad4814e8140b87ed2c3f85c0"></a><!-- doxytag: member="csObject::ObjRemoveAll" ref="4f27cbe3ad4814e8140b87ed2c3f85c0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::ObjRemoveAll           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deletes all objects, removing them from the object tree. 
<p>

<p>Implements <a class="el" href="structiObject.html#512f4e205cc05d34d99c46537f389df1">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="04e23cb4fbcc97a6c8e0c6b91ea56315"></a><!-- doxytag: member="csObject::RemoveNameChangeListener" ref="04e23cb4fbcc97a6c8e0c6b91ea56315" args="(iObjectNameChangeListener *listener)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::RemoveNameChangeListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectNameChangeListener.html">iObjectNameChangeListener</a> *&nbsp;</td>
          <td class="paramname"> <em>listener</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a name change listener. 
<p>

<p>Implements <a class="el" href="structiObject.html#d595caccee23cd4934472ff6f3402856">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="4fb515c2a5e4b91f0d5dd3d85e81943f"></a><!-- doxytag: member="csObject::SetName" ref="4fb515c2a5e4b91f0d5dd3d85e81943f" args="(const char *iName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::SetName           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iName</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set object name. 
<p>

<p>Implements <a class="el" href="structiObject.html#2afb56c8850acef9c640d7d152b84a55">iObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="0c443b8cf190a8966d0379a29050a7c3"></a><!-- doxytag: member="csObject::SetObjectParent" ref="0c443b8cf190a8966d0379a29050a7c3" args="(iObject *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csObject::SetObjectParent           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObject.html">iObject</a> *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the parent <a class="el" href="classcsObject.html" title="A generic csObject class.">csObject</a>. 
<p>

<p>Implements <a class="el" href="structiObject.html#fdf5db6ec78d5ba13e591eebf3dae730">iObject</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="ca035275b1510a504974c133da617b78"></a><!-- doxytag: member="csObject::Children" ref="ca035275b1510a504974c133da617b78" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsRefArray.html">csObjectContainer</a>* <a class="el" href="classcsObject.html#ca035275b1510a504974c133da617b78">csObject::Children</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The array of child nodes. 
<p>

<p>Definition at line <a class="el" href="csobject_8h-source.html#l00051">51</a> of file <a class="el" href="csobject_8h-source.html">csobject.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="87f8cf898df971529f72c83759a3e5d3"></a><!-- doxytag: member="csObject::csid" ref="87f8cf898df971529f72c83759a3e5d3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="el" href="classcsObject.html#87f8cf898df971529f72c83759a3e5d3">csObject::csid</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Each object has a unique ID associated with it. 
<p>

<p>Definition at line <a class="el" href="csobject_8h-source.html#l00048">48</a> of file <a class="el" href="csobject_8h-source.html">csobject.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="30e0b2027ecd3939d189266deff237d4"></a><!-- doxytag: member="csObject::listeners" ref="30e0b2027ecd3939d189266deff237d4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsRefArray.html">csRefArray</a>&lt;<a class="el" href="structiObjectNameChangeListener.html">iObjectNameChangeListener</a>&gt; <a class="el" href="classcsObject.html#30e0b2027ecd3939d189266deff237d4">csObject::listeners</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Name change listeners. 
<p>

<p>Definition at line <a class="el" href="csobject_8h-source.html#l00060">60</a> of file <a class="el" href="csobject_8h-source.html">csobject.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6878e2b755ad607e409c2ebd37ada8db"></a><!-- doxytag: member="csObject::Name" ref="6878e2b755ad607e409c2ebd37ada8db" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="classcsObject.html#6878e2b755ad607e409c2ebd37ada8db">csObject::Name</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Object's name or 0 if unnamed. 
<p>

<p>Definition at line <a class="el" href="csobject_8h-source.html#l00054">54</a> of file <a class="el" href="csobject_8h-source.html">csobject.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e4b19f4d796c7671f16cbc0bd68c8b9f"></a><!-- doxytag: member="csObject::ParentObject" ref="e4b19f4d796c7671f16cbc0bd68c8b9f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structiObject.html">iObject</a>* <a class="el" href="classcsObject.html#e4b19f4d796c7671f16cbc0bd68c8b9f">csObject::ParentObject</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parent object. 
<p>

<p>Definition at line <a class="el" href="csobject_8h-source.html#l00057">57</a> of file <a class="el" href="csobject_8h-source.html">csobject.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csutil/<a class="el" href="csobject_8h-source.html">csobject.h</a></ul>
<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>