<!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 UDDI v2: Member List</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>uddi2__get_USCOREbusinessDetailExt Member List</h1>This is the complete list of members for <a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a>, including all inherited members.<p><table>
  <tr class="memlist"><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html#o0">businessKey</a></td><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html#o1">generic</a></td><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html#a3">send</a>(const char *endpoint)</td><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html#o2">soap</a></td><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html#a0">uddi2__get_USCOREbusinessDetailExt</a>(struct soap *)</td><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html#a1">uddi2__get_USCOREbusinessDetailExt</a>(struct soap *, const char *businessKey)</td><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html#a2">uddi2__get_USCOREbusinessDetailExt</a>(struct soap *, std::vector&lt; char * &gt; businessKeys)</td><td><a class="el" href="classuddi2____get___u_s_c_o_r_ebusiness_detail_ext.html">uddi2__get_USCOREbusinessDetailExt</a></td><td></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Wed Aug 17 16:16:59 2005 for gSOAP UDDI v2 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>
