blob: f4a9ce0dbf19aa8bf43397288d27ae51c003833e [file] [log] [blame]
/* varparam.h
Example use of variable parameter lists with the full XML
schema type hierarchy implemented as a C++ class hierarchy.
Copyright (C) 2000-2002 Robert A. van Engelen. All Rights Reserved.
*/
//gsoap ns service name: varparam
//gsoap ns service style: rpc
//gsoap ns service encoding: encoded
//gsoap ns service namespace: urn:varparam
//gsoap ns service location: http://websrv.cs.fsu.edu/~engelen/varparam.cgi
#include <iostream>
extern class std::ostream; // transient (external) type
class xsd__anyType
{ char *__item; // default is string, also to hold mixed-content when receiving typeless XML
struct soap *soap; // points to current gSOAP environment that created this object
xsd__anyType();
virtual ~xsd__anyType();
virtual xsd__anyType*& operator[](int i);
virtual void print(std::ostream &s) const;
};
class xsd__anySimpleType: xsd__anyType
{ xsd__anySimpleType();
virtual ~xsd__anySimpleType();
virtual void print(std::ostream &s) const;
};
class xsd__anyURI: xsd__anySimpleType
{ xsd__anyURI();
virtual ~xsd__anyURI();
xsd__anyURI(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__boolean: xsd__anySimpleType
{ bool __item;
xsd__boolean();
virtual ~xsd__boolean();
xsd__boolean(bool b);
virtual void print(std::ostream &s) const;
};
class xsd__date: xsd__anySimpleType // requires "CCYY-MM-DD" string values
{ xsd__date();
virtual ~xsd__date();
xsd__date(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__dateTime: xsd__anySimpleType
{ time_t __item; // remove time_t __item to use char*__item with "CCYY-MM-DDThh:mm:ssi" for dates outside the range 1902-2037
xsd__dateTime();
virtual ~xsd__dateTime();
xsd__dateTime(time_t t);
virtual void print(std::ostream &s) const;
};
class xsd__double: xsd__anySimpleType
{ double __item;
xsd__double();
virtual ~xsd__double();
xsd__double(double d);
virtual void print(std::ostream &s) const;
};
class xsd__duration: xsd__anySimpleType // requires "PnYnMnDTnHnMnS" string values
{ xsd__duration();
virtual ~xsd__duration();
xsd__duration(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__float: xsd__anySimpleType
{ float __item;
xsd__float();
virtual ~xsd__float();
xsd__float(float f);
virtual void print(std::ostream &s) const;
};
class xsd__time: xsd__anySimpleType // requires "hh:mm:ss" string values
{ xsd__time();
virtual ~xsd__time();
xsd__time(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__string: xsd__anySimpleType
{ xsd__string();
xsd__string(char *s);
virtual ~xsd__string();
virtual void print(std::ostream &s) const;
};
class xsd__normalizedString: xsd__string // requires strings without CR, LF, TAB
{ xsd__normalizedString();
xsd__normalizedString(char *s);
virtual ~xsd__normalizedString();
virtual void print(std::ostream &s) const;
};
class xsd__token: xsd__normalizedString // requires strings without CR, LF, TAB, no leading/trailing spaces, and no sequences of more than one space
{ xsd__token();
xsd__token(char *s);
virtual ~xsd__token();
virtual void print(std::ostream &s) const;
};
class xsd__decimal: xsd__anySimpleType // requires decimal as string values, can use double, but possible loss of precision
{ xsd__decimal();
virtual ~xsd__decimal();
xsd__decimal(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__integer: xsd__decimal // requires integer as string values, can use loong long, but possible loss of data
{ xsd__integer();
virtual ~xsd__integer();
xsd__integer(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__nonPositiveInteger: xsd__integer // requires non-positive integer as string values
{ xsd__nonPositiveInteger();
virtual ~xsd__nonPositiveInteger();
xsd__nonPositiveInteger(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__negativeInteger: xsd__nonPositiveInteger // requires negative integer as string values
{ xsd__negativeInteger();
virtual ~xsd__negativeInteger();
xsd__negativeInteger(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__nonNegativeInteger: xsd__integer // requires non-negative integer as string values
{ xsd__nonNegativeInteger();
virtual ~xsd__nonNegativeInteger();
xsd__nonNegativeInteger(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__positiveInteger: xsd__nonNegativeInteger // requires positive integer as string values
{ xsd__positiveInteger();
virtual ~xsd__positiveInteger();
xsd__positiveInteger(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__long: xsd__integer
{ LONG64 __item;
xsd__long();
virtual ~xsd__long();
xsd__long(LONG64 ll);
virtual void print(std::ostream &s) const;
};
class xsd__int: xsd__long
{ int __item;
xsd__int();
virtual ~xsd__int();
xsd__int(int i);
virtual void print(std::ostream &s) const;
};
class xsd__short: xsd__int
{ short __item;
xsd__short();
virtual ~xsd__short();
xsd__short(short h);
virtual void print(std::ostream &s) const;
};
class xsd__byte: xsd__short
{ char __item;
xsd__byte();
virtual ~xsd__byte();
xsd__byte(char c);
virtual void print(std::ostream &s) const;
};
class xsd__unsignedLong: xsd__nonNegativeInteger
{ ULONG64 __item;
xsd__unsignedLong();
virtual ~xsd__unsignedLong();
xsd__unsignedLong(ULONG64 ull);
virtual void print(std::ostream &s) const;
};
class xsd__unsignedInt: xsd__unsignedLong
{ unsigned int __item;
xsd__unsignedInt();
virtual ~xsd__unsignedInt();
xsd__unsignedInt(unsigned int ui);
virtual void print(std::ostream &s) const;
};
class xsd__unsignedShort: xsd__unsignedInt
{ unsigned short __item;
xsd__unsignedShort();
virtual ~xsd__unsignedShort();
xsd__unsignedShort(unsigned short uh);
virtual void print(std::ostream &s) const;
};
class xsd__unsignedByte: xsd__unsignedShort
{ unsigned char __item;
xsd__unsignedByte();
virtual ~xsd__unsignedByte();
xsd__unsignedByte(unsigned char uc);
virtual void print(std::ostream &s) const;
};
class xsd__base64Binary: xsd__anySimpleType
{ unsigned char *__ptr;
int __size;
xsd__base64Binary();
virtual ~xsd__base64Binary();
xsd__base64Binary(char *s);
virtual void print(std::ostream &s) const;
};
class xsd__hexBinary: xsd__anySimpleType
{ unsigned char *__ptr;
int __size;
xsd__hexBinary();
virtual ~xsd__hexBinary();
xsd__hexBinary(char *s);
virtual void print(std::ostream &s) const;
};
class array: xsd__anyType
{ xsd__anyType **__ptr;
int __size;
array();
virtual ~array();
array(int n);
virtual xsd__anyType*& operator[](int i);
virtual void print(std::ostream &s) const;
};
int ns__varStringParamTest(int __size, char **param, int &return_);
int ns__varPolyParamTest(int __size, xsd__anyType **param, struct ns__varPolyParamTestResponse { int __size; xsd__anyType **param; } &out);