<HTML ><HEAD ><TITLE >Module Tree Garbage Collector</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="Gdome2 Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Memory Management System" HREF="gdome2-memory.html"><LINK REL="PREVIOUS" TITLE="Module Private List" HREF="gdome2-module-private-list.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Gdome2 Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="gdome2-module-private-list.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="gdome2-memory.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" > </TD ></TR ></TABLE ></DIV ><H1 ><A NAME="GDOME2-MODULE-TREE-GARBAGE-COLLECTOR">Module Tree Garbage Collector</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN24578" ></A ><H2 >Name</H2 >Module Tree Garbage Collector -- Structures and APIs</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN24581"><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > int <A HREF="gdome2-module-tree-garbage-collector.html#GDOME-TREEGC-LIVENODES" >gdome_treegc_livenodes</A > (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node); void <A HREF="gdome2-module-tree-garbage-collector.html#GDOME-TREEGC-ADDNODE" >gdome_treegc_addNode</A > (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node); void <A HREF="gdome2-module-tree-garbage-collector.html#GDOME-TREEGC-DELNODE" >gdome_treegc_delNode</A > (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node); void <A HREF="gdome2-module-tree-garbage-collector.html#GDOME-TREEGC-INVALIDATENODE" >gdome_treegc_invalidateNode</A > (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node);</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN24592" ></A ><H2 >Description</H2 ><P >This is module is internally used to manage the number of gdome2 live references. Externally you can use this module to test the number of live references in your Document with <A HREF="gdome2-module-tree-garbage-collector.html#GDOME-TREEGC-LIVENODES" >gdome_treegc_livenodes</A >() function.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN24596" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN24598" ></A ><H3 ><A NAME="GDOME-TREEGC-LIVENODES" ></A >gdome_treegc_livenodes ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >int gdome_treegc_livenodes (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node);</PRE ></TD ></TR ></TABLE ><P ></P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN24605"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > a node in the Document main tree</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" >the number of live nodes in the Document main tree.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN24618" ></A ><H3 ><A NAME="GDOME-TREEGC-ADDNODE" ></A >gdome_treegc_addNode ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gdome_treegc_addNode (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Increase the livenodes field</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN24625"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the wrapper to register</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN24634" ></A ><H3 ><A NAME="GDOME-TREEGC-DELNODE" ></A >gdome_treegc_delNode ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gdome_treegc_delNode (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Decrease the livenodes field. If the field reaches zero (that is, there are no more live wrappers) free the whole document tree</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN24641"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the wrapper to un-register</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN24650" ></A ><H3 ><A NAME="GDOME-TREEGC-INVALIDATENODE" ></A >gdome_treegc_invalidateNode ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gdome_treegc_invalidateNode (<A HREF="gdome2-gdomenode.html#GDOMENODE" >GdomeNode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Set the n field of the wrapper to NULL and decrease the livenode field of the document</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN24657"><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > the wrapper to invalidate</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="gdome2-module-private-list.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="gdome2-memory.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" > </TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Module Private List</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" > </TD ></TR ></TABLE ></DIV ></BODY ></HTML >