/* soapC.cpp
Generated by gSOAP 2.8.13 from stub.h
Copyright(C) 2000-2012, Robert van Engelen, Genivia Inc. All Rights Reserved.
The generated code is released under one of the following licenses:
1) GPL or 2) Genivia's license for commercial use.
This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
*/
#if defined(__BORLANDC__)
#pragma option push -w-8060
#pragma option push -w-8004
#endif
#include "soapH.h"
SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.8.13 2013-05-25 02:52:16 GMT")
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap *soap)
{
soap->part = SOAP_IN_HEADER;
soap->header = soap_in_SOAP_ENV__Header(soap, "SOAP-ENV:Header", soap->header, NULL);
soap->part = SOAP_END_HEADER;
return soap->header == NULL;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap)
{
if (soap->version && soap->header)
{ soap->part = SOAP_IN_HEADER;
if (soap_out_SOAP_ENV__Header(soap, "SOAP-ENV:Header", 0, soap->header, NULL))
return soap->error;
soap->part = SOAP_END_HEADER;
}
return SOAP_OK;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)
{
if (soap->version && soap->header)
soap_serialize_SOAP_ENV__Header(soap, soap->header);
}
SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)
{
if (soap->header == NULL)
{ if ((soap->header = soap_new_SOAP_ENV__Header(soap, -1)))
soap_default_SOAP_ENV__Header(soap, soap->header);
}
}
SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
{
if (soap->fault == NULL)
{ soap->fault = soap_new_SOAP_ENV__Fault(soap, -1);
if (soap->fault == NULL)
return;
soap_default_SOAP_ENV__Fault(soap, soap->fault);
}
if (soap->version == 2 && !soap->fault->SOAP_ENV__Code)
{ soap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);
soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);
}
if (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)
{ soap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);
soap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);
}
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
{
soap_fault(soap);
if (soap->fault)
soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
}
SOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)
{
if (soap->fault)
return soap_put_SOAP_ENV__Fault(soap, soap->fault, "SOAP-ENV:Fault", NULL);
return SOAP_OK;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)
{
return (soap->fault = soap_get_SOAP_ENV__Fault(soap, NULL, "SOAP-ENV:Fault", NULL)) == NULL;
}
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)
{
soap_fault(soap);
if (soap->version == 2 && soap->fault->SOAP_ENV__Code)
return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;
return (const char**)&soap->fault->faultcode;
}
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)
{
soap_fault(soap);
if (soap->version == 2)
{ if (soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode == NULL)
{ soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);
soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);
}
return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
}
return (const char**)&soap->fault->faultcode;
}
SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultsubcode(struct soap *soap)
{
soap_fault(soap);
if (soap->version == 2)
{ if (soap->fault->SOAP_ENV__Code && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode && soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
return soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
return NULL;
}
return soap->fault->faultcode;
}
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)
{
soap_fault(soap);
if (soap->version == 2)
return (const char**)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;
return (const char**)&soap->fault->faultstring;
}
SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)
{
soap_fault(soap);
if (soap->version == 2)
{ if (soap->fault->SOAP_ENV__Detail == NULL)
{ soap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);
soap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);
}
return (const char**)&soap->fault->SOAP_ENV__Detail->__any;
}
if (soap->fault->detail == NULL)
{ soap->fault->detail = soap_new_SOAP_ENV__Detail(soap, -1);
soap_default_SOAP_ENV__Detail(soap, soap->fault->detail);
}
return (const char**)&soap->fault->detail->__any;
}
SOAP_FMAC3 const char * SOAP_FMAC4 soap_check_faultdetail(struct soap *soap)
{
soap_fault(soap);
if (soap->version == 2 && soap->fault->SOAP_ENV__Detail)
return soap->fault->SOAP_ENV__Detail->__any;
if (soap->fault->detail)
return soap->fault->detail->__any;
return NULL;
}
#endif
#ifndef WITH_NOIDREF
SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)
{
int t;
if (soap->version == 1)
{ for (;;)
{ if (!soap_getelement(soap, &t))
if (soap->error || soap_ignore_element(soap))
break;
}
}
if (soap->error == SOAP_NO_TAG || soap->error == SOAP_EOF)
soap->error = SOAP_OK;
return soap->error;
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
{ (void)type;
if (soap_peek_element(soap))
return NULL;
#ifndef WITH_NOIDREF
if (!*soap->id || !(*type = soap_lookup_type(soap, soap->id)))
*type = soap_lookup_type(soap, soap->href);
switch (*type)
{
case SOAP_TYPE_byte:
return soap_in_byte(soap, NULL, NULL, "xsd:byte");
case SOAP_TYPE_int:
return soap_in_int(soap, NULL, NULL, "xsd:int");
case SOAP_TYPE_matrix:
return soap_in_matrix(soap, NULL, NULL, "xsd:int[]");
case SOAP_TYPE_vector:
return soap_in_vector(soap, NULL, NULL, "xsd:int");
case SOAP_TYPE_ns1__magic:
return soap_in_ns1__magic(soap, NULL, NULL, "ns1:magic");
case SOAP_TYPE_ns1__magicResponse:
return soap_in_ns1__magicResponse(soap, NULL, NULL, "ns1:magicResponse");
case SOAP_TYPE_PointerTomatrix:
return soap_in_PointerTomatrix(soap, NULL, NULL, "xsd:int[]");
case SOAP_TYPE_PointerTovector:
return soap_in_PointerTovector(soap, NULL, NULL, "xsd:int");
case SOAP_TYPE_PointerToint:
return soap_in_PointerToint(soap, NULL, NULL, "xsd:int");
case SOAP_TYPE__QName:
{ char **s;
s = soap_in__QName(soap, NULL, NULL, "xsd:QName");
return s ? *s : NULL;
}
case SOAP_TYPE_string:
{ char **s;
s = soap_in_string(soap, NULL, NULL, "xsd:string");
return s ? *s : NULL;
}
default:
#endif
{ const char *t = soap->type;
if (!*t)
t = soap->tag;
if (*soap->arrayType && !soap_match_array(soap, "xsd:int[]"))
{ *type = SOAP_TYPE_matrix;
return soap_in_matrix(soap, NULL, NULL, NULL);
}
if (*soap->arrayType && !soap_match_array(soap, "xsd:int"))
{ *type = SOAP_TYPE_vector;
return soap_in_vector(soap, NULL, NULL, NULL);
}
if (!soap_match_tag(soap, t, "xsd:byte"))
{ *type = SOAP_TYPE_byte;
return soap_in_byte(soap, NULL, NULL, NULL);
}
if (!soap_match_tag(soap, t, "xsd:int"))
{ *type = SOAP_TYPE_int;
return soap_in_int(soap, NULL, NULL, NULL);
}
if (!soap_match_tag(soap, t, "ns1:magic"))
{ *type = SOAP_TYPE_ns1__magic;
return soap_in_ns1__magic(soap, NULL, NULL, NULL);
}
if (!soap_match_tag(soap, t, "ns1:magicResponse"))
{ *type = SOAP_TYPE_ns1__magicResponse;
return soap_in_ns1__magicResponse(soap, NULL, NULL, NULL);
}
if (!soap_match_tag(soap, t, "xsd:QName"))
{ char **s;
*type = SOAP_TYPE__QName;
s = soap_in__QName(soap, NULL, NULL, NULL);
return s ? *s : NULL;
}
if (!soap_match_tag(soap, t, "xsd:string"))
{ char **s;
*type = SOAP_TYPE_string;
s = soap_in_string(soap, NULL, NULL, NULL);
return s ? *s : NULL;
}
t = soap->tag;
#ifndef WITH_NOIDREF
}
#endif
}
soap->error = SOAP_TAG_MISMATCH;
return NULL;
}
#ifdef __cplusplus
}
#endif
SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
{
if (!soap_peek_element(soap))
{ int t;
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input (level=%u, %d)\n", soap->tag, soap->level, soap->body));
if (soap->mustUnderstand && !soap->other)
return soap->error = SOAP_MUSTUNDERSTAND;
if (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
{ DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
return soap->error = SOAP_TAG_MISMATCH;
}
if (!*soap->id || !soap_getelement(soap, &t))
{ soap->peeked = 0;
if (soap->fignore)
soap->error = soap->fignore(soap, soap->tag);
else
soap->error = SOAP_OK;
DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
if (!soap->error && soap->body)
{ soap->level++;
while (!soap_ignore_element(soap))
;
if (soap->error == SOAP_NO_TAG)
soap->error = soap_element_end_in(soap, NULL);
}
}
}
return soap->error;
}
#ifndef WITH_NOIDREF
SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap *soap)
{
int i;
struct soap_plist *pp;
if (soap->version == 1 && soap->encodingStyle && !(soap->mode & (SOAP_XML_TREE | SOAP_XML_GRAPH)))
for (i = 0; i < SOAP_PTRHASH; i++)
for (pp = soap->pht[i]; pp; pp = pp->next)
if (pp->mark1 == 2 || pp->mark2 == 2)
if (soap_putelement(soap, pp->ptr, "id", pp->id, pp->type))
return soap->error;
return SOAP_OK;
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)
{ (void)tag;
switch (type)
{
case SOAP_TYPE_byte:
return soap_out_byte(soap, tag, id, (const char *)ptr, "xsd:byte");
case SOAP_TYPE_int:
return soap_out_int(soap, tag, id, (const int *)ptr, "xsd:int");
case SOAP_TYPE_matrix:
return ((matrix *)ptr)->soap_out(soap, tag, id, "xsd:int[]");
case SOAP_TYPE_vector:
return ((vector *)ptr)->soap_out(soap, tag, id, "xsd:int");
case SOAP_TYPE_ns1__magic:
return soap_out_ns1__magic(soap, tag, id, (const struct ns1__magic *)ptr, "ns1:magic");
case SOAP_TYPE_ns1__magicResponse:
return soap_out_ns1__magicResponse(soap, tag, id, (const struct ns1__magicResponse *)ptr, "ns1:magicResponse");
case SOAP_TYPE_PointerTomatrix:
return soap_out_PointerTomatrix(soap, tag, id, (matrix *const*)ptr, "xsd:int[]");
case SOAP_TYPE_PointerTovector:
return soap_out_PointerTovector(soap, tag, id, (vector *const*)ptr, "xsd:int");
case SOAP_TYPE_PointerToint:
return soap_out_PointerToint(soap, tag, id, (int *const*)ptr, "xsd:int");
case SOAP_TYPE__QName:
return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:QName");
case SOAP_TYPE_string:
return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:string");
}
return SOAP_OK;
}
#ifdef __cplusplus
}
#endif
#ifndef WITH_NOIDREF
#ifdef __cplusplus
extern "C" {
#endif
SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)
{
(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
switch (type)
{
case SOAP_TYPE_matrix:
((matrix *)ptr)->soap_serialize(soap);
break;
case SOAP_TYPE_vector:
((vector *)ptr)->soap_serialize(soap);
break;
case SOAP_TYPE_ns1__magic:
soap_serialize_ns1__magic(soap, (const struct ns1__magic *)ptr);
break;
case SOAP_TYPE_ns1__magicResponse:
soap_serialize_ns1__magicResponse(soap, (const struct ns1__magicResponse *)ptr);
break;
case SOAP_TYPE_PointerTomatrix:
soap_serialize_PointerTomatrix(soap, (matrix *const*)ptr);
break;
case SOAP_TYPE_PointerTovector:
soap_serialize_PointerTovector(soap, (vector *const*)ptr);
break;
case SOAP_TYPE_PointerToint:
soap_serialize_PointerToint(soap, (int *const*)ptr);
break;
case SOAP_TYPE__QName:
soap_serialize_string(soap, (char*const*)&ptr);
break;
case SOAP_TYPE_string:
soap_serialize_string(soap, (char*const*)&ptr);
break;
}
}
#ifdef __cplusplus
}
#endif
#endif
SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap *soap, int t, const char *type, const char *arrayType, size_t *n)
{ (void)type;
switch (t)
{
case SOAP_TYPE_vector:
return (void*)soap_instantiate_vector(soap, -1, type, arrayType, n);
case SOAP_TYPE_matrix:
return (void*)soap_instantiate_matrix(soap, -1, type, arrayType, n);
case SOAP_TYPE_ns1__magicResponse:
return (void*)soap_instantiate_ns1__magicResponse(soap, -1, type, arrayType, n);
case SOAP_TYPE_ns1__magic:
return (void*)soap_instantiate_ns1__magic(soap, -1, type, arrayType, n);
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Header:
return (void*)soap_instantiate_SOAP_ENV__Header(soap, -1, type, arrayType, n);
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Code:
return (void*)soap_instantiate_SOAP_ENV__Code(soap, -1, type, arrayType, n);
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Detail:
return (void*)soap_instantiate_SOAP_ENV__Detail(soap, -1, type, arrayType, n);
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Reason:
return (void*)soap_instantiate_SOAP_ENV__Reason(soap, -1, type, arrayType, n);
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Fault:
return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n);
#endif
}
return NULL;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
{ switch (p->type)
{
case SOAP_TYPE_vector:
if (p->size < 0)
SOAP_DELETE((vector*)p->ptr);
else
SOAP_DELETE_ARRAY((vector*)p->ptr);
break;
case SOAP_TYPE_matrix:
if (p->size < 0)
SOAP_DELETE((matrix*)p->ptr);
else
SOAP_DELETE_ARRAY((matrix*)p->ptr);
break;
case SOAP_TYPE_ns1__magicResponse:
if (p->size < 0)
SOAP_DELETE((struct ns1__magicResponse*)p->ptr);
else
SOAP_DELETE_ARRAY((struct ns1__magicResponse*)p->ptr);
break;
case SOAP_TYPE_ns1__magic:
if (p->size < 0)
SOAP_DELETE((struct ns1__magic*)p->ptr);
else
SOAP_DELETE_ARRAY((struct ns1__magic*)p->ptr);
break;
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Header:
if (p->size < 0)
SOAP_DELETE((struct SOAP_ENV__Header*)p->ptr);
else
SOAP_DELETE_ARRAY((struct SOAP_ENV__Header*)p->ptr);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Code:
if (p->size < 0)
SOAP_DELETE((struct SOAP_ENV__Code*)p->ptr);
else
SOAP_DELETE_ARRAY((struct SOAP_ENV__Code*)p->ptr);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Detail:
if (p->size < 0)
SOAP_DELETE((struct SOAP_ENV__Detail*)p->ptr);
else
SOAP_DELETE_ARRAY((struct SOAP_ENV__Detail*)p->ptr);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Reason:
if (p->size < 0)
SOAP_DELETE((struct SOAP_ENV__Reason*)p->ptr);
else
SOAP_DELETE_ARRAY((struct SOAP_ENV__Reason*)p->ptr);
break;
#endif
#ifndef WITH_NOGLOBAL
case SOAP_TYPE_SOAP_ENV__Fault:
if (p->size < 0)
SOAP_DELETE((struct SOAP_ENV__Fault*)p->ptr);
else
SOAP_DELETE_ARRAY((struct SOAP_ENV__Fault*)p->ptr);
break;
#endif
default: return SOAP_ERR;
}
return SOAP_OK;
}
SOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap *soap, const char *id, void *p, int t, size_t n, const char *type, const char *arrayType)
{ return soap_id_enter(soap, id, p, t, n, 0, type, arrayType, soap_instantiate);
}
SOAP_FMAC3 void SOAP_FMAC4 soap_default_byte(struct soap *soap, char *a)
{
(void)soap; /* appease -Wall -Werror */
#ifdef SOAP_DEFAULT_byte
*a = SOAP_DEFAULT_byte;
#else
*a = (char)0;
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_byte(struct soap *soap, const char *tag, int id, const char *a, const char *type)
{ (void)soap; (void)type; (void)tag; (void)id;
return soap_outbyte(soap, tag, id, a, type, SOAP_TYPE_byte);
}
SOAP_FMAC3 char * SOAP_FMAC4 soap_in_byte(struct soap *soap, const char *tag, char *a, const char *type)
{ char *p;
p = soap_inbyte(soap, tag, a, type, SOAP_TYPE_byte);
return p;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_byte(struct soap *soap, const char *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_byte);
if (soap_out_byte(soap, tag?tag:"byte", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 char * SOAP_FMAC4 soap_get_byte(struct soap *soap, char *p, const char *tag, const char *type)
{
if ((p = soap_in_byte(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_default_int(struct soap *soap, int *a)
{
(void)soap; /* appease -Wall -Werror */
#ifdef SOAP_DEFAULT_int
*a = SOAP_DEFAULT_int;
#else
*a = (int)0;
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_int(struct soap *soap, const char *tag, int id, const int *a, const char *type)
{ (void)soap; (void)type; (void)tag; (void)id;
return soap_outint(soap, tag, id, a, type, SOAP_TYPE_int);
}
SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap *soap, const char *tag, int *a, const char *type)
{ int *p;
p = soap_inint(soap, tag, a, type, SOAP_TYPE_int);
return p;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_int(struct soap *soap, const int *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_int);
if (soap_out_int(soap, tag?tag:"int", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 int * SOAP_FMAC4 soap_get_int(struct soap *soap, int *p, const char *tag, const char *type)
{
if ((p = soap_in_int(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
void matrix::soap_default(struct soap *soap)
{
this->soap = soap;
this->__size = 0;
this->__ptr = NULL;
}
void matrix::soap_serialize(struct soap *soap) const
{
#ifndef WITH_NOIDREF
if (this->__ptr && !soap_array_reference(soap, this, (struct soap_array*)&this->__ptr, 1, SOAP_TYPE_matrix))
for (int i = 0; i < this->__size; i++)
{ soap_embedded(soap, this->__ptr + i, SOAP_TYPE_vector);
this->__ptr[i].soap_serialize(soap);
}
#endif
}
int matrix::soap_out(struct soap *soap, const char *tag, int id, const char *type) const
{ return soap_out_matrix(soap, tag, id, this, type);
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_matrix(struct soap *soap, const char *tag, int id, const matrix *a, const char *type)
{
int i, n = a->__size;
char *t = a->__ptr ? soap_putsize(soap, "xsd:int[]", a->__size) : NULL;
id = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->__ptr, 1, type, SOAP_TYPE_matrix);
if (id < 0)
return soap->error;
if (soap_array_begin_out(soap, tag, id, t, NULL))
return soap->error;
for (i = 0; i < n; i++)
{
soap->position = 1;
soap->positions[0] = i;
a->__ptr[i].soap_out(soap, "item", -1, "");
}
soap->position = 0;
return soap_element_end_out(soap, tag);
}
void *matrix::soap_in(struct soap *soap, const char *tag, const char *type)
{ return soap_in_matrix(soap, tag, this, type);
}
SOAP_FMAC3 matrix * SOAP_FMAC4 soap_in_matrix(struct soap *soap, const char *tag, matrix *a, const char *type)
{ int i, j;
vector *p;
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (soap_match_array(soap, type))
{ soap->error = SOAP_TYPE;
return NULL;
}
a = (matrix *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_matrix, sizeof(matrix), soap->type, soap->arrayType);
if (!a)
return NULL;
if (soap->alloced)
a->soap_default(soap);
if (soap->body && !*soap->href)
{
a->__size = soap_getsize(soap->arraySize, soap->arrayOffset, &j);
if (a->__size >= 0)
{ a->__ptr = soap_new_vector(soap, a->__size);
for (i = 0; i < a->__size; i++)
(a->__ptr+i)->vector::soap_default(soap);
for (i = 0; i < a->__size; i++)
{ soap_peek_element(soap);
if (soap->position)
{ i = soap->positions[0]-j;
if (i < 0 || i >= a->__size)
{ soap->error = SOAP_IOB;
return NULL;
}
}
if (!soap_in_vector(soap, NULL, a->__ptr + i, "xsd:int"))
{ if (soap->error != SOAP_NO_TAG)
return NULL;
soap->error = SOAP_OK;
break;
}
}
}
else
{ if (soap_new_block(soap) == NULL)
return NULL;
for (a->__size = 0; ; a->__size++)
{ p = (vector *)soap_push_block(soap, NULL, sizeof(vector));
if (!p)
return NULL;
SOAP_PLACEMENT_NEW(p, vector);
p->soap_default(soap);
if (!soap_in_vector(soap, NULL, p, "xsd:int"))
{ if (soap->error != SOAP_NO_TAG)
return NULL;
soap->error = SOAP_OK;
break;
}
}
soap_pop_block(soap, NULL);
if (soap->blist->size)
a->__ptr = soap_new_vector(soap, soap->blist->size/sizeof(vector));
else
a->__ptr = NULL;
soap_save_block(soap, NULL, (char*)a->__ptr, 1);
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (matrix *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_matrix, 0, sizeof(matrix), 0, soap_copy_matrix);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
int matrix::soap_put(struct soap *soap, const char *tag, const char *type) const
{
register int id = soap_embed(soap, (void*)this, (struct soap_array*)&this->__ptr, 1, tag, SOAP_TYPE_matrix);
if (this->soap_out(soap, tag?tag:"SOAP-ENC:Array", id, type))
return soap->error;
return soap_putindependent(soap);
}
void *matrix::soap_get(struct soap *soap, const char *tag, const char *type)
{
return soap_get_matrix(soap, this, tag, type);
}
SOAP_FMAC3 matrix * SOAP_FMAC4 soap_get_matrix(struct soap *soap, matrix *p, const char *tag, const char *type)
{
if ((p = soap_in_matrix(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 matrix * SOAP_FMAC2 soap_instantiate_matrix(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_matrix(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_matrix, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(matrix);
if (size)
*size = sizeof(matrix);
((matrix*)cp->ptr)->soap = soap;
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(matrix, n);
if (size)
*size = n * sizeof(matrix);
if (cp->ptr)
for (int i = 0; i < n; i++)
((matrix*)cp->ptr)[i].soap = soap;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (matrix*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_matrix(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying matrix %p -> %p\n", q, p));
*(matrix*)p = *(matrix*)q;
}
void vector::soap_default(struct soap *soap)
{
this->soap = soap;
this->__size = 0;
this->__ptr = NULL;
}
void vector::soap_serialize(struct soap *soap) const
{
#ifndef WITH_NOIDREF
if (this->__ptr && !soap_array_reference(soap, this, (struct soap_array*)&this->__ptr, 1, SOAP_TYPE_vector))
for (int i = 0; i < this->__size; i++)
{ soap_embedded(soap, this->__ptr + i, SOAP_TYPE_int);
}
#endif
}
int vector::soap_out(struct soap *soap, const char *tag, int id, const char *type) const
{ return soap_out_vector(soap, tag, id, this, type);
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_vector(struct soap *soap, const char *tag, int id, const vector *a, const char *type)
{
int i, n = a->__size;
char *t = a->__ptr ? soap_putsize(soap, "xsd:int", a->__size) : NULL;
id = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->__ptr, 1, type, SOAP_TYPE_vector);
if (id < 0)
return soap->error;
if (soap_array_begin_out(soap, tag, id, t, NULL))
return soap->error;
for (i = 0; i < n; i++)
{
soap->position = 1;
soap->positions[0] = i;
soap_out_int(soap, "item", -1, &a->__ptr[i], "");
}
soap->position = 0;
return soap_element_end_out(soap, tag);
}
void *vector::soap_in(struct soap *soap, const char *tag, const char *type)
{ return soap_in_vector(soap, tag, this, type);
}
SOAP_FMAC3 vector * SOAP_FMAC4 soap_in_vector(struct soap *soap, const char *tag, vector *a, const char *type)
{ int i, j;
int *p;
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (soap_match_array(soap, type))
{ soap->error = SOAP_TYPE;
return NULL;
}
a = (vector *)soap_class_id_enter(soap, soap->id, a, SOAP_TYPE_vector, sizeof(vector), soap->type, soap->arrayType);
if (!a)
return NULL;
if (soap->alloced)
a->soap_default(soap);
if (soap->body && !*soap->href)
{
a->__size = soap_getsize(soap->arraySize, soap->arrayOffset, &j);
if (a->__size >= 0)
{ a->__ptr = (int *)soap_malloc(soap, sizeof(int) * a->__size);
for (i = 0; i < a->__size; i++)
soap_default_int(soap, a->__ptr+i);
for (i = 0; i < a->__size; i++)
{ soap_peek_element(soap);
if (soap->position)
{ i = soap->positions[0]-j;
if (i < 0 || i >= a->__size)
{ soap->error = SOAP_IOB;
return NULL;
}
}
if (!soap_in_int(soap, NULL, a->__ptr + i, "xsd:int"))
{ if (soap->error != SOAP_NO_TAG)
return NULL;
soap->error = SOAP_OK;
break;
}
}
}
else
{ if (soap_new_block(soap) == NULL)
return NULL;
for (a->__size = 0; ; a->__size++)
{ p = (int *)soap_push_block(soap, NULL, sizeof(int));
if (!p)
return NULL;
soap_default_int(soap, p);
if (!soap_in_int(soap, NULL, p, "xsd:int"))
{ if (soap->error != SOAP_NO_TAG)
return NULL;
soap->error = SOAP_OK;
break;
}
}
soap_pop_block(soap, NULL);
a->__ptr = (int *)soap_malloc(soap, soap->blist->size);
soap_save_block(soap, NULL, (char*)a->__ptr, 1);
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (vector *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_vector, 0, sizeof(vector), 0, soap_copy_vector);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
int vector::soap_put(struct soap *soap, const char *tag, const char *type) const
{
register int id = soap_embed(soap, (void*)this, (struct soap_array*)&this->__ptr, 1, tag, SOAP_TYPE_vector);
if (this->soap_out(soap, tag?tag:"SOAP-ENC:Array", id, type))
return soap->error;
return soap_putindependent(soap);
}
void *vector::soap_get(struct soap *soap, const char *tag, const char *type)
{
return soap_get_vector(soap, this, tag, type);
}
SOAP_FMAC3 vector * SOAP_FMAC4 soap_get_vector(struct soap *soap, vector *p, const char *tag, const char *type)
{
if ((p = soap_in_vector(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 vector * SOAP_FMAC2 soap_instantiate_vector(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_vector(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_vector, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(vector);
if (size)
*size = sizeof(vector);
((vector*)cp->ptr)->soap = soap;
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(vector, n);
if (size)
*size = n * sizeof(vector);
if (cp->ptr)
for (int i = 0; i < n; i++)
((vector*)cp->ptr)[i].soap = soap;
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (vector*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_vector(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying vector %p -> %p\n", q, p));
*(vector*)p = *(vector*)q;
}
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
soap_default__QName(soap, &a->faultcode);
soap_default_string(soap, &a->faultstring);
soap_default_string(soap, &a->faultactor);
a->detail = NULL;
a->SOAP_ENV__Code = NULL;
a->SOAP_ENV__Reason = NULL;
soap_default_string(soap, &a->SOAP_ENV__Node);
soap_default_string(soap, &a->SOAP_ENV__Role);
a->SOAP_ENV__Detail = NULL;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
{
#ifndef WITH_NOIDREF
(void)soap; (void)a; /* appease -Wall -Werror */
soap_serialize__QName(soap, &a->faultcode);
soap_serialize_string(soap, &a->faultstring);
soap_serialize_string(soap, &a->faultactor);
soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
soap_serialize_string(soap, &a->SOAP_ENV__Node);
soap_serialize_string(soap, &a->SOAP_ENV__Role);
soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Fault *a, const char *type)
{
const char *soap_tmp_faultcode = soap_QName2s(soap, a->faultcode);
(void)soap; (void)tag; (void)id; (void)type;
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Fault), type))
return soap->error;
if (soap_out__QName(soap, "faultcode", -1, (char*const*)&soap_tmp_faultcode, ""))
return soap->error;
if (soap_out_string(soap, "faultstring", -1, &a->faultstring, ""))
return soap->error;
if (soap_out_string(soap, "faultactor", -1, &a->faultactor, ""))
return soap->error;
if (soap_out_PointerToSOAP_ENV__Detail(soap, "detail", -1, &a->detail, ""))
return soap->error;
if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", -1, &a->SOAP_ENV__Code, ""))
return soap->error;
if (soap_out_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", -1, &a->SOAP_ENV__Reason, ""))
return soap->error;
if (soap_out_string(soap, "SOAP-ENV:Node", -1, &a->SOAP_ENV__Node, ""))
return soap->error;
if (soap_out_string(soap, "SOAP-ENV:Role", -1, &a->SOAP_ENV__Role, ""))
return soap->error;
if (soap_out_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", -1, &a->SOAP_ENV__Detail, ""))
return soap->error;
return soap_element_end_out(soap, tag);
}
SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap *soap, const char *tag, struct SOAP_ENV__Fault *a, const char *type)
{
size_t soap_flag_faultcode = 1;
size_t soap_flag_faultstring = 1;
size_t soap_flag_faultactor = 1;
size_t soap_flag_detail = 1;
size_t soap_flag_SOAP_ENV__Code = 1;
size_t soap_flag_SOAP_ENV__Reason = 1;
size_t soap_flag_SOAP_ENV__Node = 1;
size_t soap_flag_SOAP_ENV__Role = 1;
size_t soap_flag_SOAP_ENV__Detail = 1;
if (soap_element_begin_in(soap, tag, 0, type))
return NULL;
a = (struct SOAP_ENV__Fault *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), 0, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Fault(soap, a);
if (soap->body && !*soap->href)
{
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap_flag_faultcode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_in__QName(soap, "faultcode", &a->faultcode, ""))
{ soap_flag_faultcode--;
continue;
}
if (soap_flag_faultstring && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_in_string(soap, "faultstring", &a->faultstring, "xsd:string"))
{ soap_flag_faultstring--;
continue;
}
if (soap_flag_faultactor && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_in_string(soap, "faultactor", &a->faultactor, "xsd:string"))
{ soap_flag_faultactor--;
continue;
}
if (soap_flag_detail && soap->error == SOAP_TAG_MISMATCH)
if (soap_in_PointerToSOAP_ENV__Detail(soap, "detail", &a->detail, ""))
{ soap_flag_detail--;
continue;
}
if (soap_flag_SOAP_ENV__Code && soap->error == SOAP_TAG_MISMATCH)
if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", &a->SOAP_ENV__Code, ""))
{ soap_flag_SOAP_ENV__Code--;
continue;
}
if (soap_flag_SOAP_ENV__Reason && soap->error == SOAP_TAG_MISMATCH)
if (soap_in_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", &a->SOAP_ENV__Reason, ""))
{ soap_flag_SOAP_ENV__Reason--;
continue;
}
if (soap_flag_SOAP_ENV__Node && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_in_string(soap, "SOAP-ENV:Node", &a->SOAP_ENV__Node, "xsd:string"))
{ soap_flag_SOAP_ENV__Node--;
continue;
}
if (soap_flag_SOAP_ENV__Role && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_in_string(soap, "SOAP-ENV:Role", &a->SOAP_ENV__Role, "xsd:string"))
{ soap_flag_SOAP_ENV__Role--;
continue;
}
if (soap_flag_SOAP_ENV__Detail && soap->error == SOAP_TAG_MISMATCH)
if (soap_in_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", &a->SOAP_ENV__Detail, ""))
{ soap_flag_SOAP_ENV__Detail--;
continue;
}
if (soap->error == SOAP_TAG_MISMATCH)
soap->error = soap_ignore_element(soap);
if (soap->error == SOAP_NO_TAG)
break;
if (soap->error)
return NULL;
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Fault);
if (soap_out_SOAP_ENV__Fault(soap, tag?tag:"SOAP-ENV:Fault", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *p, const char *tag, const char *type)
{
if ((p = soap_in_SOAP_ENV__Fault(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 struct SOAP_ENV__Fault * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Fault(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Fault(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Fault, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Fault);
if (size)
*size = sizeof(struct SOAP_ENV__Fault);
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(struct SOAP_ENV__Fault, n);
if (size)
*size = n * sizeof(struct SOAP_ENV__Fault);
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (struct SOAP_ENV__Fault*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Fault(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Fault %p -> %p\n", q, p));
*(struct SOAP_ENV__Fault*)p = *(struct SOAP_ENV__Fault*)q;
}
#endif
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
soap_default_string(soap, &a->SOAP_ENV__Text);
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
{
#ifndef WITH_NOIDREF
(void)soap; (void)a; /* appease -Wall -Werror */
soap_serialize_string(soap, &a->SOAP_ENV__Text);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Reason *a, const char *type)
{
(void)soap; (void)tag; (void)id; (void)type;
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Reason), type))
return soap->error;
if (soap->lang)
soap_set_attr(soap, "xml:lang", soap->lang, 1);
if (soap_out_string(soap, "SOAP-ENV:Text", -1, &a->SOAP_ENV__Text, ""))
return soap->error;
return soap_element_end_out(soap, tag);
}
SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason *a, const char *type)
{
size_t soap_flag_SOAP_ENV__Text = 1;
if (soap_element_begin_in(soap, tag, 0, type))
return NULL;
a = (struct SOAP_ENV__Reason *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Reason(soap, a);
if (soap->body && !*soap->href)
{
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap_flag_SOAP_ENV__Text && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_in_string(soap, "SOAP-ENV:Text", &a->SOAP_ENV__Text, "xsd:string"))
{ soap_flag_SOAP_ENV__Text--;
continue;
}
if (soap->error == SOAP_TAG_MISMATCH)
soap->error = soap_ignore_element(soap);
if (soap->error == SOAP_NO_TAG)
break;
if (soap->error)
return NULL;
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Reason);
if (soap_out_SOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *p, const char *tag, const char *type)
{
if ((p = soap_in_SOAP_ENV__Reason(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 struct SOAP_ENV__Reason * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Reason(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Reason(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Reason, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Reason);
if (size)
*size = sizeof(struct SOAP_ENV__Reason);
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(struct SOAP_ENV__Reason, n);
if (size)
*size = n * sizeof(struct SOAP_ENV__Reason);
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (struct SOAP_ENV__Reason*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Reason(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Reason %p -> %p\n", q, p));
*(struct SOAP_ENV__Reason*)p = *(struct SOAP_ENV__Reason*)q;
}
#endif
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
a->__any = NULL;
a->__type = 0;
a->fault = NULL;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
{
#ifndef WITH_NOIDREF
(void)soap; (void)a; /* appease -Wall -Werror */
soap_markelement(soap, a->fault, a->__type);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Detail *a, const char *type)
{
(void)soap; (void)tag; (void)id; (void)type;
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Detail), type))
return soap->error;
soap_outliteral(soap, "-any", &a->__any, NULL);
if (soap_putelement(soap, a->fault, "fault", -1, a->__type))
return soap->error;
return soap_element_end_out(soap, tag);
}
SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail *a, const char *type)
{
size_t soap_flag___any = 1;
size_t soap_flag_fault = 1;
if (soap_element_begin_in(soap, tag, 0, type))
return NULL;
a = (struct SOAP_ENV__Detail *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Detail(soap, a);
if (soap->body && !*soap->href)
{
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap_flag_fault && soap->error == SOAP_TAG_MISMATCH)
if ((a->fault = soap_getelement(soap, &a->__type)))
{ soap_flag_fault = 0;
continue;
}
if (soap_flag___any && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_inliteral(soap, "-any", &a->__any))
{ soap_flag___any--;
continue;
}
if (soap->error == SOAP_TAG_MISMATCH)
soap->error = soap_ignore_element(soap);
if (soap->error == SOAP_NO_TAG)
break;
if (soap->error)
return NULL;
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Detail);
if (soap_out_SOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *p, const char *tag, const char *type)
{
if ((p = soap_in_SOAP_ENV__Detail(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 struct SOAP_ENV__Detail * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Detail(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Detail(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Detail, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Detail);
if (size)
*size = sizeof(struct SOAP_ENV__Detail);
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(struct SOAP_ENV__Detail, n);
if (size)
*size = n * sizeof(struct SOAP_ENV__Detail);
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (struct SOAP_ENV__Detail*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Detail(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Detail %p -> %p\n", q, p));
*(struct SOAP_ENV__Detail*)p = *(struct SOAP_ENV__Detail*)q;
}
#endif
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
soap_default__QName(soap, &a->SOAP_ENV__Value);
a->SOAP_ENV__Subcode = NULL;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
{
#ifndef WITH_NOIDREF
(void)soap; (void)a; /* appease -Wall -Werror */
soap_serialize__QName(soap, &a->SOAP_ENV__Value);
soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Code *a, const char *type)
{
const char *soap_tmp_SOAP_ENV__Value = soap_QName2s(soap, a->SOAP_ENV__Value);
(void)soap; (void)tag; (void)id; (void)type;
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Code), type))
return soap->error;
if (soap_out__QName(soap, "SOAP-ENV:Value", -1, (char*const*)&soap_tmp_SOAP_ENV__Value, ""))
return soap->error;
if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", -1, &a->SOAP_ENV__Subcode, ""))
return soap->error;
return soap_element_end_out(soap, tag);
}
SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code *a, const char *type)
{
size_t soap_flag_SOAP_ENV__Value = 1;
size_t soap_flag_SOAP_ENV__Subcode = 1;
if (soap_element_begin_in(soap, tag, 0, type))
return NULL;
a = (struct SOAP_ENV__Code *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Code(soap, a);
if (soap->body && !*soap->href)
{
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap_flag_SOAP_ENV__Value && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
if (soap_in__QName(soap, "SOAP-ENV:Value", &a->SOAP_ENV__Value, ""))
{ soap_flag_SOAP_ENV__Value--;
continue;
}
if (soap_flag_SOAP_ENV__Subcode && soap->error == SOAP_TAG_MISMATCH)
if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", &a->SOAP_ENV__Subcode, ""))
{ soap_flag_SOAP_ENV__Subcode--;
continue;
}
if (soap->error == SOAP_TAG_MISMATCH)
soap->error = soap_ignore_element(soap);
if (soap->error == SOAP_NO_TAG)
break;
if (soap->error)
return NULL;
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Code);
if (soap_out_SOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *p, const char *tag, const char *type)
{
if ((p = soap_in_SOAP_ENV__Code(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 struct SOAP_ENV__Code * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Code(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Code(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Code, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Code);
if (size)
*size = sizeof(struct SOAP_ENV__Code);
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(struct SOAP_ENV__Code, n);
if (size)
*size = n * sizeof(struct SOAP_ENV__Code);
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (struct SOAP_ENV__Code*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Code(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Code %p -> %p\n", q, p));
*(struct SOAP_ENV__Code*)p = *(struct SOAP_ENV__Code*)q;
}
#endif
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
{
#ifndef WITH_NOIDREF
(void)soap; (void)a; /* appease -Wall -Werror */
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type)
{
(void)soap; (void)tag; (void)id; (void)type;
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type))
return soap->error;
return soap_element_end_out(soap, tag);
}
SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap *soap, const char *tag, struct SOAP_ENV__Header *a, const char *type)
{
if (soap_element_begin_in(soap, tag, 0, type))
return NULL;
a = (struct SOAP_ENV__Header *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_SOAP_ENV__Header(soap, a);
if (soap->body && !*soap->href)
{
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap->error == SOAP_TAG_MISMATCH)
soap->error = soap_ignore_element(soap);
if (soap->error == SOAP_NO_TAG)
break;
if (soap->error)
return NULL;
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Header);
if (soap_out_SOAP_ENV__Header(soap, tag?tag:"SOAP-ENV:Header", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *p, const char *tag, const char *type)
{
if ((p = soap_in_SOAP_ENV__Header(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 struct SOAP_ENV__Header * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Header(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Header(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Header, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Header);
if (size)
*size = sizeof(struct SOAP_ENV__Header);
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(struct SOAP_ENV__Header, n);
if (size)
*size = n * sizeof(struct SOAP_ENV__Header);
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (struct SOAP_ENV__Header*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Header(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Header %p -> %p\n", q, p));
*(struct SOAP_ENV__Header*)p = *(struct SOAP_ENV__Header*)q;
}
#endif
SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__magic(struct soap *soap, struct ns1__magic *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
soap_default_int(soap, &a->rank);
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__magic(struct soap *soap, const struct ns1__magic *a)
{
#ifndef WITH_NOIDREF
(void)soap; (void)a; /* appease -Wall -Werror */
soap_embedded(soap, &a->rank, SOAP_TYPE_int);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__magic(struct soap *soap, const char *tag, int id, const struct ns1__magic *a, const char *type)
{
(void)soap; (void)tag; (void)id; (void)type;
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__magic), type))
return soap->error;
if (soap_out_int(soap, "rank", -1, &a->rank, ""))
return soap->error;
return soap_element_end_out(soap, tag);
}
SOAP_FMAC3 struct ns1__magic * SOAP_FMAC4 soap_in_ns1__magic(struct soap *soap, const char *tag, struct ns1__magic *a, const char *type)
{
size_t soap_flag_rank = 1;
if (soap_element_begin_in(soap, tag, 0, type))
return NULL;
a = (struct ns1__magic *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__magic, sizeof(struct ns1__magic), 0, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_ns1__magic(soap, a);
if (soap->body && !*soap->href)
{
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap_flag_rank && soap->error == SOAP_TAG_MISMATCH)
if (soap_in_int(soap, "rank", &a->rank, "xsd:int"))
{ soap_flag_rank--;
continue;
}
if (soap->error == SOAP_TAG_MISMATCH)
soap->error = soap_ignore_element(soap);
if (soap->error == SOAP_NO_TAG)
break;
if (soap->error)
return NULL;
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (struct ns1__magic *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__magic, 0, sizeof(struct ns1__magic), 0, NULL);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_rank > 0))
{ soap->error = SOAP_OCCURS;
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__magic(struct soap *soap, const struct ns1__magic *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__magic);
if (soap_out_ns1__magic(soap, tag?tag:"ns1:magic", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct ns1__magic * SOAP_FMAC4 soap_get_ns1__magic(struct soap *soap, struct ns1__magic *p, const char *tag, const char *type)
{
if ((p = soap_in_ns1__magic(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 struct ns1__magic * SOAP_FMAC2 soap_instantiate_ns1__magic(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns1__magic(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns1__magic, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(struct ns1__magic);
if (size)
*size = sizeof(struct ns1__magic);
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(struct ns1__magic, n);
if (size)
*size = n * sizeof(struct ns1__magic);
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (struct ns1__magic*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns1__magic(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct ns1__magic %p -> %p\n", q, p));
*(struct ns1__magic*)p = *(struct ns1__magic*)q;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns1__magicResponse(struct soap *soap, struct ns1__magicResponse *a)
{
(void)soap; (void)a; /* appease -Wall -Werror */
a->result = NULL;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns1__magicResponse(struct soap *soap, const struct ns1__magicResponse *a)
{
#ifndef WITH_NOIDREF
(void)soap; (void)a; /* appease -Wall -Werror */
soap_serialize_PointerTomatrix(soap, &a->result);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns1__magicResponse(struct soap *soap, const char *tag, int id, const struct ns1__magicResponse *a, const char *type)
{
(void)soap; (void)tag; (void)id; (void)type;
if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns1__magicResponse), type))
return soap->error;
if (soap_out_PointerTomatrix(soap, "result", -1, &a->result, ""))
return soap->error;
return soap_element_end_out(soap, tag);
}
SOAP_FMAC3 struct ns1__magicResponse * SOAP_FMAC4 soap_in_ns1__magicResponse(struct soap *soap, const char *tag, struct ns1__magicResponse *a, const char *type)
{
size_t soap_flag_result = 1;
if (soap_element_begin_in(soap, tag, 0, type))
return NULL;
a = (struct ns1__magicResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns1__magicResponse, sizeof(struct ns1__magicResponse), 0, NULL, NULL, NULL);
if (!a)
return NULL;
soap_default_ns1__magicResponse(soap, a);
if (soap->body && !*soap->href)
{
for (;;)
{ soap->error = SOAP_TAG_MISMATCH;
if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH)
if (soap_in_PointerTomatrix(soap, "result", &a->result, "xsd:int[]"))
{ soap_flag_result--;
continue;
}
if (soap->error == SOAP_TAG_MISMATCH)
soap->error = soap_ignore_element(soap);
if (soap->error == SOAP_NO_TAG)
break;
if (soap->error)
return NULL;
}
if (soap_element_end_in(soap, tag))
return NULL;
}
else
{ a = (struct ns1__magicResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns1__magicResponse, 0, sizeof(struct ns1__magicResponse), 0, NULL);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns1__magicResponse(struct soap *soap, const struct ns1__magicResponse *a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns1__magicResponse);
if (soap_out_ns1__magicResponse(soap, tag?tag:"ns1:magicResponse", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct ns1__magicResponse * SOAP_FMAC4 soap_get_ns1__magicResponse(struct soap *soap, struct ns1__magicResponse *p, const char *tag, const char *type)
{
if ((p = soap_in_ns1__magicResponse(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC1 struct ns1__magicResponse * SOAP_FMAC2 soap_instantiate_ns1__magicResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
(void)type; (void)arrayType; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns1__magicResponse(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns1__magicResponse, n, soap_fdelete);
if (!cp)
return NULL;
if (n < 0)
{ cp->ptr = (void*)SOAP_NEW(struct ns1__magicResponse);
if (size)
*size = sizeof(struct ns1__magicResponse);
}
else
{ cp->ptr = (void*)SOAP_NEW_ARRAY(struct ns1__magicResponse, n);
if (size)
*size = n * sizeof(struct ns1__magicResponse);
}
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
if (!cp->ptr)
soap->error = SOAP_EOM;
return (struct ns1__magicResponse*)cp->ptr;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns1__magicResponse(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
{
(void)soap; (void)tt; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct ns1__magicResponse %p -> %p\n", q, p));
*(struct ns1__magicResponse*)p = *(struct ns1__magicResponse*)q;
}
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a)
{
#ifndef WITH_NOIDREF
if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Reason))
soap_serialize_SOAP_ENV__Reason(soap, *a);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Reason *const*a, const char *type)
{
id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Reason);
if (id < 0)
return soap->error;
return soap_out_SOAP_ENV__Reason(soap, tag, id, *a, type);
}
SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason **a, const char *type)
{
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (!a)
if (!(a = (struct SOAP_ENV__Reason **)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason *))))
return NULL;
*a = NULL;
if (!soap->null && *soap->href != '#')
{ soap_revert(soap);
if (!(*a = soap_in_SOAP_ENV__Reason(soap, tag, *a, type)))
return NULL;
}
else
{ a = (struct SOAP_ENV__Reason **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Reason);
if (soap_out_PointerToSOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason **p, const char *tag, const char *type)
{
if ((p = soap_in_PointerToSOAP_ENV__Reason(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
#endif
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a)
{
#ifndef WITH_NOIDREF
if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Detail))
soap_serialize_SOAP_ENV__Detail(soap, *a);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Detail *const*a, const char *type)
{
id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Detail);
if (id < 0)
return soap->error;
return soap_out_SOAP_ENV__Detail(soap, tag, id, *a, type);
}
SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail **a, const char *type)
{
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (!a)
if (!(a = (struct SOAP_ENV__Detail **)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail *))))
return NULL;
*a = NULL;
if (!soap->null && *soap->href != '#')
{ soap_revert(soap);
if (!(*a = soap_in_SOAP_ENV__Detail(soap, tag, *a, type)))
return NULL;
}
else
{ a = (struct SOAP_ENV__Detail **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Detail);
if (soap_out_PointerToSOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail **p, const char *tag, const char *type)
{
if ((p = soap_in_PointerToSOAP_ENV__Detail(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
#endif
#ifndef WITH_NOGLOBAL
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a)
{
#ifndef WITH_NOIDREF
if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code))
soap_serialize_SOAP_ENV__Code(soap, *a);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type)
{
id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Code);
if (id < 0)
return soap->error;
return soap_out_SOAP_ENV__Code(soap, tag, id, *a, type);
}
SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type)
{
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (!a)
if (!(a = (struct SOAP_ENV__Code **)soap_malloc(soap, sizeof(struct SOAP_ENV__Code *))))
return NULL;
*a = NULL;
if (!soap->null && *soap->href != '#')
{ soap_revert(soap);
if (!(*a = soap_in_SOAP_ENV__Code(soap, tag, *a, type)))
return NULL;
}
else
{ a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Code);
if (soap_out_PointerToSOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **p, const char *tag, const char *type)
{
if ((p = soap_in_PointerToSOAP_ENV__Code(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
#endif
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTomatrix(struct soap *soap, matrix *const*a)
{
#ifndef WITH_NOIDREF
if (*a)
(*a)->soap_serialize(soap);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTomatrix(struct soap *soap, const char *tag, int id, matrix *const*a, const char *type)
{
id = soap_element_id(soap, tag, id, *a, (struct soap_array*)&(*a)->__ptr, 1, type, SOAP_TYPE_matrix);
if (id < 0)
return soap->error;
return (*a)->soap_out(soap, tag, id, type);
}
SOAP_FMAC3 matrix ** SOAP_FMAC4 soap_in_PointerTomatrix(struct soap *soap, const char *tag, matrix **a, const char *type)
{
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (!a)
if (!(a = (matrix **)soap_malloc(soap, sizeof(matrix *))))
return NULL;
*a = NULL;
if (!soap->null && *soap->href != '#')
{ soap_revert(soap);
if (!(*a = (matrix *)soap_instantiate_matrix(soap, -1, soap->type, soap->arrayType, NULL)))
return NULL;
(*a)->soap_default(soap);
if (!(*a)->soap_in(soap, tag, NULL))
return NULL;
}
else
{ matrix ** p = (matrix **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_matrix, sizeof(matrix), 0);
a = p;
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTomatrix(struct soap *soap, matrix *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTomatrix);
if (soap_out_PointerTomatrix(soap, tag?tag:"SOAP-ENC:Array", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 matrix ** SOAP_FMAC4 soap_get_PointerTomatrix(struct soap *soap, matrix **p, const char *tag, const char *type)
{
if ((p = soap_in_PointerTomatrix(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTovector(struct soap *soap, vector *const*a)
{
#ifndef WITH_NOIDREF
if (*a)
(*a)->soap_serialize(soap);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTovector(struct soap *soap, const char *tag, int id, vector *const*a, const char *type)
{
id = soap_element_id(soap, tag, id, *a, (struct soap_array*)&(*a)->__ptr, 1, type, SOAP_TYPE_vector);
if (id < 0)
return soap->error;
return (*a)->soap_out(soap, tag, id, type);
}
SOAP_FMAC3 vector ** SOAP_FMAC4 soap_in_PointerTovector(struct soap *soap, const char *tag, vector **a, const char *type)
{
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (!a)
if (!(a = (vector **)soap_malloc(soap, sizeof(vector *))))
return NULL;
*a = NULL;
if (!soap->null && *soap->href != '#')
{ soap_revert(soap);
if (!(*a = (vector *)soap_instantiate_vector(soap, -1, soap->type, soap->arrayType, NULL)))
return NULL;
(*a)->soap_default(soap);
if (!(*a)->soap_in(soap, tag, NULL))
return NULL;
}
else
{ vector ** p = (vector **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_vector, sizeof(vector), 0);
a = p;
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTovector(struct soap *soap, vector *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerTovector);
if (soap_out_PointerTovector(soap, tag?tag:"SOAP-ENC:Array", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 vector ** SOAP_FMAC4 soap_get_PointerTovector(struct soap *soap, vector **p, const char *tag, const char *type)
{
if ((p = soap_in_PointerTovector(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToint(struct soap *soap, int *const*a)
{
#ifndef WITH_NOIDREF
soap_reference(soap, *a, SOAP_TYPE_int);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToint(struct soap *soap, const char *tag, int id, int *const*a, const char *type)
{
id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_int);
if (id < 0)
return soap->error;
return soap_out_int(soap, tag, id, *a, type);
}
SOAP_FMAC3 int ** SOAP_FMAC4 soap_in_PointerToint(struct soap *soap, const char *tag, int **a, const char *type)
{
if (soap_element_begin_in(soap, tag, 1, NULL))
return NULL;
if (!a)
if (!(a = (int **)soap_malloc(soap, sizeof(int *))))
return NULL;
*a = NULL;
if (!soap->null && *soap->href != '#')
{ soap_revert(soap);
if (!(*a = soap_in_int(soap, tag, *a, type)))
return NULL;
}
else
{ a = (int **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_int, sizeof(int), 0);
if (soap->body && soap_element_end_in(soap, tag))
return NULL;
}
return a;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToint(struct soap *soap, int *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToint);
if (soap_out_PointerToint(soap, tag?tag:"int", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 int ** SOAP_FMAC4 soap_get_PointerToint(struct soap *soap, int **p, const char *tag, const char *type)
{
if ((p = soap_in_PointerToint(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__QName(struct soap *soap, char *const*a)
{
#ifndef WITH_NOIDREF
soap_reference(soap, *a, SOAP_TYPE__QName);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
return soap_outstring(soap, tag, id, a, type, SOAP_TYPE__QName);
}
SOAP_FMAC3 char * * SOAP_FMAC4 soap_in__QName(struct soap *soap, const char *tag, char **a, const char *type)
{ char **p;
p = soap_instring(soap, tag, a, type, SOAP_TYPE__QName, 2, 0, -1);
return p;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap *soap, char *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE__QName);
if (soap_out__QName(soap, tag?tag:"byte", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char **p, const char *tag, const char *type)
{
if ((p = soap_in__QName(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
SOAP_FMAC3 void SOAP_FMAC4 soap_default_string(struct soap *soap, char **a)
{
(void)soap; /* appease -Wall -Werror */
#ifdef SOAP_DEFAULT_string
*a = SOAP_DEFAULT_string;
#else
*a = (char *)0;
#endif
}
SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_string(struct soap *soap, char *const*a)
{
#ifndef WITH_NOIDREF
soap_reference(soap, *a, SOAP_TYPE_string);
#endif
}
SOAP_FMAC3 int SOAP_FMAC4 soap_out_string(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_string);
}
SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap *soap, const char *tag, char **a, const char *type)
{ char **p;
p = soap_instring(soap, tag, a, type, SOAP_TYPE_string, 1, 0, -1);
return p;
}
SOAP_FMAC3 int SOAP_FMAC4 soap_put_string(struct soap *soap, char *const*a, const char *tag, const char *type)
{
register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_string);
if (soap_out_string(soap, tag?tag:"byte", id, a, type))
return soap->error;
return soap_putindependent(soap);
}
SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap *soap, char **p, const char *tag, const char *type)
{
if ((p = soap_in_string(soap, tag, p, type)))
if (soap_getindependent(soap))
return NULL;
return p;
}
#if defined(__BORLANDC__)
#pragma option pop
#pragma option pop
#endif
/* End of soapC.cpp */
|