⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soapc.c

📁 linux下简单对象应用协议的开发库
💻 C
📖 第 1 页 / 共 3 页
字号:
		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 + -