/* soapStub.h
   Generated by gSOAP 2.8.48 for calculator.h

gSOAP XML Web services tools
Copyright (C) 2000-2017, Robert van Engelen, Genivia Inc. All Rights Reserved.
The soapcpp2 tool and its generated software are released under the GPL.
This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
--------------------------------------------------------------------------------
A commercial use license is available from Genivia Inc., contact@genivia.com
--------------------------------------------------------------------------------
*/

#include <vector>
#define SOAP_NAMESPACE_OF_mssamti	"http://Microsoft.Samples.TransportSecurity/Imports"
#define SOAP_NAMESPACE_OF_mssamt	"http://Microsoft.Samples.TransportSecurity"

#ifndef soapStub_H
#define soapStub_H
#include "stdsoap2.h"
#if GSOAP_VERSION != 20848
# error "GSOAP VERSION 20848 MISMATCH IN GENERATED CODE VERSUS LIBRARY CODE: PLEASE REINSTALL PACKAGE"
#endif


/******************************************************************************\
 *                                                                            *
 * Types with Custom Serializers                                              *
 *                                                                            *
\******************************************************************************/


/******************************************************************************\
 *                                                                            *
 * Classes, Structs and Unions                                                *
 *                                                                            *
\******************************************************************************/

class _mssamt__Add;	/* calculator.h:143 */
class _mssamt__AddResponse;	/* calculator.h:146 */
class _mssamt__Subtract;	/* calculator.h:149 */
class _mssamt__SubtractResponse;	/* calculator.h:152 */
class _mssamt__Multiply;	/* calculator.h:155 */
class _mssamt__MultiplyResponse;	/* calculator.h:158 */
class _mssamt__Divide;	/* calculator.h:161 */
class _mssamt__DivideResponse;	/* calculator.h:164 */
struct __tempuri__Add;	/* calculator.h:464 */
struct __tempuri__Subtract;	/* calculator.h:534 */
struct __tempuri__Multiply;	/* calculator.h:604 */
struct __tempuri__Divide;	/* calculator.h:674 */

/* calculator.h:143 */
#ifndef SOAP_TYPE__mssamt__Add
#define SOAP_TYPE__mssamt__Add (8)
/* complex XSD type 'mssamt:Add': */
class SOAP_CMAC _mssamt__Add {
      public:
        /// Optional element 'mssamt:n1' of XSD type 'xsd:double'
        double *n1;
        /// Optional element 'mssamt:n2' of XSD type 'xsd:double'
        double *n2;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__Add
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__Add; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__Add, default initialized and not managed by a soap context
        virtual _mssamt__Add *soap_alloc(void) const { return SOAP_NEW(_mssamt__Add); }
      public:
        /// Constructor with initializations
        _mssamt__Add()
        {
          n1 = (double *)0;
          n2 = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__Add() { }
        /// Friend allocator used by soap_new__mssamt__Add(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__Add * SOAP_FMAC2 soap_instantiate__mssamt__Add(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:146 */
#ifndef SOAP_TYPE__mssamt__AddResponse
#define SOAP_TYPE__mssamt__AddResponse (9)
/* complex XSD type 'mssamt:AddResponse': */
class SOAP_CMAC _mssamt__AddResponse {
      public:
        /// Optional element 'mssamt:AddResult' of XSD type 'xsd:double'
        double *AddResult;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__AddResponse
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__AddResponse; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__AddResponse, default initialized and not managed by a soap context
        virtual _mssamt__AddResponse *soap_alloc(void) const { return SOAP_NEW(_mssamt__AddResponse); }
      public:
        /// Constructor with initializations
        _mssamt__AddResponse()
        {
          AddResult = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__AddResponse() { }
        /// Friend allocator used by soap_new__mssamt__AddResponse(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__AddResponse * SOAP_FMAC2 soap_instantiate__mssamt__AddResponse(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:149 */
#ifndef SOAP_TYPE__mssamt__Subtract
#define SOAP_TYPE__mssamt__Subtract (10)
/* complex XSD type 'mssamt:Subtract': */
class SOAP_CMAC _mssamt__Subtract {
      public:
        /// Optional element 'mssamt:n1' of XSD type 'xsd:double'
        double *n1;
        /// Optional element 'mssamt:n2' of XSD type 'xsd:double'
        double *n2;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__Subtract
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__Subtract; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__Subtract, default initialized and not managed by a soap context
        virtual _mssamt__Subtract *soap_alloc(void) const { return SOAP_NEW(_mssamt__Subtract); }
      public:
        /// Constructor with initializations
        _mssamt__Subtract()
        {
          n1 = (double *)0;
          n2 = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__Subtract() { }
        /// Friend allocator used by soap_new__mssamt__Subtract(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__Subtract * SOAP_FMAC2 soap_instantiate__mssamt__Subtract(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:152 */
#ifndef SOAP_TYPE__mssamt__SubtractResponse
#define SOAP_TYPE__mssamt__SubtractResponse (11)
/* complex XSD type 'mssamt:SubtractResponse': */
class SOAP_CMAC _mssamt__SubtractResponse {
      public:
        /// Optional element 'mssamt:SubtractResult' of XSD type 'xsd:double'
        double *SubtractResult;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__SubtractResponse
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__SubtractResponse; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__SubtractResponse, default initialized and not managed by a soap context
        virtual _mssamt__SubtractResponse *soap_alloc(void) const { return SOAP_NEW(_mssamt__SubtractResponse); }
      public:
        /// Constructor with initializations
        _mssamt__SubtractResponse()
        {
          SubtractResult = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__SubtractResponse() { }
        /// Friend allocator used by soap_new__mssamt__SubtractResponse(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__SubtractResponse * SOAP_FMAC2 soap_instantiate__mssamt__SubtractResponse(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:155 */
#ifndef SOAP_TYPE__mssamt__Multiply
#define SOAP_TYPE__mssamt__Multiply (12)
/* complex XSD type 'mssamt:Multiply': */
class SOAP_CMAC _mssamt__Multiply {
      public:
        /// Optional element 'mssamt:n1' of XSD type 'xsd:double'
        double *n1;
        /// Optional element 'mssamt:n2' of XSD type 'xsd:double'
        double *n2;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__Multiply
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__Multiply; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__Multiply, default initialized and not managed by a soap context
        virtual _mssamt__Multiply *soap_alloc(void) const { return SOAP_NEW(_mssamt__Multiply); }
      public:
        /// Constructor with initializations
        _mssamt__Multiply()
        {
          n1 = (double *)0;
          n2 = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__Multiply() { }
        /// Friend allocator used by soap_new__mssamt__Multiply(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__Multiply * SOAP_FMAC2 soap_instantiate__mssamt__Multiply(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:158 */
#ifndef SOAP_TYPE__mssamt__MultiplyResponse
#define SOAP_TYPE__mssamt__MultiplyResponse (13)
/* complex XSD type 'mssamt:MultiplyResponse': */
class SOAP_CMAC _mssamt__MultiplyResponse {
      public:
        /// Optional element 'mssamt:MultiplyResult' of XSD type 'xsd:double'
        double *MultiplyResult;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__MultiplyResponse
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__MultiplyResponse; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__MultiplyResponse, default initialized and not managed by a soap context
        virtual _mssamt__MultiplyResponse *soap_alloc(void) const { return SOAP_NEW(_mssamt__MultiplyResponse); }
      public:
        /// Constructor with initializations
        _mssamt__MultiplyResponse()
        {
          MultiplyResult = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__MultiplyResponse() { }
        /// Friend allocator used by soap_new__mssamt__MultiplyResponse(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__MultiplyResponse * SOAP_FMAC2 soap_instantiate__mssamt__MultiplyResponse(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:161 */
#ifndef SOAP_TYPE__mssamt__Divide
#define SOAP_TYPE__mssamt__Divide (14)
/* complex XSD type 'mssamt:Divide': */
class SOAP_CMAC _mssamt__Divide {
      public:
        /// Optional element 'mssamt:n1' of XSD type 'xsd:double'
        double *n1;
        /// Optional element 'mssamt:n2' of XSD type 'xsd:double'
        double *n2;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__Divide
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__Divide; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__Divide, default initialized and not managed by a soap context
        virtual _mssamt__Divide *soap_alloc(void) const { return SOAP_NEW(_mssamt__Divide); }
      public:
        /// Constructor with initializations
        _mssamt__Divide()
        {
          n1 = (double *)0;
          n2 = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__Divide() { }
        /// Friend allocator used by soap_new__mssamt__Divide(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__Divide * SOAP_FMAC2 soap_instantiate__mssamt__Divide(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:164 */
#ifndef SOAP_TYPE__mssamt__DivideResponse
#define SOAP_TYPE__mssamt__DivideResponse (15)
/* complex XSD type 'mssamt:DivideResponse': */
class SOAP_CMAC _mssamt__DivideResponse {
      public:
        /// Optional element 'mssamt:DivideResult' of XSD type 'xsd:double'
        double *DivideResult;
        /// Context that manages this object
        struct soap *soap;
      public:
        /// Return unique type id SOAP_TYPE__mssamt__DivideResponse
        virtual int soap_type(void) const { return SOAP_TYPE__mssamt__DivideResponse; }
        /// (Re)set members to default values
        virtual void soap_default(struct soap*);
        /// Serialize object to prepare for SOAP 1.1/1.2 encoded output (or with SOAP_XML_GRAPH) by analyzing its (cyclic) structures
        virtual void soap_serialize(struct soap*) const;
        /// Output object in XML, compliant with SOAP 1.1 encoding style, return error code or SOAP_OK
        virtual int soap_put(struct soap*, const char *tag, const char *type) const;
        /// Output object in XML, with tag and optional id attribute and xsi:type, return error code or SOAP_OK
        virtual int soap_out(struct soap*, const char *tag, int id, const char *type) const;
        /// Get object from XML, compliant with SOAP 1.1 encoding style, return pointer to object or NULL on error
        virtual void *soap_get(struct soap*, const char *tag, const char *type);
        /// Get object from XML, with matching tag and type (NULL matches any tag and type), return pointer to object or NULL on error
        virtual void *soap_in(struct soap*, const char *tag, const char *type);
        /// Return a new object of type _mssamt__DivideResponse, default initialized and not managed by a soap context
        virtual _mssamt__DivideResponse *soap_alloc(void) const { return SOAP_NEW(_mssamt__DivideResponse); }
      public:
        /// Constructor with initializations
        _mssamt__DivideResponse()
        {
          DivideResult = (double *)0;
          soap = (struct soap *)0;
        }
        virtual ~_mssamt__DivideResponse() { }
        /// Friend allocator used by soap_new__mssamt__DivideResponse(struct soap*, int)
        friend SOAP_FMAC1 _mssamt__DivideResponse * SOAP_FMAC2 soap_instantiate__mssamt__DivideResponse(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:464 */
#ifndef SOAP_TYPE___tempuri__Add
#define SOAP_TYPE___tempuri__Add (22)
/* Wrapper: */
struct SOAP_CMAC __tempuri__Add {
      public:
        /** Optional element 'mssamt:Add' of XSD type 'mssamt:Add' */
        _mssamt__Add *mssamt__Add;
      public:
        /** Return unique type id SOAP_TYPE___tempuri__Add */
        int soap_type() const { return SOAP_TYPE___tempuri__Add; }
        /** Constructor with member initializations */
        __tempuri__Add()
        {
          mssamt__Add = (_mssamt__Add *)0;
        }
        /** Friend allocator used by soap_new___tempuri__Add(struct soap*, int) */
        friend SOAP_FMAC1 __tempuri__Add * SOAP_FMAC2 soap_instantiate___tempuri__Add(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:534 */
#ifndef SOAP_TYPE___tempuri__Subtract
#define SOAP_TYPE___tempuri__Subtract (26)
/* Wrapper: */
struct SOAP_CMAC __tempuri__Subtract {
      public:
        /** Optional element 'mssamt:Subtract' of XSD type 'mssamt:Subtract' */
        _mssamt__Subtract *mssamt__Subtract;
      public:
        /** Return unique type id SOAP_TYPE___tempuri__Subtract */
        int soap_type() const { return SOAP_TYPE___tempuri__Subtract; }
        /** Constructor with member initializations */
        __tempuri__Subtract()
        {
          mssamt__Subtract = (_mssamt__Subtract *)0;
        }
        /** Friend allocator used by soap_new___tempuri__Subtract(struct soap*, int) */
        friend SOAP_FMAC1 __tempuri__Subtract * SOAP_FMAC2 soap_instantiate___tempuri__Subtract(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:604 */
#ifndef SOAP_TYPE___tempuri__Multiply
#define SOAP_TYPE___tempuri__Multiply (30)
/* Wrapper: */
struct SOAP_CMAC __tempuri__Multiply {
      public:
        /** Optional element 'mssamt:Multiply' of XSD type 'mssamt:Multiply' */
        _mssamt__Multiply *mssamt__Multiply;
      public:
        /** Return unique type id SOAP_TYPE___tempuri__Multiply */
        int soap_type() const { return SOAP_TYPE___tempuri__Multiply; }
        /** Constructor with member initializations */
        __tempuri__Multiply()
        {
          mssamt__Multiply = (_mssamt__Multiply *)0;
        }
        /** Friend allocator used by soap_new___tempuri__Multiply(struct soap*, int) */
        friend SOAP_FMAC1 __tempuri__Multiply * SOAP_FMAC2 soap_instantiate___tempuri__Multiply(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:674 */
#ifndef SOAP_TYPE___tempuri__Divide
#define SOAP_TYPE___tempuri__Divide (34)
/* Wrapper: */
struct SOAP_CMAC __tempuri__Divide {
      public:
        /** Optional element 'mssamt:Divide' of XSD type 'mssamt:Divide' */
        _mssamt__Divide *mssamt__Divide;
      public:
        /** Return unique type id SOAP_TYPE___tempuri__Divide */
        int soap_type() const { return SOAP_TYPE___tempuri__Divide; }
        /** Constructor with member initializations */
        __tempuri__Divide()
        {
          mssamt__Divide = (_mssamt__Divide *)0;
        }
        /** Friend allocator used by soap_new___tempuri__Divide(struct soap*, int) */
        friend SOAP_FMAC1 __tempuri__Divide * SOAP_FMAC2 soap_instantiate___tempuri__Divide(struct soap*, int, const char*, const char*, size_t*);
};
#endif

/* calculator.h:847 */
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Header
#define SOAP_TYPE_SOAP_ENV__Header (35)
/* SOAP_ENV__Header: */
struct SOAP_CMAC SOAP_ENV__Header {
      public:
        /** Return unique type id SOAP_TYPE_SOAP_ENV__Header */
        int soap_type() const { return SOAP_TYPE_SOAP_ENV__Header; }
        /** Constructor with member initializations */
        SOAP_ENV__Header()
        {
        }
        /** Friend allocator used by soap_new_SOAP_ENV__Header(struct soap*, int) */
        friend SOAP_FMAC1 SOAP_ENV__Header * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Header(struct soap*, int, const char*, const char*, size_t*);
};
#endif
#endif

/* calculator.h:847 */
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Code
#define SOAP_TYPE_SOAP_ENV__Code (36)
/* Type SOAP_ENV__Code is a recursive data type, (in)directly referencing itself through its (base or derived class) members */
/* SOAP_ENV__Code: */
struct SOAP_CMAC SOAP_ENV__Code {
      public:
        /** Optional element 'SOAP-ENV:Value' of XSD type 'xsd:QName' */
        char *SOAP_ENV__Value;
        /** Optional element 'SOAP-ENV:Subcode' of XSD type 'SOAP-ENV:Code' */
        struct SOAP_ENV__Code *SOAP_ENV__Subcode;
      public:
        /** Return unique type id SOAP_TYPE_SOAP_ENV__Code */
        int soap_type() const { return SOAP_TYPE_SOAP_ENV__Code; }
        /** Constructor with member initializations */
        SOAP_ENV__Code()
        {
          SOAP_ENV__Value = (char *)0;
          SOAP_ENV__Subcode = (struct SOAP_ENV__Code *)0;
        }
        /** Friend allocator used by soap_new_SOAP_ENV__Code(struct soap*, int) */
        friend SOAP_FMAC1 SOAP_ENV__Code * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Code(struct soap*, int, const char*, const char*, size_t*);
};
#endif
#endif

/* calculator.h:847 */
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Detail
#define SOAP_TYPE_SOAP_ENV__Detail (38)
/* SOAP_ENV__Detail: */
struct SOAP_CMAC SOAP_ENV__Detail {
      public:
        char *__any;
        /** Any type of element 'fault' assigned to fault with its SOAP_TYPE_T assigned to __type */
        /** Do not create a cyclic data structure throught this member unless SOAP encoding or SOAP_XML_GRAPH are used for id-ref serialization */
        int __type;
        void *fault;
      public:
        /** Return unique type id SOAP_TYPE_SOAP_ENV__Detail */
        int soap_type() const { return SOAP_TYPE_SOAP_ENV__Detail; }
        /** Constructor with member initializations */
        SOAP_ENV__Detail()
        {
          __any = (char *)0;
          __type = 0;
          fault = NULL;
        }
        /** Friend allocator used by soap_new_SOAP_ENV__Detail(struct soap*, int) */
        friend SOAP_FMAC1 SOAP_ENV__Detail * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Detail(struct soap*, int, const char*, const char*, size_t*);
};
#endif
#endif

/* calculator.h:847 */
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Reason
#define SOAP_TYPE_SOAP_ENV__Reason (41)
/* SOAP_ENV__Reason: */
struct SOAP_CMAC SOAP_ENV__Reason {
      public:
        /** Optional element 'SOAP-ENV:Text' of XSD type 'xsd:string' */
        char *SOAP_ENV__Text;
      public:
        /** Return unique type id SOAP_TYPE_SOAP_ENV__Reason */
        int soap_type() const { return SOAP_TYPE_SOAP_ENV__Reason; }
        /** Constructor with member initializations */
        SOAP_ENV__Reason()
        {
          SOAP_ENV__Text = (char *)0;
        }
        /** Friend allocator used by soap_new_SOAP_ENV__Reason(struct soap*, int) */
        friend SOAP_FMAC1 SOAP_ENV__Reason * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Reason(struct soap*, int, const char*, const char*, size_t*);
};
#endif
#endif

/* calculator.h:847 */
#ifndef WITH_NOGLOBAL
#ifndef SOAP_TYPE_SOAP_ENV__Fault
#define SOAP_TYPE_SOAP_ENV__Fault (42)
/* SOAP_ENV__Fault: */
struct SOAP_CMAC SOAP_ENV__Fault {
      public:
        /** Optional element 'faultcode' of XSD type 'xsd:QName' */
        char *faultcode;
        /** Optional element 'faultstring' of XSD type 'xsd:string' */
        char *faultstring;
        /** Optional element 'faultactor' of XSD type 'xsd:string' */
        char *faultactor;
        /** Optional element 'detail' of XSD type 'SOAP-ENV:Detail' */
        struct SOAP_ENV__Detail *detail;
        /** Optional element 'SOAP-ENV:Code' of XSD type 'SOAP-ENV:Code' */
        struct SOAP_ENV__Code *SOAP_ENV__Code;
        /** Optional element 'SOAP-ENV:Reason' of XSD type 'SOAP-ENV:Reason' */
        struct SOAP_ENV__Reason *SOAP_ENV__Reason;
        /** Optional element 'SOAP-ENV:Node' of XSD type 'xsd:string' */
        char *SOAP_ENV__Node;
        /** Optional element 'SOAP-ENV:Role' of XSD type 'xsd:string' */
        char *SOAP_ENV__Role;
        /** Optional element 'SOAP-ENV:Detail' of XSD type 'SOAP-ENV:Detail' */
        struct SOAP_ENV__Detail *SOAP_ENV__Detail;
      public:
        /** Return unique type id SOAP_TYPE_SOAP_ENV__Fault */
        int soap_type() const { return SOAP_TYPE_SOAP_ENV__Fault; }
        /** Constructor with member initializations */
        SOAP_ENV__Fault()
        {
          faultcode = (char *)0;
          faultstring = (char *)0;
          faultactor = (char *)0;
          detail = (struct SOAP_ENV__Detail *)0;
          SOAP_ENV__Code = (struct SOAP_ENV__Code *)0;
          SOAP_ENV__Reason = (struct SOAP_ENV__Reason *)0;
          SOAP_ENV__Node = (char *)0;
          SOAP_ENV__Role = (char *)0;
          SOAP_ENV__Detail = (struct SOAP_ENV__Detail *)0;
        }
        /** Friend allocator used by soap_new_SOAP_ENV__Fault(struct soap*, int) */
        friend SOAP_FMAC1 SOAP_ENV__Fault * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Fault(struct soap*, int, const char*, const char*, size_t*);
};
#endif
#endif

/******************************************************************************\
 *                                                                            *
 * Typedefs                                                                   *
 *                                                                            *
\******************************************************************************/


/* stlvector.h:53 */
#ifndef SOAP_TYPE__XML
#define SOAP_TYPE__XML (5)
typedef char *_XML;
#endif

/* stlvector.h:53 */
#ifndef SOAP_TYPE__QName
#define SOAP_TYPE__QName (6)
typedef char *_QName;
#endif

/******************************************************************************\
 *                                                                            *
 * Serializable Types                                                         *
 *                                                                            *
\******************************************************************************/


/* char has binding name 'byte' for type 'xsd:byte' */
#ifndef SOAP_TYPE_byte
#define SOAP_TYPE_byte (3)
#endif

/* int has binding name 'int' for type 'xsd:int' */
#ifndef SOAP_TYPE_int
#define SOAP_TYPE_int (1)
#endif

/* double has binding name 'double' for type 'xsd:double' */
#ifndef SOAP_TYPE_double
#define SOAP_TYPE_double (16)
#endif

/* _mssamt__DivideResponse has binding name '_mssamt__DivideResponse' for type '' */
#ifndef SOAP_TYPE__mssamt__DivideResponse
#define SOAP_TYPE__mssamt__DivideResponse (15)
#endif

/* _mssamt__Divide has binding name '_mssamt__Divide' for type '' */
#ifndef SOAP_TYPE__mssamt__Divide
#define SOAP_TYPE__mssamt__Divide (14)
#endif

/* _mssamt__MultiplyResponse has binding name '_mssamt__MultiplyResponse' for type '' */
#ifndef SOAP_TYPE__mssamt__MultiplyResponse
#define SOAP_TYPE__mssamt__MultiplyResponse (13)
#endif

/* _mssamt__Multiply has binding name '_mssamt__Multiply' for type '' */
#ifndef SOAP_TYPE__mssamt__Multiply
#define SOAP_TYPE__mssamt__Multiply (12)
#endif

/* _mssamt__SubtractResponse has binding name '_mssamt__SubtractResponse' for type '' */
#ifndef SOAP_TYPE__mssamt__SubtractResponse
#define SOAP_TYPE__mssamt__SubtractResponse (11)
#endif

/* _mssamt__Subtract has binding name '_mssamt__Subtract' for type '' */
#ifndef SOAP_TYPE__mssamt__Subtract
#define SOAP_TYPE__mssamt__Subtract (10)
#endif

/* _mssamt__AddResponse has binding name '_mssamt__AddResponse' for type '' */
#ifndef SOAP_TYPE__mssamt__AddResponse
#define SOAP_TYPE__mssamt__AddResponse (9)
#endif

/* _mssamt__Add has binding name '_mssamt__Add' for type '' */
#ifndef SOAP_TYPE__mssamt__Add
#define SOAP_TYPE__mssamt__Add (8)
#endif

/* struct SOAP_ENV__Fault has binding name 'SOAP_ENV__Fault' for type '' */
#ifndef SOAP_TYPE_SOAP_ENV__Fault
#define SOAP_TYPE_SOAP_ENV__Fault (42)
#endif

/* struct SOAP_ENV__Reason has binding name 'SOAP_ENV__Reason' for type '' */
#ifndef SOAP_TYPE_SOAP_ENV__Reason
#define SOAP_TYPE_SOAP_ENV__Reason (41)
#endif

/* struct SOAP_ENV__Detail has binding name 'SOAP_ENV__Detail' for type '' */
#ifndef SOAP_TYPE_SOAP_ENV__Detail
#define SOAP_TYPE_SOAP_ENV__Detail (38)
#endif

/* struct SOAP_ENV__Code has binding name 'SOAP_ENV__Code' for type '' */
#ifndef SOAP_TYPE_SOAP_ENV__Code
#define SOAP_TYPE_SOAP_ENV__Code (36)
#endif

/* struct SOAP_ENV__Header has binding name 'SOAP_ENV__Header' for type '' */
#ifndef SOAP_TYPE_SOAP_ENV__Header
#define SOAP_TYPE_SOAP_ENV__Header (35)
#endif

/* struct SOAP_ENV__Reason * has binding name 'PointerToSOAP_ENV__Reason' for type '' */
#ifndef SOAP_TYPE_PointerToSOAP_ENV__Reason
#define SOAP_TYPE_PointerToSOAP_ENV__Reason (44)
#endif

/* struct SOAP_ENV__Detail * has binding name 'PointerToSOAP_ENV__Detail' for type '' */
#ifndef SOAP_TYPE_PointerToSOAP_ENV__Detail
#define SOAP_TYPE_PointerToSOAP_ENV__Detail (43)
#endif

/* struct SOAP_ENV__Code * has binding name 'PointerToSOAP_ENV__Code' for type '' */
#ifndef SOAP_TYPE_PointerToSOAP_ENV__Code
#define SOAP_TYPE_PointerToSOAP_ENV__Code (37)
#endif

/* _mssamt__DivideResponse * has binding name 'PointerTo_mssamt__DivideResponse' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__DivideResponse
#define SOAP_TYPE_PointerTo_mssamt__DivideResponse (32)
#endif

/* _mssamt__Divide * has binding name 'PointerTo_mssamt__Divide' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__Divide
#define SOAP_TYPE_PointerTo_mssamt__Divide (31)
#endif

/* _mssamt__MultiplyResponse * has binding name 'PointerTo_mssamt__MultiplyResponse' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__MultiplyResponse
#define SOAP_TYPE_PointerTo_mssamt__MultiplyResponse (28)
#endif

/* _mssamt__Multiply * has binding name 'PointerTo_mssamt__Multiply' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__Multiply
#define SOAP_TYPE_PointerTo_mssamt__Multiply (27)
#endif

/* _mssamt__SubtractResponse * has binding name 'PointerTo_mssamt__SubtractResponse' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__SubtractResponse
#define SOAP_TYPE_PointerTo_mssamt__SubtractResponse (24)
#endif

/* _mssamt__Subtract * has binding name 'PointerTo_mssamt__Subtract' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__Subtract
#define SOAP_TYPE_PointerTo_mssamt__Subtract (23)
#endif

/* _mssamt__AddResponse * has binding name 'PointerTo_mssamt__AddResponse' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__AddResponse
#define SOAP_TYPE_PointerTo_mssamt__AddResponse (20)
#endif

/* _mssamt__Add * has binding name 'PointerTo_mssamt__Add' for type '' */
#ifndef SOAP_TYPE_PointerTo_mssamt__Add
#define SOAP_TYPE_PointerTo_mssamt__Add (19)
#endif

/* double * has binding name 'PointerTodouble' for type 'xsd:double' */
#ifndef SOAP_TYPE_PointerTodouble
#define SOAP_TYPE_PointerTodouble (17)
#endif

/* _QName has binding name '_QName' for type 'xsd:QName' */
#ifndef SOAP_TYPE__QName
#define SOAP_TYPE__QName (6)
#endif

/* _XML has binding name '_XML' for type '' */
#ifndef SOAP_TYPE__XML
#define SOAP_TYPE__XML (5)
#endif

/* char * has binding name 'string' for type 'xsd:string' */
#ifndef SOAP_TYPE_string
#define SOAP_TYPE_string (4)
#endif

/******************************************************************************\
 *                                                                            *
 * Externals                                                                  *
 *                                                                            *
\******************************************************************************/


#endif

/* End of soapStub.h */
