This file is indexed.

/usr/share/doc/libucommon-dev/a00025.html is in libucommon-doc 3.2.0-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>UCommon: ucc::audiobuffer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00214.html">ucc</a>::<a class="el" href="a00025.html">audiobuffer</a>
  </div>
</div>
<div class="contents">
<h1>ucc::audiobuffer Class Reference</h1><!-- doxytag: class="ucc::audiobuffer" --><!-- doxytag: inherits="ucc::audio::framer,ucc::audio" -->
<p>Generic audio buffering and transcoding for audio sources and sinks.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00187_source.html">audio.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ucc::audiobuffer:</div>
<div class="dynsection">
<div class="center"><img src="a00350.png" border="0" usemap="#ucc_1_1audiobuffer_inherit__map" alt="Inheritance graph"/></div>
<map name="ucc_1_1audiobuffer_inherit__map" id="ucc_1_1audiobuffer_inherit__map">
<area shape="rect" id="node7" href="a00027.html" title="Basic audio file access class." alt="" coords="27,160,131,189"/><area shape="rect" id="node9" href="a00173.html" title="Tone generator class for producing convertable tones." alt="" coords="155,160,259,189"/><area shape="rect" id="node2" href="a00024.html" title="Common access to audio frames." alt="" coords="5,5,144,35"/><area shape="rect" id="node4" href="a00023.html" title="Common audio class for GNU telephonic audio." alt="" coords="168,5,253,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ucc::audiobuffer:</div>
<div class="dynsection">
<div class="center"><img src="a00351.png" border="0" usemap="#ucc_1_1audiobuffer_coll__map" alt="Collaboration graph"/></div>
<map name="ucc_1_1audiobuffer_coll__map" id="ucc_1_1audiobuffer_coll__map">
<area shape="rect" id="node2" href="a00024.html" title="Common access to audio frames." alt="" coords="5,187,144,216"/><area shape="rect" id="node4" href="a00023.html" title="Common audio class for GNU telephonic audio." alt="" coords="139,96,224,125"/><area shape="rect" id="node6" href="a00026.html" title="Convert audio media." alt="" coords="219,187,344,216"/><area shape="rect" id="node8" href="a00069.html" title="Common base class for all objects that can be formed into a linked list." alt="" coords="248,96,381,125"/><area shape="rect" id="node10" href="a00093.html" title="A common base class for all managed objects." alt="" coords="268,5,361,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">linear_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#ad4056cc0fb056f66a535d605532b7927">expand</a> (encoded_t data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unpack data pointer using convert buffer as working space.  <a href="#ad4056cc0fb056f66a535d605532b7927"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab535f1932fae4bef55bc457e6d3d990a"></a><!-- doxytag: member="ucc::audiobuffer::framesize" ref="ab535f1932fae4bef55bc457e6d3d990a" args="(encoded_t data)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>framesize</b> (encoded_t data)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31ac24bd207a548dcb29574fb755ca3d"></a><!-- doxytag: member="ucc::audiobuffer::framesize" ref="a31ac24bd207a548dcb29574fb755ca3d" args="(void)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>framesize</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9092596f1dd3040f86fde25fa25b33d9"></a><!-- doxytag: member="ucc::audiobuffer::frametime" ref="a9092596f1dd3040f86fde25fa25b33d9" args="(void)" -->
<a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>frametime</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac19fb5094d9a98256966b7598fea0fbf"></a><!-- doxytag: member="ucc::audiobuffer::getAllocated" ref="ac19fb5094d9a98256966b7598fea0fbf" args="(void)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>getAllocated</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3e2fa167115b5e6bf61c19c9b1bfce4"></a><!-- doxytag: member="ucc::audiobuffer::getAvailable" ref="ad3e2fa167115b5e6bf61c19c9b1bfce4" args="(void)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>getAvailable</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a894ba2df89935342b4f627e59b259be3"></a><!-- doxytag: member="ucc::audiobuffer::getBackstore" ref="a894ba2df89935342b4f627e59b259be3" args="(void)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>getBackstore</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbd060c5354f9f75e60ca17448c5b09a"></a><!-- doxytag: member="ucc::audiobuffer::getBuffering" ref="abbd060c5354f9f75e60ca17448c5b09a" args="(void)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>getBuffering</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad2020e02b655eccdd5951912b1c3047"></a><!-- doxytag: member="ucc::audiobuffer::getChannel" ref="aad2020e02b655eccdd5951912b1c3047" args="(void)" -->
<a class="el" href="a00026.html">audiocodec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getChannel</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a20b16cddf08ec34e33ad968c7ad6c59b">getContexts</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of i/o context switches performed for profiling.  <a href="#a20b16cddf08ec34e33ad968c7ad6c59b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f9752df88880ba3b978edce2a0fcff4"></a><!-- doxytag: member="ucc::audiobuffer::getConversion" ref="a9f9752df88880ba3b978edce2a0fcff4" args="(void)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>getConversion</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afebb2016c015af56a04f712bf6ae8d59"></a><!-- doxytag: member="ucc::audiobuffer::getEncoding" ref="afebb2016c015af56a04f712bf6ae8d59" args="(void)" -->
<a class="el" href="a00026.html">audiocodec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getEncoding</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c8de5191f14786a19b39b55f19a9963"></a><!-- doxytag: member="ucc::audiobuffer::handle" ref="a4c8de5191f14786a19b39b55f19a9963" args="(void)" -->
virtual fd_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>handle</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb87f2cf276c65a43ebce314eb61d205"></a><!-- doxytag: member="ucc::audiobuffer::pull" ref="afb87f2cf276c65a43ebce314eb61d205" args="(encoded_t data, unsigned len)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>pull</b> (encoded_t data, unsigned len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92455122296eb21bb429a1ee1ee4283c"></a><!-- doxytag: member="ucc::audiobuffer::push" ref="a92455122296eb21bb429a1ee1ee4283c" args="(encoded_t data, unsigned len)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>push</b> (encoded_t data, unsigned len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34b0f8cf5d39d2df9198dc46dffb01ab"></a><!-- doxytag: member="ucc::audiobuffer::release" ref="a34b0f8cf5d39d2df9198dc46dffb01ab" args="(void)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>release</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affdf97843274ba51ddab093bde2a00b4"></a><!-- doxytag: member="ucc::audiobuffer::text" ref="affdf97843274ba51ddab093bde2a00b4" args="(char *str, size_t size)" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>text</b> (char *str, size_t size)</td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9438315a5b5a59bc12e50d03312e238"></a><!-- doxytag: member="ucc::audiobuffer::create" ref="af9438315a5b5a59bc12e50d03312e238" args="(audiocodec *channel, timeout_t framing)" -->
static <a class="el" href="a00025.html">audiobuffer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>create</b> (<a class="el" href="a00026.html">audiocodec</a> *channel, <a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> framing)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42da74497ff50c58d05e36cc2acdca5b"></a><!-- doxytag: member="ucc::audiobuffer::create" ref="a42da74497ff50c58d05e36cc2acdca5b" args="(timeout_t limit)" -->
static <a class="el" href="a00025.html">audiobuffer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>create</b> (<a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> limit)</td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ff1497f3d44b2def4068d5fa13d5458"></a><!-- doxytag: member="ucc::audiobuffer::assign" ref="a8ff1497f3d44b2def4068d5fa13d5458" args="(size_t size, audiocodec *format=((void *) 0), timeout_t framing=0)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>assign</b> (size_t size, <a class="el" href="a00026.html">audiocodec</a> *format=((void *) 0), <a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> framing=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78fc7d3c53d9701166d44601dfe1f17e"></a><!-- doxytag: member="ucc::audiobuffer::getBuffer" ref="a78fc7d3c53d9701166d44601dfe1f17e" args="(void)" -->
encoded_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>getBuffer</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad24e75f14475507e5289fdd41748c4d2"></a><!-- doxytag: member="ucc::audiobuffer::getConvert" ref="ad24e75f14475507e5289fdd41748c4d2" args="(void)" -->
linear_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>getConvert</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b85b39d338074adb4be3ecee233445b"></a><!-- doxytag: member="ucc::audiobuffer::transbuffer" ref="a2b85b39d338074adb4be3ecee233445b" args="(audiocodec *from, audiocodec *to)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>transbuffer</b> (<a class="el" href="a00026.html">audiocodec</a> *from, <a class="el" href="a00026.html">audiocodec</a> *to)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace9af879ff965896105dac17cd145345"></a><!-- doxytag: member="ucc::audiobuffer::transcode" ref="ace9af879ff965896105dac17cd145345" args="(encoded_t source, encoded_t target, audiocodec *from, audiocodec *to)" -->
encoded_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>transcode</b> (encoded_t source, encoded_t target, <a class="el" href="a00026.html">audiocodec</a> *from, <a class="el" href="a00026.html">audiocodec</a> *to)</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" ><a class="anchor" id="a64ac19b1d631ed893120ceee77b10a78"></a><!-- doxytag: member="ucc::audiobuffer::@1" ref="a64ac19b1d631ed893120ceee77b10a78" args="" -->
union {</td></tr>
<tr><td class="memItemLeft" >&nbsp;&nbsp;&nbsp;<a class="el" href="a00026.html">audiocodec</a> *&nbsp;&nbsp;&nbsp;<b>channel</b></td></tr>
<tr><td class="memItemLeft" >&nbsp;&nbsp;&nbsp;<a class="el" href="a00026.html">audiocodec</a> *&nbsp;&nbsp;&nbsp;<b>channelbase</b></td></tr>
<tr><td class="memItemLeft" valign="top">};&nbsp;</td><td class="memItemRight" valign="bottom"></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab06a3bf5324423cd0337e5016f6a86"></a><!-- doxytag: member="ucc::audiobuffer::allocsize" ref="a8ab06a3bf5324423cd0337e5016f6a86" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>allocsize</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86e0165c0febd37145758c61c6fa0f3a"></a><!-- doxytag: member="ucc::audiobuffer::backio" ref="a86e0165c0febd37145758c61c6fa0f3a" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>backio</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a706e1862810ad9554c8f05b13ea478ba"></a><!-- doxytag: member="ucc::audiobuffer::backpos" ref="a706e1862810ad9554c8f05b13ea478ba" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>backpos</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48e05e007a70a7fecb6ca40cc8d93e26"></a><!-- doxytag: member="ucc::audiobuffer::backstore" ref="a48e05e007a70a7fecb6ca40cc8d93e26" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>backstore</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ba3d70c84bef1f3085f3925ca772792"></a><!-- doxytag: member="ucc::audiobuffer::buffer" ref="a5ba3d70c84bef1f3085f3925ca772792" args="" -->
encoded_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>buffer</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e85bf92825cf90e9c448e4633137892"></a><!-- doxytag: member="ucc::audiobuffer::buffering" ref="a7e85bf92825cf90e9c448e4633137892" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>buffering</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af40a757489622f5053bac10c9792ee18"></a><!-- doxytag: member="ucc::audiobuffer::convert" ref="af40a757489622f5053bac10c9792ee18" args="" -->
unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><b>convert</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02930155dce3fcb08e41fdb2fd4ccf8d"></a><!-- doxytag: member="ucc::audiobuffer::encoding" ref="a02930155dce3fcb08e41fdb2fd4ccf8d" args="" -->
<a class="el" href="a00026.html">audiocodec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>encoding</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae03588b68d2da25a0e7b16b99cc57c8a"></a><!-- doxytag: member="ucc::audiobuffer::iocount" ref="ae03588b68d2da25a0e7b16b99cc57c8a" args="" -->
unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><b>iocount</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44296fc97e2c0c0ea5f08a1d66ab8779"></a><!-- doxytag: member="ucc::audiobuffer::limit" ref="a44296fc97e2c0c0ea5f08a1d66ab8779" args="" -->
<a class="el" href="a00201.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>limit</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Generic audio buffering and transcoding for audio sources and sinks. </p>
<p>This is used to create working storage to support access to and conversion from different audio sources, such as files or tone generators. These can all manipulate this common audiobuffer base class that has space for audio conversion buffers. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="a00187_source.html#l00282">282</a> of file <a class="el" href="a00187_source.html">audio.h</a>.</p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad4056cc0fb056f66a535d605532b7927"></a><!-- doxytag: member="ucc::audiobuffer::expand" ref="ad4056cc0fb056f66a535d605532b7927" args="(encoded_t data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">linear_t ucc::audiobuffer::expand </td>
          <td>(</td>
          <td class="paramtype">encoded_t&nbsp;</td>
          <td class="paramname"> <em>data</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Unpack data pointer using convert buffer as working space. </p>
<p>This offers a convenient way to get a linear sample out of an existing encoded frames without having to allocate an additional buffer. The encoded data is assumed to be in the format of the frame. </p>

</div>
</div>
<a class="anchor" id="a20b16cddf08ec34e33ad968c7ad6c59b"></a><!-- doxytag: member="ucc::audiobuffer::getContexts" ref="a20b16cddf08ec34e33ad968c7ad6c59b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long ucc::audiobuffer::getContexts </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get number of i/o context switches performed for profiling. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>count of i/o operations since last allocate. </dd></dl>

<p>Definition at line <a class="el" href="a00187_source.html#l00320">320</a> of file <a class="el" href="a00187_source.html">audio.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ucommon/<a class="el" href="a00187_source.html">audio.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Jul 6 08:22:24 2010 for UCommon by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>