SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type) { if (soap_peek_element(soap)) return NULL; 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_SOAP_ENV__Reason: return soap_in_SOAP_ENV__Reason(soap, NULL, NULL, "SOAP-ENV:Reason"); case SOAP_TYPE_PointerToSOAP_ENV__Reason: return soap_in_PointerToSOAP_ENV__Reason(soap, NULL, NULL, "SOAP-ENV:Reason"); case SOAP_TYPE__QName: { char **s; s = soap_in__QName(soap, NULL, NULL, "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: { const char *t = soap->type; if (!*t) t = soap->tag; 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, "SOAP-ENV:Reason")) { *type = SOAP_TYPE_SOAP_ENV__Reason; return soap_in_SOAP_ENV__Reason(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "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; } } } soap->error = SOAP_TAG_MISMATCH; return NULL; }
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__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: #else *type = 0; #endif { const char *t = soap->type; if (!*t) t = soap->tag; 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, "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; }
SOAP_FMAC1 int SOAP_FMAC2 soap_getindependent(struct soap *soap) { for (;;) { if (soap_peek_element(soap) || !*soap->id) break; switch (soap_lookup_type(soap, soap->id)) { case SOAP_byte: soap_in_byte(soap, NULL, NULL, ""); break; case SOAP_int: soap_in_int(soap, NULL, NULL, ""); break; case SOAP_float: soap_in_float(soap, NULL, NULL, ""); break; case SOAP_SOAP_ENV__Fault: soap_in_SOAP_ENV__Fault(soap, NULL, NULL, ""); break; case SOAP_SOAP_ENV__Header: soap_in_SOAP_ENV__Header(soap, NULL, NULL, ""); break; case SOAP_ns__getQuote: soap_in_ns__getQuote(soap, NULL, NULL, "ns:getQuote"); break; case SOAP_ns__getQuoteResponse: soap_in_ns__getQuoteResponse(soap, NULL, NULL, "ns:getQuoteResponse"); break; case SOAP_string: soap_in_string(soap, NULL, NULL, ""); break; default: soap_in_ns__getQuote(soap, NULL, NULL, "ns:getQuote"); if (soap->error == SOAP_TYPE_MISMATCH && soap->level == 2) soap_in_ns__getQuoteResponse(soap, NULL, NULL, "ns:getQuoteResponse"); if (soap->error) { soap->peeked = 1; soap_ignore_element(soap); } } if (soap->error) break; } if (soap->error == SOAP_NO_TAG) soap->error = SOAP_OK; return soap->error; }
SOAP_FMAC1 int * SOAP_FMAC2 soap_get_int(struct soap *soap, int *p, const char *tag, const char *type) { if ((p = soap_in_int(soap, tag, p, type))) soap_getindependent(soap); return p; }
SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type) { if (soap_peek_element(soap)) return NULL; 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_xsd__int: return soap_in_xsd__int(soap, NULL, NULL, "xsd:int"); case SOAP_TYPE_int: return soap_in_int(soap, NULL, NULL, "xsd:int"); case SOAP_TYPE_ws__setTrafficShapeCfg: return soap_in_ws__setTrafficShapeCfg(soap, NULL, NULL, "ws:setTrafficShapeCfg"); case SOAP_TYPE_ws__setTrafficShapeCfgResponse: return soap_in_ws__setTrafficShapeCfgResponse(soap, NULL, NULL, "ws:setTrafficShapeCfgResponse"); case SOAP_TYPE_ws__getTrafficShapeCfg: return soap_in_ws__getTrafficShapeCfg(soap, NULL, NULL, "ws:getTrafficShapeCfg"); case SOAP_TYPE_ws__TrafficShapeCfgInfo: return soap_in_ws__TrafficShapeCfgInfo(soap, NULL, NULL, "ws:TrafficShapeCfgInfo"); case SOAP_TYPE_TrafficShapeCfgInfo: return soap_in_TrafficShapeCfgInfo(soap, NULL, NULL, "TrafficShapeCfgInfo"); case SOAP_TYPE_noop: return soap_in_noop(soap, NULL, NULL, "noop"); case SOAP_TYPE_PointerTows__TrafficShapeCfgInfo: return soap_in_PointerTows__TrafficShapeCfgInfo(soap, NULL, NULL, "ws:TrafficShapeCfgInfo"); case SOAP_TYPE_PointerToxsd__int: return soap_in_PointerToxsd__int(soap, NULL, NULL, "xsd:int"); case SOAP_TYPE_PointerToint: return soap_in_PointerToint(soap, NULL, NULL, "xsd:int"); case SOAP_TYPE_xsd__string: { char **s; s = soap_in_xsd__string(soap, NULL, NULL, "xsd:string"); return s ? *s : NULL; } case SOAP_TYPE_string: { char **s; s = soap_in_string(soap, NULL, NULL, "xsd:string"); return s ? *s : NULL; } default: { const char *t = soap->type; if (!*t) t = soap->tag; 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_xsd__int; return soap_in_xsd__int(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, "ws:setTrafficShapeCfg")) { *type = SOAP_TYPE_ws__setTrafficShapeCfg; return soap_in_ws__setTrafficShapeCfg(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "ws:setTrafficShapeCfgResponse")) { *type = SOAP_TYPE_ws__setTrafficShapeCfgResponse; return soap_in_ws__setTrafficShapeCfgResponse(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "ws:getTrafficShapeCfg")) { *type = SOAP_TYPE_ws__getTrafficShapeCfg; return soap_in_ws__getTrafficShapeCfg(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "ws:TrafficShapeCfgInfo")) { *type = SOAP_TYPE_ws__TrafficShapeCfgInfo; return soap_in_ws__TrafficShapeCfgInfo(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "TrafficShapeCfgInfo")) { *type = SOAP_TYPE_TrafficShapeCfgInfo; return soap_in_TrafficShapeCfgInfo(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "noop")) { *type = SOAP_TYPE_noop; return soap_in_noop(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "xsd:string")) { char **s; *type = SOAP_TYPE_xsd__string; s = soap_in_xsd__string(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; 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; } } } soap->error = SOAP_TAG_MISMATCH; return NULL; }
SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type) { if (soap_peek_element(soap)) return NULL; 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_time: return soap_in_time(soap, NULL, NULL, "xsd:dateTime"); case SOAP_TYPE_ns__currentTime: return soap_in_ns__currentTime(soap, NULL, NULL, "ns:currentTime"); case SOAP_TYPE_ns__currentTimeResponse: return soap_in_ns__currentTimeResponse(soap, NULL, NULL, "ns:currentTimeResponse"); case SOAP_TYPE_PointerTotime: return soap_in_PointerTotime(soap, NULL, NULL, "xsd:dateTime"); case SOAP_TYPE_string: { char **s; s = soap_in_string(soap, NULL, NULL, "xsd:string"); return s ? *s : NULL; } default: { const char *t = soap->type; if (!*t) t = soap->tag; 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, "xsd:dateTime")) { *type = SOAP_TYPE_time; return soap_in_time(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "ns:currentTime")) { *type = SOAP_TYPE_ns__currentTime; return soap_in_ns__currentTime(soap, NULL, NULL, NULL); } if (!soap_match_tag(soap, t, "ns:currentTimeResponse")) { *type = SOAP_TYPE_ns__currentTimeResponse; return soap_in_ns__currentTimeResponse(soap, NULL, NULL, 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; 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; } } } soap->error = SOAP_TAG_MISMATCH; return NULL; }