/* plasma.h
   Generated by wsdl2h 2.8.3 from ContentService.wsdl and typemap.dat
   2012-03-16 01:45:11 GMT

   DO NOT INCLUDE THIS FILE DIRECTLY INTO YOUR PROJECT BUILDS
   USE THE soapcpp2-GENERATED SOURCE CODE FILES FOR YOUR PROJECT BUILDS

   gSOAP XML Web services tools.
   Copyright (C) 2001-2010 Robert van Engelen, Genivia Inc. All Rights Reserved.
   Part of this software is released under one of the following licenses:
   GPL or Genivia's license for commercial use.
*/

/** @page page_notes Usage Notes

NOTE:

 - Run soapcpp2 on plasma.h to generate the SOAP/XML processing logic.
   Use soapcpp2 option -I to specify paths for #import
   To build with STL, 'stlvector.h' is imported from 'import' dir in package.
   Use soapcpp2 option -i to generate improved proxy and server classes.
 - Use wsdl2h options -c and -s to generate pure C code or C++ code without STL.
 - Use 'typemap.dat' to control namespace bindings and type mappings.
   It is strongly recommended to customize the names of the namespace prefixes
   generated by wsdl2h. To do so, modify the prefix bindings in the Namespaces
   section below and add the modified lines to 'typemap.dat' to rerun wsdl2h.
 - Use Doxygen (www.doxygen.org) on this file to generate documentation.
 - Use wsdl2h options -nname and -Nname to globally rename the prefix 'ns'.
 - Use wsdl2h option -d to enable DOM support for xsd:anyType.
 - Use wsdl2h option -g to auto-generate readers and writers for root elements.
 - Struct/class members serialized as XML attributes are annotated with a '@'.
 - Struct/class members that have a special role are annotated with a '$'.

WARNING:

   DO NOT INCLUDE THIS FILE DIRECTLY INTO YOUR PROJECT BUILDS.
   USE THE SOURCE CODE FILES GENERATED BY soapcpp2 FOR YOUR PROJECT BUILDS:
   THE soapStub.h FILE CONTAINS THIS CONTENT WITHOUT ANNOTATIONS.

LICENSE:

@verbatim
--------------------------------------------------------------------------------
gSOAP XML Web services tools
Copyright (C) 2000-2011, Robert van Engelen, Genivia Inc. All Rights Reserved.

This software is released under one of the following two licenses:
1) GPL or 2) Genivia's license for commercial use.
--------------------------------------------------------------------------------
1) GPL license.

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA

Author contact information:
engelen@genivia.com / engelen@acm.org

This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
--------------------------------------------------------------------------------
2) A commercial-use license is available from Genivia, Inc., contact@genivia.com
--------------------------------------------------------------------------------
@endverbatim

*/


//gsoapopt w

/******************************************************************************\
 *                                                                            *
 * Definitions                                                                *
 *   http://tempuri.org/                                                      *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Import                                                                     *
 *                                                                            *
\******************************************************************************/


// STL vector containers (use option -s to remove STL dependency)
#import "stlvector.h"

/******************************************************************************\
 *                                                                            *
 * Schema Namespaces                                                          *
 *                                                                            *
\******************************************************************************/

// This service uses SOAP 1.2 namespaces:
//gsoap SOAP-ENV schema namespace:	http://www.w3.org/2003/05/soap-envelope
//gsoap SOAP-ENC schema namespace:	http://www.w3.org/2003/05/soap-encoding

/* NOTE:

It is strongly recommended to customize the names of the namespace prefixes
generated by wsdl2h. To do so, modify the prefix bindings below and add the
modified lines to typemap.dat to rerun wsdl2h:

Plasma = "http://tempuri.org/"

*/

#define SOAP_NAMESPACE_OF_Plasma	"http://tempuri.org/"
//gsoap Plasma schema namespace:	http://tempuri.org/
//gsoap Plasma schema elementForm:	qualified
//gsoap Plasma schema attributeForm:	unqualified

/******************************************************************************\
 *                                                                            *
 * Built-in Schema Types and Top-Level Elements and Attributes                *
 *                                                                            *
\******************************************************************************/


/// Built-in type "xs:base64Binary".
class xsd__base64Binary
{	unsigned char *__ptr;
	int __size;
	char *id, *type, *options; // NOTE: for DIME and MTOM XOP attachments only
	struct soap *soap;
};

/******************************************************************************\
 *                                                                            *
 * Forward Declarations                                                       *
 *                                                                            *
\******************************************************************************/



//  Forward declaration of class Plasma__ArrayOfString.
class Plasma__ArrayOfString;

//  Forward declaration of class _Plasma__DownloadFile.
class _Plasma__DownloadFile;

//  Forward declaration of class _Plasma__DownloadFileResponse.
class _Plasma__DownloadFileResponse;

/******************************************************************************\
 *                                                                            *
 * Schema Types and Top-Level Elements and Attributes                         *
 *   http://tempuri.org/                                                      *
 *                                                                            *
\******************************************************************************/


/// "http://tempuri.org/":ResourceType is a simpleType restriction of xs:string.
/// Note: enum values are prefixed with 'Plasma__ResourceType' to avoid name clashes, please use wsdl2h option -e to omit this prefix
enum Plasma__ResourceType
{
	Plasma__ResourceType__Map,	///< xs:string value="Map"
	Plasma__ResourceType__Mod,	///< xs:string value="Mod"
};

/******************************************************************************\
 *                                                                            *
 * Schema Complex Types and Top-Level Elements                                *
 *   http://tempuri.org/                                                      *
 *                                                                            *
\******************************************************************************/


/// "http://tempuri.org/":ArrayOfString is a complexType.
class Plasma__ArrayOfString
{ public:
/// Vector of std::string with length 0..unbounded
    std::vector<std::string            > string                         0;	///< Nullable pointer.
/// A handle to the soap struct that manages this instance (automatically set)
    struct soap                         *soap                          ;
};


/// Top-level root element "http://tempuri.org/":DownloadFile

/// "http://tempuri.org/":DownloadFile is a complexType.
class _Plasma__DownloadFile
{ public:
/// Element internalName of type xs:string.
    std::string*                         internalName                   0;	///< Optional element.
/// A handle to the soap struct that manages this instance (automatically set)
    struct soap                         *soap                          ;
};


/// Top-level root element "http://tempuri.org/":DownloadFileResponse

/// "http://tempuri.org/":DownloadFileResponse is a complexType.
class _Plasma__DownloadFileResponse
{ public:
/// Element DownloadFileResult of type xs:boolean.
    bool                                 DownloadFileResult             1;	///< Required element.
/// Element links of type "http://tempuri.org/":ArrayOfString.
    Plasma__ArrayOfString*               links                          0;	///< Optional element.
/// Element torrent of type xs:base64Binary.
    xsd__base64Binary*                   torrent                        0;	///< Optional element.
/// Element dependencies of type "http://tempuri.org/":ArrayOfString.
    Plasma__ArrayOfString*               dependencies                   0;	///< Optional element.
/// Element resourceType of type "http://tempuri.org/":ResourceType.
    enum Plasma__ResourceType            resourceType                   1;	///< Required element.
/// Element torrentFileName of type xs:string.
    std::string*                         torrentFileName                0;	///< Optional element.
/// A handle to the soap struct that manages this instance (automatically set)
    struct soap                         *soap                          ;
};

/******************************************************************************\
 *                                                                            *
 * Additional Top-Level Elements                                              *
 *   http://tempuri.org/                                                      *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Additional Top-Level Attributes                                            *
 *   http://tempuri.org/                                                      *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Services                                                                   *
 *                                                                            *
\******************************************************************************/


//gsoap Plasma service name:	ContentServiceSoap12 
//gsoap Plasma service type:	ContentServiceSoap 
//gsoap Plasma service port:	http://zero-k.info/ContentService.asmx 
//gsoap Plasma service namespace:	http://tempuri.org/ 
//gsoap Plasma service transport:	http://schemas.xmlsoap.org/soap/http 

/** @mainpage Service Definitions

@section Service_bindings Service Bindings

  - @ref ContentServiceSoap12

@section Service_more More Information

  - @ref page_notes "Usage Notes"

  - @ref page_XMLDataBinding "XML Data Binding"

  - @ref SOAP_ENV__Header "SOAP Header Content" (when applicable)

  - @ref SOAP_ENV__Detail "SOAP Fault Detail Content" (when applicable)


*/

/**

@page ContentServiceSoap12 Binding "ContentServiceSoap12"

@section ContentServiceSoap12_operations Operations of Binding  "ContentServiceSoap12"

  - @ref __Plasma__DownloadFile

@section ContentServiceSoap12_ports Endpoints of Binding  "ContentServiceSoap12"

  - http://zero-k.info/ContentService.asmx

Note: use wsdl2h option -N to change the service binding prefix name

*/

/******************************************************************************\
 *                                                                            *
 * Service Binding                                                            *
 *   ContentServiceSoap12                                                     *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Service Operation                                                          *
 *   __Plasma__DownloadFile                                                   *
 *                                                                            *
\******************************************************************************/


/// Operation "__Plasma__DownloadFile" of service binding "ContentServiceSoap12"

/**

Operation details:


  - SOAP document/literal style messaging

  - SOAP action="http://tempuri.org/DownloadFile"

C stub function (defined in soapClient.c[pp] generated by soapcpp2):
@code
  int soap_call___Plasma__DownloadFile(
    struct soap *soap,
    NULL, // char *endpoint = NULL selects default endpoint for this operation
    NULL, // char *action = NULL selects default action for this operation
    // request parameters:
    _Plasma__DownloadFile*              Plasma__DownloadFile,
    // response parameters:
    _Plasma__DownloadFileResponse*      Plasma__DownloadFileResponse
  );
@endcode

C server function (called from the service dispatcher defined in soapServer.c[pp]):
@code
  int __Plasma__DownloadFile(
    struct soap *soap,
    // request parameters:
    _Plasma__DownloadFile*              Plasma__DownloadFile,
    // response parameters:
    _Plasma__DownloadFileResponse*      Plasma__DownloadFileResponse
  );
@endcode

C++ proxy class (defined in soapContentServiceSoap12Proxy.h):
@code
  class ContentServiceSoap12Proxy;
@endcode
Important: use soapcpp2 option '-i' to generate greatly improved and easy-to-use proxy classes;

C++ service class (defined in soapContentServiceSoap12Service.h):
@code
  class ContentServiceSoap12Service;
@endcode
Important: use soapcpp2 option '-i' to generate greatly improved and easy-to-use service classes;

*/

//gsoap Plasma service method-style:	DownloadFile document
//gsoap Plasma service method-encoding:	DownloadFile literal
//gsoap Plasma service method-action:	DownloadFile http://tempuri.org/DownloadFile
int __Plasma__DownloadFile(
    _Plasma__DownloadFile*              Plasma__DownloadFile,	///< Request parameter
    _Plasma__DownloadFileResponse*      Plasma__DownloadFileResponse	///< Response parameter
);

/******************************************************************************\
 *                                                                            *
 * XML Data Binding                                                           *
 *                                                                            *
\******************************************************************************/


/**

@page page_XMLDataBinding XML Data Binding

SOAP/XML services use data bindings contractually bound by WSDL and auto-
generated by wsdl2h and soapcpp2 (see Service Bindings). Plain data bindings
are adopted from XML schemas as part of the WSDL types section or when running
wsdl2h on a set of schemas to produce non-SOAP-based XML data bindings.

The following readers and writers are C/C++ data type (de)serializers auto-
generated by wsdl2h and soapcpp2. Run soapcpp2 on this file to generate the
(de)serialization code, which is stored in soapC.c[pp]. Include "soapH.h" in
your code to import these data type and function declarations. Only use the
soapcpp2-generated files in your project build. Do not include the wsdl2h-
generated .h file in your code.

XML content can be retrieved from:
  - a file descriptor, using soap->recvfd = fd
  - a socket, using soap->socket = ...
  - a C++ stream, using soap->is = ...
  - a buffer, using the soap->frecv() callback

XML content can be stored to:
  - a file descriptor, using soap->sendfd = fd
  - a socket, using soap->socket = ...
  - a C++ stream, using soap->os = ...
  - a buffer, using the soap->fsend() callback


@section Plasma Top-level root elements of schema "http://tempuri.org/"

  - <Plasma:DownloadFile> @ref _Plasma__DownloadFile
    @code
    // Reader (returns SOAP_OK on success):
    soap_read__Plasma__DownloadFile(struct soap*, _Plasma__DownloadFile*);
    // Writer (returns SOAP_OK on success):
    soap_write__Plasma__DownloadFile(struct soap*, _Plasma__DownloadFile*);
    @endcode

  - <Plasma:DownloadFileResponse> @ref _Plasma__DownloadFileResponse
    @code
    // Reader (returns SOAP_OK on success):
    soap_read__Plasma__DownloadFileResponse(struct soap*, _Plasma__DownloadFileResponse*);
    // Writer (returns SOAP_OK on success):
    soap_write__Plasma__DownloadFileResponse(struct soap*, _Plasma__DownloadFileResponse*);
    @endcode

*/

/* End of plasma.h */
