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_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; }