📄 soapc.c
字号:
soap_revert(soap); return NULL; } if (soap->null) { if (soap->mode & SOAP_XML_NIL) { soap->error = SOAP_NULL; return NULL; } else return a; } if (!*soap->href) { a = (struct ns__getQuote *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__getQuote, sizeof(struct ns__getQuote), 0); if (!a) return NULL; if (soap->alloced) soap_default_ns__getQuote(soap, a); if (soap->body) { for (;;) { soap->error = SOAP_TAG_MISMATCH; if (soap_flag_symbol && soap->error == SOAP_TAG_MISMATCH) if (soap_in_string(soap, "symbol", &a->symbol, "")) { soap_flag_symbol = 0; 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 ns__getQuote *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__getQuote, sizeof(struct ns__getQuote), 0), SOAP_TYPE_ns__getQuote, sizeof(struct ns__getQuote)); if (soap->alloced) soap_default_ns__getQuote(soap, a); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}SOAP_FMAC1 void SOAP_FMAC2 soap_serialize_ns__getQuoteResponse(struct soap *soap, struct ns__getQuoteResponse const*a){ if (!soap_reference(soap, a, SOAP_TYPE_ns__getQuoteResponse)) soap_mark_ns__getQuoteResponse(soap, a);}SOAP_FMAC1 void SOAP_FMAC2 soap_mark_ns__getQuoteResponse(struct soap *soap, const struct ns__getQuoteResponse *a){ soap_embedded(soap, &a->Result, SOAP_TYPE_PointerTofloat); soap_mark_PointerTofloat(soap, &a->Result);}SOAP_FMAC1 void SOAP_FMAC2 soap_default_ns__getQuoteResponse(struct soap *soap, struct ns__getQuoteResponse *a){ soap_default_PointerTofloat(soap, &a->Result);}SOAP_FMAC1 int SOAP_FMAC2 soap_put_ns__getQuoteResponse(struct soap *soap, struct ns__getQuoteResponse *a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_ns__getQuoteResponse); if (i >= 0) soap_out_ns__getQuoteResponse(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC1 int SOAP_FMAC2 soap_out_ns__getQuoteResponse(struct soap *soap, const char *tag, int id, const struct ns__getQuoteResponse *a, const char *type){ soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__getQuoteResponse), type); if (a->Result) soap_element_result(soap, "Result"); soap_out_PointerTofloat(soap, "Result", -1, &a->Result, ""); soap_element_end_out(soap, tag); return SOAP_OK;}SOAP_FMAC1 struct ns__getQuoteResponse * SOAP_FMAC2 soap_get_ns__getQuoteResponse(struct soap *soap, struct ns__getQuoteResponse *p, const char *tag, const char *type){ if ((p = soap_in_ns__getQuoteResponse(soap, tag, p, type))) soap_getindependent(soap); return p;}SOAP_FMAC1 struct ns__getQuoteResponse * SOAP_FMAC2 soap_in_ns__getQuoteResponse(struct soap *soap, const char *tag, struct ns__getQuoteResponse *a, const char *type){ short soap_flag_Result = 1; if (soap_element_begin_in(soap, tag)) return NULL; if (*soap->type && soap_match_tag(soap, soap->type, type)) { soap->error = SOAP_TYPE_MISMATCH; soap_revert(soap); return NULL; } if (soap->null) { if (soap->mode & SOAP_XML_NIL) { soap->error = SOAP_NULL; return NULL; } else return a; } if (!*soap->href) { a = (struct ns__getQuoteResponse *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__getQuoteResponse, sizeof(struct ns__getQuoteResponse), 0); if (!a) return NULL; if (soap->alloced) soap_default_ns__getQuoteResponse(soap, a); if (soap->body) { for (;;) { soap->error = SOAP_TAG_MISMATCH; if (soap_flag_Result && soap->error == SOAP_TAG_MISMATCH) if (soap_in_PointerTofloat(soap, "Result", &a->Result, "")) { soap_flag_Result = 0; 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 ns__getQuoteResponse *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__getQuoteResponse, sizeof(struct ns__getQuoteResponse), 0), SOAP_TYPE_ns__getQuoteResponse, sizeof(struct ns__getQuoteResponse)); if (soap->alloced) soap_default_ns__getQuoteResponse(soap, a); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}#ifndef WITH_NOGLOBALSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a){ if (!soap_reference(soap, a, SOAP_TYPE_PointerToSOAP_ENV__Code)) soap_mark_PointerToSOAP_ENV__Code(soap, a);}SOAP_FMAC1 void SOAP_FMAC2 soap_mark_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a){ if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code)) soap_mark_SOAP_ENV__Code(soap, *a);}SOAP_FMAC1 void SOAP_FMAC2 soap_default_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **a){ *a = NULL;}SOAP_FMAC1 int SOAP_FMAC2 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerToSOAP_ENV__Code); if (i >= 0) soap_out_PointerToSOAP_ENV__Code(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC1 int SOAP_FMAC2 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type){ struct soap_plist *pp; register int i; id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerToSOAP_ENV__Code); if (!*a) return soap_element_null(soap, tag, id, type); i = soap_pointer_lookup(soap, *a, SOAP_TYPE_SOAP_ENV__Code, &pp); if (i) { if (soap_is_embedded(soap, pp)) return soap_element_ref(soap, tag, id, i); if (soap_is_single(soap, pp)) return soap_out_SOAP_ENV__Code(soap, tag, 0, *a, type); soap_set_embedded(soap, pp); return soap_out_SOAP_ENV__Code(soap, tag, i, *a, type); } return soap_out_SOAP_ENV__Code(soap, tag, soap_pointer_enter(soap, *a, SOAP_TYPE_SOAP_ENV__Code, &pp), *a, type);}SOAP_FMAC1 struct SOAP_ENV__Code ** SOAP_FMAC2 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))) soap_getindependent(soap); return p;}SOAP_FMAC1 struct SOAP_ENV__Code ** SOAP_FMAC2 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type){ struct SOAP_ENV__Code *p; if (soap_element_begin_in(soap, tag)) return NULL; if (soap->null) { a = (struct SOAP_ENV__Code **)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 1); if (a) *a = NULL; if (soap->body && soap_element_end_in(soap, tag)) return NULL; } else if (!*soap->href) { soap_revert(soap); if (a) { if ((p = soap_in_SOAP_ENV__Code(soap, tag, *a, type))) *a = p; else a = NULL; } else if ((p = soap_in_SOAP_ENV__Code(soap, tag, NULL, type))) { a = (struct SOAP_ENV__Code **)soap_id_enter(soap, "", NULL, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 0); if (a) *a = p; } } else { a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerToSOAP_ENV__Code, sizeof(struct SOAP_ENV__Code *), 1), SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}#endifSOAP_FMAC1 void SOAP_FMAC2 soap_serialize_PointerTofloat(struct soap *soap, float *const*a){ if (!soap_reference(soap, a, SOAP_TYPE_PointerTofloat)) soap_mark_PointerTofloat(soap, a);}SOAP_FMAC1 void SOAP_FMAC2 soap_mark_PointerTofloat(struct soap *soap, float *const*a){ soap_reference(soap, *a, SOAP_TYPE_float);}SOAP_FMAC1 void SOAP_FMAC2 soap_default_PointerTofloat(struct soap *soap, float **a){ *a = NULL;}SOAP_FMAC1 int SOAP_FMAC2 soap_put_PointerTofloat(struct soap *soap, float **a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_PointerTofloat); if (i >= 0) soap_out_PointerTofloat(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC1 int SOAP_FMAC2 soap_out_PointerTofloat(struct soap *soap, const char *tag, int id, float *const*a, const char *type){ struct soap_plist *pp; register int i; id = soap_embedded_id(soap, id, a, SOAP_TYPE_PointerTofloat); if (!*a) return soap_element_null(soap, tag, id, type); i = soap_pointer_lookup(soap, *a, SOAP_TYPE_float, &pp); if (i) { if (soap_is_embedded(soap, pp)) return soap_element_ref(soap, tag, id, i); if (soap_is_single(soap, pp)) return soap_out_float(soap, tag, 0, *a, type); soap_set_embedded(soap, pp); return soap_out_float(soap, tag, i, *a, type); } return soap_out_float(soap, tag, soap_pointer_enter(soap, *a, SOAP_TYPE_float, &pp), *a, type);}SOAP_FMAC1 float ** SOAP_FMAC2 soap_get_PointerTofloat(struct soap *soap, float **p, const char *tag, const char *type){ if ((p = soap_in_PointerTofloat(soap, tag, p, type))) soap_getindependent(soap); return p;}SOAP_FMAC1 float ** SOAP_FMAC2 soap_in_PointerTofloat(struct soap *soap, const char *tag, float **a, const char *type){ float *p; if (soap_element_begin_in(soap, tag)) return NULL; if (soap->null) { a = (float **)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerTofloat, sizeof(float *), 1); if (a) *a = NULL; if (soap->body && soap_element_end_in(soap, tag)) return NULL; } else if (!*soap->href) { soap_revert(soap); if (a) { if ((p = soap_in_float(soap, tag, *a, type))) *a = p; else a = NULL; } else if ((p = soap_in_float(soap, tag, NULL, type))) { a = (float **)soap_id_enter(soap, "", NULL, SOAP_TYPE_PointerTofloat, sizeof(float *), 0); if (a) *a = p; } } else { a = (float **)soap_id_lookup(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_PointerTofloat, sizeof(float *), 1), SOAP_TYPE_float, sizeof(float), 0); if (soap->body && soap_element_end_in(soap, tag)) return NULL; } return a;}SOAP_FMAC1 void SOAP_FMAC2 soap_default__QName(struct soap *soap, char **a){#ifdef SOAP_DEFAULT__QName *a = SOAP_DEFAULT__QName;#else *a = (char *)0;#endif}SOAP_FMAC1 void SOAP_FMAC2 soap_serialize__QName(struct soap *soap, char *const*a){ soap_reference(soap, *a, SOAP_TYPE__QName);}SOAP_FMAC1 void SOAP_FMAC2 soap_mark__QName(struct soap *soap, char *const*a){ soap_reference(soap, *a, SOAP_TYPE__QName);}SOAP_FMAC1 int SOAP_FMAC2 soap_put__QName(struct soap *soap, char **a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE__QName); if (i >= 0) soap_out__QName(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC1 int SOAP_FMAC2 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_FMAC1 char ** SOAP_FMAC2 soap_get__QName(struct soap *soap, char **p, const char *tag, const char *type){ if ((p = soap_in__QName(soap, tag, p, type))) soap_getindependent(soap); return p;}SOAP_FMAC1 char * * SOAP_FMAC2 soap_in__QName(struct soap *soap, const char *tag, char **a, const char *type){ return soap_instring(soap, tag, a, type, SOAP_TYPE__QName, 2);}SOAP_FMAC1 void SOAP_FMAC2 soap_default_string(struct soap *soap, char **a){#ifdef SOAP_DEFAULT_string *a = SOAP_DEFAULT_string;#else *a = (char *)0;#endif}SOAP_FMAC1 void SOAP_FMAC2 soap_serialize_string(struct soap *soap, char *const*a){ soap_reference(soap, *a, SOAP_TYPE_string);}SOAP_FMAC1 void SOAP_FMAC2 soap_mark_string(struct soap *soap, char *const*a){ soap_reference(soap, *a, SOAP_TYPE_string);}SOAP_FMAC1 int SOAP_FMAC2 soap_put_string(struct soap *soap, char **a, const char *tag, const char *type){ int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_string); if (i >= 0) soap_out_string(soap, tag, i, a, type); return soap_putindependent(soap);}SOAP_FMAC1 int SOAP_FMAC2 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_FMAC1 char ** SOAP_FMAC2 soap_get_string(struct soap *soap, char **p, const char *tag, const char *type){ if ((p = soap_in_string(soap, tag, p, type))) soap_getindependent(soap); return p;}SOAP_FMAC1 char * * SOAP_FMAC2 soap_in_string(struct soap *soap, const char *tag, char **a, const char *type){ return soap_instring(soap, tag, a, type, SOAP_TYPE_string, 1);}#ifdef __cplusplus}#endif/* end of soapC.c */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -