<!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__delete_USCOREservice Member List</h1>This is the complete list of members for <a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a>, including all inherited members.<p><table>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o0">authInfo</a></td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o2">generic</a></td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a3">send</a>(const char *endpoint, char *authInfo)</td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o1">serviceKey</a></td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#o3">soap</a></td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a0">uddi2__delete_USCOREservice</a>(struct soap *)</td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a1">uddi2__delete_USCOREservice</a>(struct soap *, const char *serviceKey)</td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</a></td><td></td></tr>
  <tr class="memlist"><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html#a2">uddi2__delete_USCOREservice</a>(struct soap *, std::vector&lt; char * &gt; serviceKeys)</td><td><a class="el" href="classuddi2____delete___u_s_c_o_r_eservice.html">uddi2__delete_USCOREservice</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>
