<!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: uddi2__delete_USCOREbusiness Class 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>uddi2__delete_USCOREbusiness Class Reference</h1>Schema urn:uddi-org:api_v2:"delete_business".  
<a href="#_details">More...</a>
<p>
<code>#include &lt;uddi_v2.h&gt;</code>
<p>
<a href="classuddi2____delete___u_s_c_o_r_ebusiness-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 Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#a0">uddi2__delete_USCOREbusiness</a> (struct <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a> *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#a1">uddi2__delete_USCOREbusiness</a> (struct <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a> *, const char *<a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o1">businessKey</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#a2">uddi2__delete_USCOREbusiness</a> (struct <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a> *, std::vector&lt; char * &gt; businessKeys)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classuddi2____disposition_report.html">uddi2__dispositionReport</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#a3">send</a> (const char *endpoint, char *<a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o0">authInfo</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Member declared in uddi2-typemap.dat.  <a href="#a3"></a><br></td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o0">authInfo</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element reference "urn:uddi-org:api_v2":authInfo.  <a href="#o0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>std::vector&lt; <a class="el" href="uddi__v2_8h.html#a3">uddi2__businessKey</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o1">businessKey</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Vector of uddi2__businessKey with length 0..unbounded.  <a href="#o1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o2">generic</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attribute generic of type xs:string.  <a href="#o2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle to the soap struct context that manages this class instance.  <a href="#o3"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Schema urn:uddi-org:api_v2:"delete_business". 
<p>
Represents a request to delete a business that meets the specified requirements.<p>
See  <a href="http://uddi.org/pubs/ProgrammersAPI_v2.htm#_Toc25137733">http://uddi.org/pubs/ProgrammersAPI_v2.htm#_Toc25137733</a> 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="uddi2__delete_USCOREbusiness::uddi2__delete_USCOREbusiness" ></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"> uddi2__delete_USCOREbusiness::uddi2__delete_USCOREbusiness           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>soap</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>soap</em>&nbsp;</td><td>gSOAP context</td></tr>
  </table>
</dl>
Creates an instance of the delete_USCOREbusiness class.     </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="uddi2__delete_USCOREbusiness::uddi2__delete_USCOREbusiness" ></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"> uddi2__delete_USCOREbusiness::uddi2__delete_USCOREbusiness           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>soap</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>businessKey</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>soap</em>&nbsp;</td><td>gSOAP context </td></tr>
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>businessKey</em>&nbsp;</td><td>a business key string</td></tr>
  </table>
</dl>
Creates an instance of the delete_USCOREbusiness class using the specified business key.     </td>
  </tr>
</table>
<a class="anchor" name="a2" doxytag="uddi2__delete_USCOREbusiness::uddi2__delete_USCOREbusiness" ></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"> uddi2__delete_USCOREbusiness::uddi2__delete_USCOREbusiness           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">struct <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>soap</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>std::vector&lt; char * &gt;&nbsp;</td>
          <td class="mdname" nowrap> <em>businessKeys</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>soap</em>&nbsp;</td><td>gSOAP context </td></tr>
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>businessKeys</em>&nbsp;</td><td>collection of business keys</td></tr>
  </table>
</dl>
Creates an instance of the delete_USCOREbusiness class using the specified business keys.     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a3" doxytag="uddi2__delete_USCOREbusiness::send" ></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="classuddi2____disposition_report.html">uddi2__dispositionReport</a> * uddi2__delete_USCOREbusiness::send           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap> <em>authInfo</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Member declared in uddi2-typemap.dat. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>endpoint</em>&nbsp;</td><td>URL of the UDDI server </td></tr>
    <tr><td><tt>[in]</tt>&nbsp;</td><td valign=top><em>authInfo</em>&nbsp;</td><td>authorization token provided by the UDDI server </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>A pointer to a <a class="el" href="classuddi2____disposition_report.html">uddi2__dispositionReport</a> object or NULL on error</dd></dl>
Send a request to a UDDI service to delete a business that meets the specified requirements.     </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="o0" doxytag="uddi2__delete_USCOREbusiness::authInfo" ></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"> char* <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o0">uddi2__delete_USCOREbusiness::authInfo</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Element reference "urn:uddi-org:api_v2":authInfo. 
<p>
Required element     </td>
  </tr>
</table>
<a class="anchor" name="o1" doxytag="uddi2__delete_USCOREbusiness::businessKey" ></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"> std::vector&lt;<a class="el" href="uddi__v2_8h.html#a3">uddi2__businessKey</a> &gt; <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o1">uddi2__delete_USCOREbusiness::businessKey</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Vector of uddi2__businessKey with length 0..unbounded. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="o2" doxytag="uddi2__delete_USCOREbusiness::generic" ></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"> char* <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o2">uddi2__delete_USCOREbusiness::generic</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Attribute generic of type xs:string. 
<p>
Required attribute     </td>
  </tr>
</table>
<a class="anchor" name="o3" doxytag="uddi2__delete_USCOREbusiness::soap" ></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"> struct <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">soap</a>* <a class="el" href="classuddi2____delete___u_s_c_o_r_ebusiness.html#o3">uddi2__delete_USCOREbusiness::soap</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
A handle to the soap struct context that manages this class instance. 
<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li>/Users/engelen/Projects/gsoap/doc/uddi2/<a class="el" href="uddi__v2_8h.html">uddi_v2.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Wed Aug 17 16:16:58 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>
