<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>gSOAP WS-Security: ds__TransformsType Struct Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.8 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>ds__TransformsType Struct Reference</h1>"http://www.w3.org/2000/09/xmldsig#":TransformsType is a complexType.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;ds.h&gt;</code>
<p>
Collaboration diagram for ds__TransformsType:<p><center><img src="structds_____transforms_type__coll__graph.png" border="0" usemap="#ds_____transforms_type__coll__map" alt="Collaboration graph"></center>
<map name="ds_____transforms_type__coll__map">
<area href="structds_____transform_type.html" shape="rect" coords="40,108,168,134" alt="">
<area href="struct__c14n_____inclusive_namespaces.html" shape="rect" coords="6,17,201,44" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="structds_____transforms_type-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 Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structds_____transforms_type.html#o0">__sizeTransform</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of the dynamic array of <a class="el" href="structds_____transform_type.html">ds__TransformType</a> is 0..unbounded.  <a href="#o0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structds_____transform_type.html">ds__TransformType</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structds_____transforms_type.html#o1">Transform</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to array of <a class="el" href="structds_____transform_type.html">ds__TransformType</a>.  <a href="#o1"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
"http://www.w3.org/2000/09/xmldsig#":TransformsType is a complexType. 
<p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="o0" doxytag="ds__TransformsType::__sizeTransform" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int <a class="el" href="structds_____transforms_type.html#o0">ds__TransformsType::__sizeTransform</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Size of the dynamic array of <a class="el" href="structds_____transform_type.html">ds__TransformType</a> is 0..unbounded. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="o1" doxytag="ds__TransformsType::Transform" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="structds_____transform_type.html">ds__TransformType</a>* <a class="el" href="structds_____transforms_type.html#o1">ds__TransformsType::Transform</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Pointer to array of <a class="el" href="structds_____transform_type.html">ds__TransformType</a>. 
<p>
    </td>
  </tr>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>/Users/engelen/Projects/gsoap/doc/wsse/<a class="el" href="ds_8h.html">ds.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Fri Aug 19 10:41:46 2005 for gSOAP WS-Security by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>
