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

📄 soapc.c

📁 SOAP协议的C版本
💻 C
📖 第 1 页 / 共 5 页
字号:
		if (soap->alloced)
			soap_default_dsmp__SyncOrderRelationReq(soap, a);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dsmp__address_info(struct soap *soap, struct dsmp__address_info const*a)
{
	if (!soap_reference(soap, a, SOAP_TYPE_dsmp__address_info))
		soap_mark_dsmp__address_info(soap, a);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_mark_dsmp__address_info(struct soap *soap, const struct dsmp__address_info *a)
{
	soap_embedded(soap, &a->DeviceType, SOAP_TYPE_xsd__integer);
	soap_mark_xsd__integer(soap, &a->DeviceType);
	soap_embedded(soap, &a->DeviceID, SOAP_TYPE_xsd__string);
	soap_mark_xsd__string(soap, &a->DeviceID);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_dsmp__address_info(struct soap *soap, struct dsmp__address_info *a)
{
	soap_default_xsd__integer(soap, &a->DeviceType);
	soap_default_xsd__string(soap, &a->DeviceID);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_dsmp__address_info(struct soap *soap, struct dsmp__address_info *a, const char *tag, const char *type)
{
	int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_dsmp__address_info);
	soap_out_dsmp__address_info(soap, tag, i, a, type);
	return soap_putindependent(soap);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_dsmp__address_info(struct soap *soap, const char *tag, int id, const struct dsmp__address_info *a, const char *type)
{
	soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dsmp__address_info), type);
	soap_out_xsd__integer(soap, "DeviceType", -1, &a->DeviceType, "xsd:integer");
	soap_out_xsd__string(soap, "DeviceID", -1, &a->DeviceID, "xsd:string");
	soap_element_end_out(soap, tag);
	return SOAP_OK;
}

SOAP_FMAC3 struct dsmp__address_info * SOAP_FMAC4 soap_get_dsmp__address_info(struct soap *soap, struct dsmp__address_info *p, const char *tag, const char *type)
{
	if ((p = soap_in_dsmp__address_info(soap, tag, p, type)))
		soap_getindependent(soap);
	return p;
}

SOAP_FMAC3 struct dsmp__address_info * SOAP_FMAC4 soap_in_dsmp__address_info(struct soap *soap, const char *tag, struct dsmp__address_info *a, const char *type)
{
	short soap_flag_DeviceType = 1, soap_flag_DeviceID = 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 dsmp__address_info *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dsmp__address_info, sizeof(struct dsmp__address_info), 0);
		if (!a)
			return NULL;
		if (soap->alloced)
			soap_default_dsmp__address_info(soap, a);
		if (soap->body)
		{	for (;;)
			{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_DeviceType && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_xsd__integer(soap, "DeviceType", &a->DeviceType, "xsd:integer"))
				{	soap_flag_DeviceType = 0;
					continue;
				}
			if (soap_flag_DeviceID && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_xsd__string(soap, "DeviceID", &a->DeviceID, "xsd:string"))
				{	soap_flag_DeviceID = 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 dsmp__address_info *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dsmp__address_info, sizeof(struct dsmp__address_info), 0), SOAP_TYPE_dsmp__address_info, sizeof(struct dsmp__address_info));
		if (soap->alloced)
			soap_default_dsmp__address_info(soap, a);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dsmp__user_id(struct soap *soap, struct dsmp__user_id const*a)
{
	if (!soap_reference(soap, a, SOAP_TYPE_dsmp__user_id))
		soap_mark_dsmp__user_id(soap, a);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_mark_dsmp__user_id(struct soap *soap, const struct dsmp__user_id *a)
{
	soap_embedded(soap, &a->UserIDType, SOAP_TYPE_xsd__integer);
	soap_mark_xsd__integer(soap, &a->UserIDType);
	soap_embedded(soap, &a->MSISDN, SOAP_TYPE_xsd__string);
	soap_mark_xsd__string(soap, &a->MSISDN);
	soap_embedded(soap, &a->PseudoCode, SOAP_TYPE_PointerToxsd__base64Binary);
	soap_mark_PointerToxsd__base64Binary(soap, &a->PseudoCode);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_dsmp__user_id(struct soap *soap, struct dsmp__user_id *a)
{
	soap_default_xsd__integer(soap, &a->UserIDType);
	soap_default_xsd__string(soap, &a->MSISDN);
	soap_default_PointerToxsd__base64Binary(soap, &a->PseudoCode);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_dsmp__user_id(struct soap *soap, struct dsmp__user_id *a, const char *tag, const char *type)
{
	int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_dsmp__user_id);
	soap_out_dsmp__user_id(soap, tag, i, a, type);
	return soap_putindependent(soap);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_dsmp__user_id(struct soap *soap, const char *tag, int id, const struct dsmp__user_id *a, const char *type)
{
	soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dsmp__user_id), type);
	soap_out_xsd__integer(soap, "UserIDType", -1, &a->UserIDType, "xsd:integer");
	soap_out_xsd__string(soap, "MSISDN", -1, &a->MSISDN, "xsd:string");
	soap_out_PointerToxsd__base64Binary(soap, "PseudoCode", -1, &a->PseudoCode, "xsd:base64Binary");
	soap_element_end_out(soap, tag);
	return SOAP_OK;
}

SOAP_FMAC3 struct dsmp__user_id * SOAP_FMAC4 soap_get_dsmp__user_id(struct soap *soap, struct dsmp__user_id *p, const char *tag, const char *type)
{
	if ((p = soap_in_dsmp__user_id(soap, tag, p, type)))
		soap_getindependent(soap);
	return p;
}

SOAP_FMAC3 struct dsmp__user_id * SOAP_FMAC4 soap_in_dsmp__user_id(struct soap *soap, const char *tag, struct dsmp__user_id *a, const char *type)
{
	short soap_flag_UserIDType = 1, soap_flag_MSISDN = 1, soap_flag_PseudoCode = 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 dsmp__user_id *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dsmp__user_id, sizeof(struct dsmp__user_id), 0);
		if (!a)
			return NULL;
		if (soap->alloced)
			soap_default_dsmp__user_id(soap, a);
		if (soap->body)
		{	for (;;)
			{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_UserIDType && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_xsd__integer(soap, "UserIDType", &a->UserIDType, "xsd:integer"))
				{	soap_flag_UserIDType = 0;
					continue;
				}
			if (soap_flag_MSISDN && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_xsd__string(soap, "MSISDN", &a->MSISDN, "xsd:string"))
				{	soap_flag_MSISDN = 0;
					continue;
				}
			if (soap_flag_PseudoCode && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_PointerToxsd__base64Binary(soap, "PseudoCode", &a->PseudoCode, "xsd:base64Binary"))
				{	soap_flag_PseudoCode = 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 dsmp__user_id *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dsmp__user_id, sizeof(struct dsmp__user_id), 0), SOAP_TYPE_dsmp__user_id, sizeof(struct dsmp__user_id));
		if (soap->alloced)
			soap_default_dsmp__user_id(soap, a);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_dsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp const*a)
{
	if (!soap_reference(soap, a, SOAP_TYPE_dsmp__SyncOrderRelationResp))
		soap_mark_dsmp__SyncOrderRelationResp(soap, a);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_mark_dsmp__SyncOrderRelationResp(struct soap *soap, const struct dsmp__SyncOrderRelationResp *a)
{
	soap_embedded(soap, &a->MsgType, SOAP_TYPE_xsd__string);
	soap_mark_xsd__string(soap, &a->MsgType);
	soap_embedded(soap, &a->Version, SOAP_TYPE_xsd__string);
	soap_mark_xsd__string(soap, &a->Version);
	soap_embedded(soap, &a->hRet, SOAP_TYPE_xsd__integer);
	soap_mark_xsd__integer(soap, &a->hRet);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_dsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp *a)
{
	soap_default_xsd__string(soap, &a->MsgType);
	soap_default_xsd__string(soap, &a->Version);
	soap_default_xsd__integer(soap, &a->hRet);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_dsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp *a, const char *tag, const char *type)
{
	int i = soap_embed_element(soap, (void*)a, tag, SOAP_TYPE_dsmp__SyncOrderRelationResp);
	soap_out_dsmp__SyncOrderRelationResp(soap, tag, i, a, type);
	return soap_putindependent(soap);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_dsmp__SyncOrderRelationResp(struct soap *soap, const char *tag, int id, const struct dsmp__SyncOrderRelationResp *a, const char *type)
{
	soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_dsmp__SyncOrderRelationResp), type);
	if (a->MsgType)
		soap_element_result(soap, "MsgType");
	soap_out_xsd__string(soap, "MsgType", -1, &a->MsgType, "");
	soap_out_xsd__string(soap, "Version", -1, &a->Version, "");
	soap_out_xsd__integer(soap, "hRet", -1, &a->hRet, "");
	soap_element_end_out(soap, tag);

	return SOAP_OK;
}

SOAP_FMAC3 struct dsmp__SyncOrderRelationResp * SOAP_FMAC4 soap_get_dsmp__SyncOrderRelationResp(struct soap *soap, struct dsmp__SyncOrderRelationResp *p, const char *tag, const char *type)
{
	if ((p = soap_in_dsmp__SyncOrderRelationResp(soap, tag, p, type)))
		soap_getindependent(soap);
	return p;
}

SOAP_FMAC3 struct dsmp__SyncOrderRelationResp * SOAP_FMAC4 soap_in_dsmp__SyncOrderRelationResp(struct soap *soap, const char *tag, struct dsmp__SyncOrderRelationResp *a, const char *type)
{
	short soap_flag_MsgType = 1, soap_flag_Version = 1, soap_flag_hRet = 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 dsmp__SyncOrderRelationResp *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp), 0);
		if (!a)
			return NULL;
		if (soap->alloced)
			soap_default_dsmp__SyncOrderRelationResp(soap, a);
		if (soap->body)
		{	for (;;)
			{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_MsgType && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_xsd__string(soap, "MsgType", &a->MsgType, "xsd:string"))
				{	soap_flag_MsgType = 0;
					continue;
				}
			if (soap_flag_Version && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_xsd__string(soap, "Version", &a->Version, "xsd:string"))
				{	soap_flag_Version = 0;
					continue;
				}
			if (soap_flag_hRet && soap->error == SOAP_TAG_MISMATCH)
				if (soap_in_xsd__integer(soap, "hRet", &a->hRet, "xsd:integer"))
				{	soap_flag_hRet = 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 dsmp__SyncOrderRelationResp *)soap_id_forward(soap, soap->href, (void**)soap_id_enter(soap, soap->id, a, SOAP_TYPE_dsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp), 0), SOAP_TYPE_dsmp__SyncOrderRelationResp, sizeof(struct dsmp__SyncOrderRelationResp));
		if (soap->alloced)
			soap_default_dsmp__SyncOrderRelationResp(soap, a);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header const*a)
{
	if (!soap_reference(soap, a, SOAP_TYPE_SOAP_ENV__Header))
		soap_mark_SOAP_ENV__Header(soap, a);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_mark_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
{
	soap_embedded(soap, &a->TransactionID, SOAP_TYPE_PointerToxsd__string);
	soap_mark_PointerToxsd__string(soap, &a->TransactionID);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -