/* soapC.cpp
   Generated by gSOAP 2.8.83 for trapi.h

gSOAP XML Web services tools
Copyright (C) 2000-2018, Robert van Engelen, Genivia Inc. All Rights Reserved.
The soapcpp2 tool and its generated software are released under the GPL.
This program is released under the GPL with the additional exemption that
compiling, linking, and/or using OpenSSL is allowed.
--------------------------------------------------------------------------------
A commercial use license is available from Genivia Inc., contact@genivia.com
--------------------------------------------------------------------------------
*/

#if defined(__BORLANDC__)
#pragma option push -w-8060
#pragma option push -w-8004
#endif

#include "soapH.h"

SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.8.83 2019-07-01 08:32:43 GMT")


#ifndef WITH_NOGLOBAL

SOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap *soap)
{
	soap->part = SOAP_IN_HEADER;
	soap->header = soap_in_SOAP_ENV__Header(soap, "SOAP-ENV:Header", soap->header, NULL);
	soap->part = SOAP_END_HEADER;
	return soap->header == NULL;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap)
{
	if (soap->version && soap->header)
	{	soap->part = SOAP_IN_HEADER;
		if (soap_out_SOAP_ENV__Header(soap, "SOAP-ENV:Header", 0, soap->header, ""))
			return soap->error;
		soap->part = SOAP_END_HEADER;
	}
	return SOAP_OK;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)
{
	if (soap->version && soap->header)
		soap_serialize_SOAP_ENV__Header(soap, soap->header);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)
{
	if (soap->header == NULL)
	{	if ((soap->header = soap_new_SOAP_ENV__Header(soap)))
			soap_default_SOAP_ENV__Header(soap, soap->header);
	}
}

SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
{
	if (soap->fault == NULL)
	{	soap->fault = soap_new_SOAP_ENV__Fault(soap, -1);
		if (soap->fault == NULL)
			return;
	}
	if (soap->version == 2 && soap->fault->SOAP_ENV__Code == NULL)
		soap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);
	if (soap->version == 2 && soap->fault->SOAP_ENV__Reason == NULL)
		soap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
{
	if (soap->fault)
		soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)
{
	if (soap->fault)
		return soap_put_SOAP_ENV__Fault(soap, soap->fault, "SOAP-ENV:Fault", "");
	return SOAP_OK;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)
{
	return (soap->fault = soap_get_SOAP_ENV__Fault(soap, NULL, "SOAP-ENV:Fault", NULL)) == NULL;
}

SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)
{
	soap_fault(soap);
	if (soap->fault == NULL)
		return NULL;
	if (soap->version == 2 && soap->fault->SOAP_ENV__Code)
		return (const char**)(void*)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;
	return (const char**)(void*)&soap->fault->faultcode;
}

SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)
{
	soap_fault(soap);
	if (soap->fault == NULL)
		return NULL;
	if (soap->version == 2 && soap->fault->SOAP_ENV__Code)
	{	if (soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode == NULL)
		{	soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);
			if (soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode == NULL)
				return NULL;
		}
		return (const char**)(void*)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
	}
	return (const char**)(void*)&soap->fault->faultcode;
}

SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_subcode(struct soap *soap)
{
	const char **s = soap_faultsubcode(soap);
	return s ? *s : NULL;
}

SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)
{
	soap_fault(soap);
	if (soap->fault == NULL)
		return NULL;
	if (soap->version == 2 && soap->fault->SOAP_ENV__Reason)
		return (const char**)(void*)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;
	return (const char**)(void*)&soap->fault->faultstring;
}

SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_string(struct soap *soap)
{
	const char **s = soap_faultstring(soap);
	return s ? *s : NULL;
}

SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)
{
	soap_fault(soap);
	if (soap->fault == NULL)
		return NULL;
	if (soap->version == 2)
	{	if (soap->fault->SOAP_ENV__Detail == NULL)
			soap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);
		return (const char**)(void*)&soap->fault->SOAP_ENV__Detail->__any;
	}
	if (soap->fault->detail == NULL)
		soap->fault->detail = soap_new_SOAP_ENV__Detail(soap, -1);
	return (const char**)(void*)&soap->fault->detail->__any;
}

SOAP_FMAC3 const char * SOAP_FMAC4 soap_fault_detail(struct soap *soap)
{
	const char **s = soap_faultdetail(soap);
	return s ? *s : NULL;
}

#endif

#ifndef WITH_NOIDREF
SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)
{
	int t;
	if (soap->version == 1)
	{	for (;;)
		{	if (!soap_getelement(soap, NULL, &t))
				if ((soap->error && soap->error != SOAP_TAG_MISMATCH) || soap_ignore_element(soap))
					break;
		}
	}
	if (soap->error == SOAP_NO_TAG || soap->error == SOAP_EOF)
		soap->error = SOAP_OK;
	return soap->error;
}
#endif

#ifdef __cplusplus
extern "C" {
#endif
SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, const char *tag, 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, tag, NULL, "xsd:byte");
	case SOAP_TYPE_int:
		return soap_in_int(soap, tag, NULL, "xsd:int");
	case SOAP_TYPE_unsignedByte:
		return soap_in_unsignedByte(soap, tag, NULL, "xsd:unsignedByte");
	case SOAP_TYPE_cwmp__ACSVendorFaultCodeType:
		return soap_in_cwmp__ACSVendorFaultCodeType(soap, tag, NULL, "cwmp:ACSVendorFaultCodeType");
	case SOAP_TYPE_cwmp__ACSFaultCodeType:
		return soap_in_cwmp__ACSFaultCodeType(soap, tag, NULL, "cwmp:ACSFaultCodeType");
	case SOAP_TYPE_cwmp__CPEVendorFaultCodeType:
		return soap_in_cwmp__CPEVendorFaultCodeType(soap, tag, NULL, "cwmp:CPEVendorFaultCodeType");
	case SOAP_TYPE_cwmp__CPEExtensionFaultCodeType:
		return soap_in_cwmp__CPEExtensionFaultCodeType(soap, tag, NULL, "cwmp:CPEExtensionFaultCodeType");
	case SOAP_TYPE_cwmp__CPEFaultCodeType:
		return soap_in_cwmp__CPEFaultCodeType(soap, tag, NULL, "cwmp:CPEFaultCodeType");
	case SOAP_TYPE_unsignedInt:
		return soap_in_unsignedInt(soap, tag, NULL, "xsd:unsignedInt");
	case SOAP_TYPE_dateTime:
		return soap_in_dateTime(soap, tag, NULL, "xsd:dateTime");
	case SOAP_TYPE__cwmp__UploadResponse_Status:
		return soap_in__cwmp__UploadResponse_Status(soap, tag, NULL, "cwmp:UploadResponse-Status");
	case SOAP_TYPE__cwmp__DownloadResponse_Status:
		return soap_in__cwmp__DownloadResponse_Status(soap, tag, NULL, "cwmp:DownloadResponse-Status");
	case SOAP_TYPE__cwmp__DeleteObjectResponse_Status:
		return soap_in__cwmp__DeleteObjectResponse_Status(soap, tag, NULL, "cwmp:DeleteObjectResponse-Status");
	case SOAP_TYPE__cwmp__AddObjectResponse_Status:
		return soap_in__cwmp__AddObjectResponse_Status(soap, tag, NULL, "cwmp:AddObjectResponse-Status");
	case SOAP_TYPE__cwmp__SetParameterValuesResponse_Status:
		return soap_in__cwmp__SetParameterValuesResponse_Status(soap, tag, NULL, "cwmp:SetParameterValuesResponse-Status");
	case SOAP_TYPE__cwmp__OptionStruct_IsTransferable:
		return soap_in__cwmp__OptionStruct_IsTransferable(soap, tag, NULL, "cwmp:OptionStruct-IsTransferable");
	case SOAP_TYPE__cwmp__OptionStruct_Mode:
		return soap_in__cwmp__OptionStruct_Mode(soap, tag, NULL, "cwmp:OptionStruct-Mode");
	case SOAP_TYPE__cwmp__OptionStruct_State:
		return soap_in__cwmp__OptionStruct_State(soap, tag, NULL, "cwmp:OptionStruct-State");
	case SOAP_TYPE_cwmp__DeploymentUnitCPEFaultCodeType:
		return soap_in_cwmp__DeploymentUnitCPEFaultCodeType(soap, tag, NULL, "cwmp:DeploymentUnitCPEFaultCodeType");
	case SOAP_TYPE_cwmp__TransferCompleteCPEFaultCodeType:
		return soap_in_cwmp__TransferCompleteCPEFaultCodeType(soap, tag, NULL, "cwmp:TransferCompleteCPEFaultCodeType");
	case SOAP_TYPE_cwmp__DefaultDeploymentUnitOperationType:
		return soap_in_cwmp__DefaultDeploymentUnitOperationType(soap, tag, NULL, "cwmp:DefaultDeploymentUnitOperationType");
	case SOAP_TYPE_cwmp__DeploymentUnitState:
		return soap_in_cwmp__DeploymentUnitState(soap, tag, NULL, "cwmp:DeploymentUnitState");
	case SOAP_TYPE_cwmp__TransferStateType:
		return soap_in_cwmp__TransferStateType(soap, tag, NULL, "cwmp:TransferStateType");
	case SOAP_TYPE_cwmp__ParameterAttributeNotificationValueType:
		return soap_in_cwmp__ParameterAttributeNotificationValueType(soap, tag, NULL, "cwmp:ParameterAttributeNotificationValueType");
	case SOAP_TYPE_cwmp__AccessListValueType:
		return soap_in_cwmp__AccessListValueType(soap, tag, NULL, "cwmp:AccessListValueType");
	case SOAP_TYPE_xsd__boolean:
		return soap_in_xsd__boolean(soap, tag, NULL, "xsd:boolean");
	case SOAP_TYPE_cwmp__UninstallOpStruct:
		return soap_in_cwmp__UninstallOpStruct(soap, tag, NULL, "cwmp:UninstallOpStruct");
	case SOAP_TYPE_cwmp__UpdateOpStruct:
		return soap_in_cwmp__UpdateOpStruct(soap, tag, NULL, "cwmp:UpdateOpStruct");
	case SOAP_TYPE_cwmp__InstallOpStruct:
		return soap_in_cwmp__InstallOpStruct(soap, tag, NULL, "cwmp:InstallOpStruct");
	case SOAP_TYPE_cwmp__AutonOpResultStruct:
		return soap_in_cwmp__AutonOpResultStruct(soap, tag, NULL, "cwmp:AutonOpResultStruct");
	case SOAP_TYPE_FileTypeArg:
		return soap_in_FileTypeArg(soap, tag, NULL, "cwmp:ArgStruct");
	case SOAP_TYPE_EventList:
		return soap_in_EventList(soap, tag, NULL, "cwmp:EventStruct");
	case SOAP_TYPE_TimeWindowList:
		return soap_in_TimeWindowList(soap, tag, NULL, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_AllTransferList:
		return soap_in_AllTransferList(soap, tag, NULL, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_OptionList:
		return soap_in_OptionList(soap, tag, NULL, "cwmp:OptionStruct");
	case SOAP_TYPE_VoucherList:
		return soap_in_VoucherList(soap, tag, NULL, "SOAP-ENC:base64");
	case SOAP_TYPE_TransferList:
		return soap_in_TransferList(soap, tag, NULL, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_ParameterAttributeList:
		return soap_in_ParameterAttributeList(soap, tag, NULL, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_SetParameterAttributesList:
		return soap_in_SetParameterAttributesList(soap, tag, NULL, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_ParameterInfoList:
		return soap_in_ParameterInfoList(soap, tag, NULL, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_ParameterNames:
		return soap_in_ParameterNames(soap, tag, NULL, "xsd:string");
	case SOAP_TYPE_ParameterValueList:
		return soap_in_ParameterValueList(soap, tag, NULL, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_MethodList:
		return soap_in_MethodList(soap, tag, NULL, "xsd:string");
	case SOAP_TYPE_cwmp__ArgStruct:
		return soap_in_cwmp__ArgStruct(soap, tag, NULL, "cwmp:ArgStruct");
	case SOAP_TYPE_cwmp__OptionStruct:
		return soap_in_cwmp__OptionStruct(soap, tag, NULL, "cwmp:OptionStruct");
	case SOAP_TYPE_cwmp__OpResultStruct:
		return soap_in_cwmp__OpResultStruct(soap, tag, NULL, "cwmp:OpResultStruct");
	case SOAP_TYPE_cwmp__OperationStruct:
		return soap_in_cwmp__OperationStruct(soap, tag, NULL, "cwmp:OperationStruct");
	case SOAP_TYPE_cwmp__AllQueuedTransferStruct:
		return soap_in_cwmp__AllQueuedTransferStruct(soap, tag, NULL, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_cwmp__QueuedTransferStruct:
		return soap_in_cwmp__QueuedTransferStruct(soap, tag, NULL, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_cwmp__TimeWindowStruct:
		return soap_in_cwmp__TimeWindowStruct(soap, tag, NULL, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_cwmp__ParameterAttributeStruct:
		return soap_in_cwmp__ParameterAttributeStruct(soap, tag, NULL, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_AccessList:
		return soap_in_AccessList(soap, tag, NULL, "cwmp:AccessListValueType");
	case SOAP_TYPE_cwmp__SetParameterAttributesStruct:
		return soap_in_cwmp__SetParameterAttributesStruct(soap, tag, NULL, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_cwmp__ParameterInfoStruct:
		return soap_in_cwmp__ParameterInfoStruct(soap, tag, NULL, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_cwmp__EventStruct:
		return soap_in_cwmp__EventStruct(soap, tag, NULL, "cwmp:EventStruct");
	case SOAP_TYPE_cwmp__DeviceIdStruct:
		return soap_in_cwmp__DeviceIdStruct(soap, tag, NULL, "cwmp:DeviceIdStruct");
	case SOAP_TYPE_cwmp__ParameterValueStruct:
		return soap_in_cwmp__ParameterValueStruct(soap, tag, NULL, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_cwmp__DeploymentUnitFaultStruct:
		return soap_in_cwmp__DeploymentUnitFaultStruct(soap, tag, NULL, "cwmp:DeploymentUnitFaultStruct");
	case SOAP_TYPE_cwmp__TransferCompleteFaultStruct:
		return soap_in_cwmp__TransferCompleteFaultStruct(soap, tag, NULL, "cwmp:TransferCompleteFaultStruct");
	case SOAP_TYPE_SOAP_ENC__base64:
		return soap_in_SOAP_ENC__base64(soap, tag, NULL, "SOAP-ENC:base64");
	case SOAP_TYPE_PointerTo_cwmp__InformResponse:
		return soap_in_PointerTo_cwmp__InformResponse(soap, tag, NULL, "cwmp:InformResponse");
	case SOAP_TYPE_PointerTo_cwmp__Inform:
		return soap_in_PointerTo_cwmp__Inform(soap, tag, NULL, "cwmp:Inform");
	case SOAP_TYPE_PointerTo_cwmp__GetRPCMethodsResponse:
		return soap_in_PointerTo_cwmp__GetRPCMethodsResponse(soap, tag, NULL, "cwmp:GetRPCMethodsResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetRPCMethods:
		return soap_in_PointerTo_cwmp__GetRPCMethods(soap, tag, NULL, "cwmp:GetRPCMethods");
	case SOAP_TYPE_PointerTo_cwmp__DeleteObjectResponse:
		return soap_in_PointerTo_cwmp__DeleteObjectResponse(soap, tag, NULL, "cwmp:DeleteObjectResponse");
	case SOAP_TYPE_PointerTo_cwmp__DeleteObject:
		return soap_in_PointerTo_cwmp__DeleteObject(soap, tag, NULL, "cwmp:DeleteObject");
	case SOAP_TYPE_PointerTo_cwmp__AddObjectResponse:
		return soap_in_PointerTo_cwmp__AddObjectResponse(soap, tag, NULL, "cwmp:AddObjectResponse");
	case SOAP_TYPE_PointerTo_cwmp__AddObject:
		return soap_in_PointerTo_cwmp__AddObject(soap, tag, NULL, "cwmp:AddObject");
	case SOAP_TYPE_PointerTo_cwmp__UploadResponse:
		return soap_in_PointerTo_cwmp__UploadResponse(soap, tag, NULL, "cwmp:UploadResponse");
	case SOAP_TYPE_PointerTo_cwmp__Upload:
		return soap_in_PointerTo_cwmp__Upload(soap, tag, NULL, "cwmp:Upload");
	case SOAP_TYPE_PointerTo_cwmp__DownloadResponse:
		return soap_in_PointerTo_cwmp__DownloadResponse(soap, tag, NULL, "cwmp:DownloadResponse");
	case SOAP_TYPE_PointerTo_cwmp__Download:
		return soap_in_PointerTo_cwmp__Download(soap, tag, NULL, "cwmp:Download");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterAttributesResponse:
		return soap_in_PointerTo_cwmp__SetParameterAttributesResponse(soap, tag, NULL, "cwmp:SetParameterAttributesResponse");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterAttributes:
		return soap_in_PointerTo_cwmp__SetParameterAttributes(soap, tag, NULL, "cwmp:SetParameterAttributes");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterAttributesResponse:
		return soap_in_PointerTo_cwmp__GetParameterAttributesResponse(soap, tag, NULL, "cwmp:GetParameterAttributesResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterAttributes:
		return soap_in_PointerTo_cwmp__GetParameterAttributes(soap, tag, NULL, "cwmp:GetParameterAttributes");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterValuesResponse:
		return soap_in_PointerTo_cwmp__SetParameterValuesResponse(soap, tag, NULL, "cwmp:SetParameterValuesResponse");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterValues:
		return soap_in_PointerTo_cwmp__SetParameterValues(soap, tag, NULL, "cwmp:SetParameterValues");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterValuesResponse:
		return soap_in_PointerTo_cwmp__GetParameterValuesResponse(soap, tag, NULL, "cwmp:GetParameterValuesResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterValues:
		return soap_in_PointerTo_cwmp__GetParameterValues(soap, tag, NULL, "cwmp:GetParameterValues");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterNamesResponse:
		return soap_in_PointerTo_cwmp__GetParameterNamesResponse(soap, tag, NULL, "cwmp:GetParameterNamesResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterNames:
		return soap_in_PointerTo_cwmp__GetParameterNames(soap, tag, NULL, "cwmp:GetParameterNames");
	case SOAP_TYPE_PointerTo_cwmp__Fault:
		return soap_in_PointerTo_cwmp__Fault(soap, tag, NULL, "cwmp:Fault");
	case SOAP_TYPE_PointerTo_cwmp__HoldRequests:
		return soap_in_PointerTo_cwmp__HoldRequests(soap, tag, NULL, "cwmp:HoldRequests");
	case SOAP_TYPE_PointerTo_cwmp__ID:
		return soap_in_PointerTo_cwmp__ID(soap, tag, NULL, "cwmp:ID");
	case SOAP_TYPE_PointerTo_cwmp__SessionTimeout:
		return soap_in_PointerTo_cwmp__SessionTimeout(soap, tag, NULL, "cwmp:SessionTimeout");
	case SOAP_TYPE_PointerTo_cwmp__UseCWMPVersion:
		return soap_in_PointerTo_cwmp__UseCWMPVersion(soap, tag, NULL, "cwmp:UseCWMPVersion");
	case SOAP_TYPE_PointerTo_cwmp__SupportedCWMPVersions:
		return soap_in_PointerTo_cwmp__SupportedCWMPVersions(soap, tag, NULL, "cwmp:SupportedCWMPVersions");
	case SOAP_TYPE_PointerToPointerTocwmp__ArgStruct:
		return soap_in_PointerToPointerTocwmp__ArgStruct(soap, tag, NULL, "cwmp:ArgStruct");
	case SOAP_TYPE_PointerTocwmp__ArgStruct:
		return soap_in_PointerTocwmp__ArgStruct(soap, tag, NULL, "cwmp:ArgStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__OptionStruct:
		return soap_in_PointerToPointerTocwmp__OptionStruct(soap, tag, NULL, "cwmp:OptionStruct");
	case SOAP_TYPE_PointerTocwmp__OptionStruct:
		return soap_in_PointerTocwmp__OptionStruct(soap, tag, NULL, "cwmp:OptionStruct");
	case SOAP_TYPE_PointerToSOAP_ENC__base64:
		return soap_in_PointerToSOAP_ENC__base64(soap, tag, NULL, "SOAP-ENC:base64");
	case SOAP_TYPE_PointerToxsd__anyURI:
		return soap_in_PointerToxsd__anyURI(soap, tag, NULL, "xsd:anyURI");
	case SOAP_TYPE_PointerToPointerTocwmp__AllQueuedTransferStruct:
		return soap_in_PointerToPointerTocwmp__AllQueuedTransferStruct(soap, tag, NULL, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_PointerTocwmp__AllQueuedTransferStruct:
		return soap_in_PointerTocwmp__AllQueuedTransferStruct(soap, tag, NULL, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__QueuedTransferStruct:
		return soap_in_PointerToPointerTocwmp__QueuedTransferStruct(soap, tag, NULL, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_PointerTocwmp__QueuedTransferStruct:
		return soap_in_PointerTocwmp__QueuedTransferStruct(soap, tag, NULL, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__TimeWindowStruct:
		return soap_in_PointerToPointerTocwmp__TimeWindowStruct(soap, tag, NULL, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_PointerTocwmp__TimeWindowStruct:
		return soap_in_PointerTocwmp__TimeWindowStruct(soap, tag, NULL, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__ParameterAttributeStruct:
		return soap_in_PointerToPointerTocwmp__ParameterAttributeStruct(soap, tag, NULL, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_PointerTocwmp__ParameterAttributeStruct:
		return soap_in_PointerTocwmp__ParameterAttributeStruct(soap, tag, NULL, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__SetParameterAttributesStruct:
		return soap_in_PointerToPointerTocwmp__SetParameterAttributesStruct(soap, tag, NULL, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_PointerTocwmp__SetParameterAttributesStruct:
		return soap_in_PointerTocwmp__SetParameterAttributesStruct(soap, tag, NULL, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_PointerTocwmp__AccessListValueType:
		return soap_in_PointerTocwmp__AccessListValueType(soap, tag, NULL, "cwmp:AccessListValueType");
	case SOAP_TYPE_PointerToPointerTocwmp__ParameterInfoStruct:
		return soap_in_PointerToPointerTocwmp__ParameterInfoStruct(soap, tag, NULL, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_PointerTocwmp__ParameterInfoStruct:
		return soap_in_PointerTocwmp__ParameterInfoStruct(soap, tag, NULL, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__EventStruct:
		return soap_in_PointerToPointerTocwmp__EventStruct(soap, tag, NULL, "cwmp:EventStruct");
	case SOAP_TYPE_PointerTocwmp__EventStruct:
		return soap_in_PointerTocwmp__EventStruct(soap, tag, NULL, "cwmp:EventStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__ParameterValueStruct:
		return soap_in_PointerToPointerTocwmp__ParameterValueStruct(soap, tag, NULL, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_PointerTocwmp__ParameterValueStruct:
		return soap_in_PointerTocwmp__ParameterValueStruct(soap, tag, NULL, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_PointerTostring:
		return soap_in_PointerTostring(soap, tag, NULL, "xsd:string");
	case SOAP_TYPE_PointerTocwmp__AutonOpResultStruct:
		return soap_in_PointerTocwmp__AutonOpResultStruct(soap, tag, NULL, "cwmp:AutonOpResultStruct");
	case SOAP_TYPE_PointerTocwmp__OpResultStruct:
		return soap_in_PointerTocwmp__OpResultStruct(soap, tag, NULL, "cwmp:OpResultStruct");
	case SOAP_TYPE_PointerToFileTypeArg:
		return soap_in_PointerToFileTypeArg(soap, tag, NULL, "cwmp:ArgStruct");
	case SOAP_TYPE_PointerTocwmp__TransferCompleteFaultStruct:
		return soap_in_PointerTocwmp__TransferCompleteFaultStruct(soap, tag, NULL, "cwmp:TransferCompleteFaultStruct");
	case SOAP_TYPE_PointerToEventList:
		return soap_in_PointerToEventList(soap, tag, NULL, "cwmp:EventStruct");
	case SOAP_TYPE_PointerTocwmp__DeviceIdStruct:
		return soap_in_PointerTocwmp__DeviceIdStruct(soap, tag, NULL, "cwmp:DeviceIdStruct");
	case SOAP_TYPE_PointerTocwmp__OperationStruct:
		return soap_in_PointerTocwmp__OperationStruct(soap, tag, NULL, "cwmp:OperationStruct");
	case SOAP_TYPE_PointerToTimeWindowList:
		return soap_in_PointerToTimeWindowList(soap, tag, NULL, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_PointerToAllTransferList:
		return soap_in_PointerToAllTransferList(soap, tag, NULL, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_PointerToOptionList:
		return soap_in_PointerToOptionList(soap, tag, NULL, "cwmp:OptionStruct");
	case SOAP_TYPE_PointerToVoucherList:
		return soap_in_PointerToVoucherList(soap, tag, NULL, "SOAP-ENC:base64");
	case SOAP_TYPE_PointerToTransferList:
		return soap_in_PointerToTransferList(soap, tag, NULL, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_PointerToParameterAttributeList:
		return soap_in_PointerToParameterAttributeList(soap, tag, NULL, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_PointerToSetParameterAttributesList:
		return soap_in_PointerToSetParameterAttributesList(soap, tag, NULL, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_PointerToParameterInfoList:
		return soap_in_PointerToParameterInfoList(soap, tag, NULL, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_PointerToParameterNames:
		return soap_in_PointerToParameterNames(soap, tag, NULL, "xsd:string");
	case SOAP_TYPE_PointerToParameterValueList:
		return soap_in_PointerToParameterValueList(soap, tag, NULL, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_PointerToMethodList:
		return soap_in_PointerToMethodList(soap, tag, NULL, "xsd:string");
	case SOAP_TYPE_PointerTo_cwmp__Fault_SetParameterValuesFault:
		return soap_in_PointerTo_cwmp__Fault_SetParameterValuesFault(soap, tag, NULL, "cwmp:Fault-SetParameterValuesFault");
	case SOAP_TYPE_PointerTodateTime:
		return soap_in_PointerTodateTime(soap, tag, NULL, "xsd:dateTime");
	case SOAP_TYPE_PointerTocwmp__DeploymentUnitFaultStruct:
		return soap_in_PointerTocwmp__DeploymentUnitFaultStruct(soap, tag, NULL, "cwmp:DeploymentUnitFaultStruct");
	case SOAP_TYPE_PointerToAccessList:
		return soap_in_PointerToAccessList(soap, tag, NULL, "cwmp:AccessListValueType");
	case SOAP_TYPE_cwmp__DeploymentUnitUUID:
	{	char **s;
		s = soap_in_cwmp__DeploymentUnitUUID(soap, tag, NULL, "cwmp:DeploymentUnitUUID");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__ParameterKeyType:
	{	char **s;
		s = soap_in_cwmp__ParameterKeyType(soap, tag, NULL, "cwmp:ParameterKeyType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__ObjectNameType:
	{	char **s;
		s = soap_in_cwmp__ObjectNameType(soap, tag, NULL, "cwmp:ObjectNameType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__CommandKeyType:
	{	char **s;
		s = soap_in_cwmp__CommandKeyType(soap, tag, NULL, "cwmp:CommandKeyType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__TimeWindowModeValueType:
	{	char **s;
		s = soap_in_cwmp__TimeWindowModeValueType(soap, tag, NULL, "cwmp:TimeWindowModeValueType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__EventCodeType:
	{	char **s;
		s = soap_in_cwmp__EventCodeType(soap, tag, NULL, "cwmp:EventCodeType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__UploadFileType:
	{	char **s;
		s = soap_in_cwmp__UploadFileType(soap, tag, NULL, "cwmp:UploadFileType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__DownloadFileType:
	{	char **s;
		s = soap_in_cwmp__DownloadFileType(soap, tag, NULL, "cwmp:DownloadFileType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__TransferFileType:
	{	char **s;
		s = soap_in_cwmp__TransferFileType(soap, tag, NULL, "cwmp:TransferFileType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_cwmp__DeploymentUnitOperationType:
	{	char **s;
		s = soap_in_cwmp__DeploymentUnitOperationType(soap, tag, NULL, "cwmp:DeploymentUnitOperationType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_xsd__anyURI:
	{	char **s;
		s = soap_in_xsd__anyURI(soap, tag, NULL, "xsd:anyURI");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_xsd__anySimpleType:
	{	char **s;
		s = soap_in_xsd__anySimpleType(soap, tag, NULL, "xsd:anySimpleType");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_PointerTounsignedByte:
		return soap_in_PointerTounsignedByte(soap, tag, NULL, "xsd:unsignedByte");
	case SOAP_TYPE__QName:
	{	char **s;
		s = soap_in__QName(soap, tag, NULL, "xsd:QName");
		return s ? *s : NULL;
	}
	case SOAP_TYPE_string:
	{	char **s;
		s = soap_in_string(soap, tag, 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, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "xsd:int"))
		{	*type = SOAP_TYPE_int;
			return soap_in_int(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "xsd:unsignedByte"))
		{	*type = SOAP_TYPE_unsignedByte;
			return soap_in_unsignedByte(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ACSVendorFaultCodeType"))
		{	*type = SOAP_TYPE_cwmp__ACSVendorFaultCodeType;
			return soap_in_cwmp__ACSVendorFaultCodeType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ACSFaultCodeType"))
		{	*type = SOAP_TYPE_cwmp__ACSFaultCodeType;
			return soap_in_cwmp__ACSFaultCodeType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:CPEVendorFaultCodeType"))
		{	*type = SOAP_TYPE_cwmp__CPEVendorFaultCodeType;
			return soap_in_cwmp__CPEVendorFaultCodeType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:CPEExtensionFaultCodeType"))
		{	*type = SOAP_TYPE_cwmp__CPEExtensionFaultCodeType;
			return soap_in_cwmp__CPEExtensionFaultCodeType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:CPEFaultCodeType"))
		{	*type = SOAP_TYPE_cwmp__CPEFaultCodeType;
			return soap_in_cwmp__CPEFaultCodeType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "xsd:unsignedInt"))
		{	*type = SOAP_TYPE_unsignedInt;
			return soap_in_unsignedInt(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "xsd:dateTime"))
		{	*type = SOAP_TYPE_dateTime;
			return soap_in_dateTime(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:UploadResponse-Status"))
		{	*type = SOAP_TYPE__cwmp__UploadResponse_Status;
			return soap_in__cwmp__UploadResponse_Status(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DownloadResponse-Status"))
		{	*type = SOAP_TYPE__cwmp__DownloadResponse_Status;
			return soap_in__cwmp__DownloadResponse_Status(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeleteObjectResponse-Status"))
		{	*type = SOAP_TYPE__cwmp__DeleteObjectResponse_Status;
			return soap_in__cwmp__DeleteObjectResponse_Status(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AddObjectResponse-Status"))
		{	*type = SOAP_TYPE__cwmp__AddObjectResponse_Status;
			return soap_in__cwmp__AddObjectResponse_Status(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetParameterValuesResponse-Status"))
		{	*type = SOAP_TYPE__cwmp__SetParameterValuesResponse_Status;
			return soap_in__cwmp__SetParameterValuesResponse_Status(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:OptionStruct-IsTransferable"))
		{	*type = SOAP_TYPE__cwmp__OptionStruct_IsTransferable;
			return soap_in__cwmp__OptionStruct_IsTransferable(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:OptionStruct-Mode"))
		{	*type = SOAP_TYPE__cwmp__OptionStruct_Mode;
			return soap_in__cwmp__OptionStruct_Mode(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:OptionStruct-State"))
		{	*type = SOAP_TYPE__cwmp__OptionStruct_State;
			return soap_in__cwmp__OptionStruct_State(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeploymentUnitCPEFaultCodeType"))
		{	*type = SOAP_TYPE_cwmp__DeploymentUnitCPEFaultCodeType;
			return soap_in_cwmp__DeploymentUnitCPEFaultCodeType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:TransferCompleteCPEFaultCodeType"))
		{	*type = SOAP_TYPE_cwmp__TransferCompleteCPEFaultCodeType;
			return soap_in_cwmp__TransferCompleteCPEFaultCodeType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DefaultDeploymentUnitOperationType"))
		{	*type = SOAP_TYPE_cwmp__DefaultDeploymentUnitOperationType;
			return soap_in_cwmp__DefaultDeploymentUnitOperationType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeploymentUnitState"))
		{	*type = SOAP_TYPE_cwmp__DeploymentUnitState;
			return soap_in_cwmp__DeploymentUnitState(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:TransferStateType"))
		{	*type = SOAP_TYPE_cwmp__TransferStateType;
			return soap_in_cwmp__TransferStateType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ParameterAttributeNotificationValueType"))
		{	*type = SOAP_TYPE_cwmp__ParameterAttributeNotificationValueType;
			return soap_in_cwmp__ParameterAttributeNotificationValueType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AccessListValueType"))
		{	*type = SOAP_TYPE_cwmp__AccessListValueType;
			return soap_in_cwmp__AccessListValueType(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "xsd:boolean"))
		{	*type = SOAP_TYPE_xsd__boolean;
			return soap_in_xsd__boolean(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:UninstallOpStruct"))
		{	*type = SOAP_TYPE_cwmp__UninstallOpStruct;
			return soap_in_cwmp__UninstallOpStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:UpdateOpStruct"))
		{	*type = SOAP_TYPE_cwmp__UpdateOpStruct;
			return soap_in_cwmp__UpdateOpStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:InstallOpStruct"))
		{	*type = SOAP_TYPE_cwmp__InstallOpStruct;
			return soap_in_cwmp__InstallOpStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AutonOpResultStruct"))
		{	*type = SOAP_TYPE_cwmp__AutonOpResultStruct;
			return soap_in_cwmp__AutonOpResultStruct(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:ArgStruct"))
		{	*type = SOAP_TYPE_FileTypeArg;
			return soap_in_FileTypeArg(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:EventStruct"))
		{	*type = SOAP_TYPE_EventList;
			return soap_in_EventList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:TimeWindowStruct"))
		{	*type = SOAP_TYPE_TimeWindowList;
			return soap_in_TimeWindowList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:AllQueuedTransferStruct"))
		{	*type = SOAP_TYPE_AllTransferList;
			return soap_in_AllTransferList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:OptionStruct"))
		{	*type = SOAP_TYPE_OptionList;
			return soap_in_OptionList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "SOAP-ENC:base64"))
		{	*type = SOAP_TYPE_VoucherList;
			return soap_in_VoucherList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:QueuedTransferStruct"))
		{	*type = SOAP_TYPE_TransferList;
			return soap_in_TransferList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:ParameterAttributeStruct"))
		{	*type = SOAP_TYPE_ParameterAttributeList;
			return soap_in_ParameterAttributeList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:SetParameterAttributesStruct"))
		{	*type = SOAP_TYPE_SetParameterAttributesList;
			return soap_in_SetParameterAttributesList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:ParameterInfoStruct"))
		{	*type = SOAP_TYPE_ParameterInfoList;
			return soap_in_ParameterInfoList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "xsd:string"))
		{	*type = SOAP_TYPE_ParameterNames;
			return soap_in_ParameterNames(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:ParameterValueStruct"))
		{	*type = SOAP_TYPE_ParameterValueList;
			return soap_in_ParameterValueList(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "xsd:string"))
		{	*type = SOAP_TYPE_MethodList;
			return soap_in_MethodList(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ArgStruct"))
		{	*type = SOAP_TYPE_cwmp__ArgStruct;
			return soap_in_cwmp__ArgStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:OptionStruct"))
		{	*type = SOAP_TYPE_cwmp__OptionStruct;
			return soap_in_cwmp__OptionStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:OpResultStruct"))
		{	*type = SOAP_TYPE_cwmp__OpResultStruct;
			return soap_in_cwmp__OpResultStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:OperationStruct"))
		{	*type = SOAP_TYPE_cwmp__OperationStruct;
			return soap_in_cwmp__OperationStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AllQueuedTransferStruct"))
		{	*type = SOAP_TYPE_cwmp__AllQueuedTransferStruct;
			return soap_in_cwmp__AllQueuedTransferStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:QueuedTransferStruct"))
		{	*type = SOAP_TYPE_cwmp__QueuedTransferStruct;
			return soap_in_cwmp__QueuedTransferStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:TimeWindowStruct"))
		{	*type = SOAP_TYPE_cwmp__TimeWindowStruct;
			return soap_in_cwmp__TimeWindowStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ParameterAttributeStruct"))
		{	*type = SOAP_TYPE_cwmp__ParameterAttributeStruct;
			return soap_in_cwmp__ParameterAttributeStruct(soap, tag, NULL, NULL);
		}
		if (*soap->arrayType && !soap_match_array(soap, "cwmp:AccessListValueType"))
		{	*type = SOAP_TYPE_AccessList;
			return soap_in_AccessList(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetParameterAttributesStruct"))
		{	*type = SOAP_TYPE_cwmp__SetParameterAttributesStruct;
			return soap_in_cwmp__SetParameterAttributesStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ParameterInfoStruct"))
		{	*type = SOAP_TYPE_cwmp__ParameterInfoStruct;
			return soap_in_cwmp__ParameterInfoStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:EventStruct"))
		{	*type = SOAP_TYPE_cwmp__EventStruct;
			return soap_in_cwmp__EventStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeviceIdStruct"))
		{	*type = SOAP_TYPE_cwmp__DeviceIdStruct;
			return soap_in_cwmp__DeviceIdStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ParameterValueStruct"))
		{	*type = SOAP_TYPE_cwmp__ParameterValueStruct;
			return soap_in_cwmp__ParameterValueStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeploymentUnitFaultStruct"))
		{	*type = SOAP_TYPE_cwmp__DeploymentUnitFaultStruct;
			return soap_in_cwmp__DeploymentUnitFaultStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:TransferCompleteFaultStruct"))
		{	*type = SOAP_TYPE_cwmp__TransferCompleteFaultStruct;
			return soap_in_cwmp__TransferCompleteFaultStruct(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "SOAP-ENC:base64"))
		{	*type = SOAP_TYPE_SOAP_ENC__base64;
			return soap_in_SOAP_ENC__base64(soap, tag, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeploymentUnitUUID"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__DeploymentUnitUUID;
			s = soap_in_cwmp__DeploymentUnitUUID(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:ParameterKeyType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__ParameterKeyType;
			s = soap_in_cwmp__ParameterKeyType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:ObjectNameType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__ObjectNameType;
			s = soap_in_cwmp__ObjectNameType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:CommandKeyType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__CommandKeyType;
			s = soap_in_cwmp__CommandKeyType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:TimeWindowModeValueType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__TimeWindowModeValueType;
			s = soap_in_cwmp__TimeWindowModeValueType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:EventCodeType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__EventCodeType;
			s = soap_in_cwmp__EventCodeType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:UploadFileType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__UploadFileType;
			s = soap_in_cwmp__UploadFileType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:DownloadFileType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__DownloadFileType;
			s = soap_in_cwmp__DownloadFileType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:TransferFileType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__TransferFileType;
			s = soap_in_cwmp__TransferFileType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "cwmp:DeploymentUnitOperationType"))
		{	char **s;
			*type = SOAP_TYPE_cwmp__DeploymentUnitOperationType;
			s = soap_in_cwmp__DeploymentUnitOperationType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "xsd:anyURI"))
		{	char **s;
			*type = SOAP_TYPE_xsd__anyURI;
			s = soap_in_xsd__anyURI(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "xsd:anySimpleType"))
		{	char **s;
			*type = SOAP_TYPE_xsd__anySimpleType;
			s = soap_in_xsd__anySimpleType(soap, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		if (!soap_match_tag(soap, t, "xsd:QName"))
		{	char **s;
			*type = SOAP_TYPE__QName;
			s = soap_in__QName(soap, tag, 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, tag, NULL, NULL);
			return s ? *s : NULL;
		}
		t = soap->tag;
		if (!soap_match_tag(soap, t, "cwmp:HoldRequests"))
		{	*type = SOAP_TYPE__cwmp__HoldRequests;
			return soap_in__cwmp__HoldRequests(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ID"))
		{	*type = SOAP_TYPE__cwmp__ID;
			return soap_in__cwmp__ID(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SessionTimeout"))
		{	*type = SOAP_TYPE__cwmp__SessionTimeout;
			return soap_in__cwmp__SessionTimeout(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:UseCWMPVersion"))
		{	*type = SOAP_TYPE__cwmp__UseCWMPVersion;
			return soap_in__cwmp__UseCWMPVersion(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SupportedCWMPVersions"))
		{	*type = SOAP_TYPE__cwmp__SupportedCWMPVersions;
			return soap_in__cwmp__SupportedCWMPVersions(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AutonomousDUStateChangeCompleteResponse"))
		{	*type = SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse;
			return soap_in__cwmp__AutonomousDUStateChangeCompleteResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AutonomousDUStateChangeComplete"))
		{	*type = SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete;
			return soap_in__cwmp__AutonomousDUStateChangeComplete(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DUStateChangeCompleteResponse"))
		{	*type = SOAP_TYPE__cwmp__DUStateChangeCompleteResponse;
			return soap_in__cwmp__DUStateChangeCompleteResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DUStateChangeComplete"))
		{	*type = SOAP_TYPE__cwmp__DUStateChangeComplete;
			return soap_in__cwmp__DUStateChangeComplete(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:RequestDownloadResponse"))
		{	*type = SOAP_TYPE__cwmp__RequestDownloadResponse;
			return soap_in__cwmp__RequestDownloadResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:RequestDownload"))
		{	*type = SOAP_TYPE__cwmp__RequestDownload;
			return soap_in__cwmp__RequestDownload(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:KickedResponse"))
		{	*type = SOAP_TYPE__cwmp__KickedResponse;
			return soap_in__cwmp__KickedResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:Kicked"))
		{	*type = SOAP_TYPE__cwmp__Kicked;
			return soap_in__cwmp__Kicked(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AutonomousTransferCompleteResponse"))
		{	*type = SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse;
			return soap_in__cwmp__AutonomousTransferCompleteResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AutonomousTransferComplete"))
		{	*type = SOAP_TYPE__cwmp__AutonomousTransferComplete;
			return soap_in__cwmp__AutonomousTransferComplete(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:TransferCompleteResponse"))
		{	*type = SOAP_TYPE__cwmp__TransferCompleteResponse;
			return soap_in__cwmp__TransferCompleteResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:TransferComplete"))
		{	*type = SOAP_TYPE__cwmp__TransferComplete;
			return soap_in__cwmp__TransferComplete(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:InformResponse"))
		{	*type = SOAP_TYPE__cwmp__InformResponse;
			return soap_in__cwmp__InformResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:Inform"))
		{	*type = SOAP_TYPE__cwmp__Inform;
			return soap_in__cwmp__Inform(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ChangeDUStateResponse"))
		{	*type = SOAP_TYPE__cwmp__ChangeDUStateResponse;
			return soap_in__cwmp__ChangeDUStateResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ChangeDUState"))
		{	*type = SOAP_TYPE__cwmp__ChangeDUState;
			return soap_in__cwmp__ChangeDUState(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:CancelTransferResponse"))
		{	*type = SOAP_TYPE__cwmp__CancelTransferResponse;
			return soap_in__cwmp__CancelTransferResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:CancelTransfer"))
		{	*type = SOAP_TYPE__cwmp__CancelTransfer;
			return soap_in__cwmp__CancelTransfer(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ScheduleDownloadResponse"))
		{	*type = SOAP_TYPE__cwmp__ScheduleDownloadResponse;
			return soap_in__cwmp__ScheduleDownloadResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ScheduleDownload"))
		{	*type = SOAP_TYPE__cwmp__ScheduleDownload;
			return soap_in__cwmp__ScheduleDownload(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetAllQueuedTransfersResponse"))
		{	*type = SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse;
			return soap_in__cwmp__GetAllQueuedTransfersResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetAllQueuedTransfers"))
		{	*type = SOAP_TYPE__cwmp__GetAllQueuedTransfers;
			return soap_in__cwmp__GetAllQueuedTransfers(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:FactoryResetResponse"))
		{	*type = SOAP_TYPE__cwmp__FactoryResetResponse;
			return soap_in__cwmp__FactoryResetResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:FactoryReset"))
		{	*type = SOAP_TYPE__cwmp__FactoryReset;
			return soap_in__cwmp__FactoryReset(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:UploadResponse"))
		{	*type = SOAP_TYPE__cwmp__UploadResponse;
			return soap_in__cwmp__UploadResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:Upload"))
		{	*type = SOAP_TYPE__cwmp__Upload;
			return soap_in__cwmp__Upload(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetOptionsResponse"))
		{	*type = SOAP_TYPE__cwmp__GetOptionsResponse;
			return soap_in__cwmp__GetOptionsResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetOptions"))
		{	*type = SOAP_TYPE__cwmp__GetOptions;
			return soap_in__cwmp__GetOptions(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetVouchersResponse"))
		{	*type = SOAP_TYPE__cwmp__SetVouchersResponse;
			return soap_in__cwmp__SetVouchersResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetVouchers"))
		{	*type = SOAP_TYPE__cwmp__SetVouchers;
			return soap_in__cwmp__SetVouchers(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ScheduleInformResponse"))
		{	*type = SOAP_TYPE__cwmp__ScheduleInformResponse;
			return soap_in__cwmp__ScheduleInformResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:ScheduleInform"))
		{	*type = SOAP_TYPE__cwmp__ScheduleInform;
			return soap_in__cwmp__ScheduleInform(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetQueuedTransfersResponse"))
		{	*type = SOAP_TYPE__cwmp__GetQueuedTransfersResponse;
			return soap_in__cwmp__GetQueuedTransfersResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetQueuedTransfers"))
		{	*type = SOAP_TYPE__cwmp__GetQueuedTransfers;
			return soap_in__cwmp__GetQueuedTransfers(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:RebootResponse"))
		{	*type = SOAP_TYPE__cwmp__RebootResponse;
			return soap_in__cwmp__RebootResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:Reboot"))
		{	*type = SOAP_TYPE__cwmp__Reboot;
			return soap_in__cwmp__Reboot(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DownloadResponse"))
		{	*type = SOAP_TYPE__cwmp__DownloadResponse;
			return soap_in__cwmp__DownloadResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:Download"))
		{	*type = SOAP_TYPE__cwmp__Download;
			return soap_in__cwmp__Download(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeleteObjectResponse"))
		{	*type = SOAP_TYPE__cwmp__DeleteObjectResponse;
			return soap_in__cwmp__DeleteObjectResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:DeleteObject"))
		{	*type = SOAP_TYPE__cwmp__DeleteObject;
			return soap_in__cwmp__DeleteObject(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AddObjectResponse"))
		{	*type = SOAP_TYPE__cwmp__AddObjectResponse;
			return soap_in__cwmp__AddObjectResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:AddObject"))
		{	*type = SOAP_TYPE__cwmp__AddObject;
			return soap_in__cwmp__AddObject(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetParameterAttributesResponse"))
		{	*type = SOAP_TYPE__cwmp__GetParameterAttributesResponse;
			return soap_in__cwmp__GetParameterAttributesResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetParameterAttributes"))
		{	*type = SOAP_TYPE__cwmp__GetParameterAttributes;
			return soap_in__cwmp__GetParameterAttributes(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetParameterAttributesResponse"))
		{	*type = SOAP_TYPE__cwmp__SetParameterAttributesResponse;
			return soap_in__cwmp__SetParameterAttributesResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetParameterAttributes"))
		{	*type = SOAP_TYPE__cwmp__SetParameterAttributes;
			return soap_in__cwmp__SetParameterAttributes(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetParameterNamesResponse"))
		{	*type = SOAP_TYPE__cwmp__GetParameterNamesResponse;
			return soap_in__cwmp__GetParameterNamesResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetParameterNames"))
		{	*type = SOAP_TYPE__cwmp__GetParameterNames;
			return soap_in__cwmp__GetParameterNames(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetParameterValuesResponse"))
		{	*type = SOAP_TYPE__cwmp__GetParameterValuesResponse;
			return soap_in__cwmp__GetParameterValuesResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetParameterValues"))
		{	*type = SOAP_TYPE__cwmp__GetParameterValues;
			return soap_in__cwmp__GetParameterValues(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetParameterValuesResponse"))
		{	*type = SOAP_TYPE__cwmp__SetParameterValuesResponse;
			return soap_in__cwmp__SetParameterValuesResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:SetParameterValues"))
		{	*type = SOAP_TYPE__cwmp__SetParameterValues;
			return soap_in__cwmp__SetParameterValues(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetRPCMethodsResponse"))
		{	*type = SOAP_TYPE__cwmp__GetRPCMethodsResponse;
			return soap_in__cwmp__GetRPCMethodsResponse(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:GetRPCMethods"))
		{	*type = SOAP_TYPE__cwmp__GetRPCMethods;
			return soap_in__cwmp__GetRPCMethods(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:Fault-SetParameterValuesFault"))
		{	*type = SOAP_TYPE__cwmp__Fault_SetParameterValuesFault;
			return soap_in__cwmp__Fault_SetParameterValuesFault(soap, NULL, NULL, NULL);
		}
		if (!soap_match_tag(soap, t, "cwmp:Fault"))
		{	*type = SOAP_TYPE__cwmp__Fault;
			return soap_in__cwmp__Fault(soap, NULL, NULL, NULL);
		}
#ifndef WITH_NOIDREF
	}
#endif
	}
	soap->error = SOAP_TAG_MISMATCH;
	return NULL;
}

#ifdef __cplusplus
}
#endif

SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
{
	if (!soap_peek_element(soap))
	{	int t;
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input (level = %u, %d)\n", soap->tag, soap->level, soap->body));
		if (soap->mustUnderstand && !soap->other && !soap->fignore)
			return soap->error = SOAP_MUSTUNDERSTAND;
		if (((soap->mode & SOAP_XML_STRICT) && !soap->fignore && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
		{	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
			return soap->error = SOAP_TAG_MISMATCH;
		}
		if (!*soap->id || !soap_getelement(soap, NULL, &t))
		{	soap->peeked = 0;
			if (soap->fignore)
				soap->error = soap->fignore(soap, soap->tag);
			else
				soap->error = SOAP_OK;
			DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
			if (!soap->error && soap->body && soap_ignore(soap))
				return soap->error;
		}
	}
	return soap->error;
}

#ifndef WITH_NOIDREF
SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap *soap)
{
	int i;
	struct soap_plist *pp;
	if (soap->version == 1 && soap->encodingStyle && !(soap->mode & (SOAP_XML_TREE | SOAP_XML_GRAPH)))
		for (i = 0; i < SOAP_PTRHASH; i++)
			for (pp = soap->pht[i]; pp; pp = pp->next)
				if (pp->mark1 == 2 || pp->mark2 == 2)
					if (soap_putelement(soap, pp->ptr, SOAP_MULTIREFTAG, pp->id, pp->type))
						return soap->error;
	return SOAP_OK;
}
#endif

#ifdef __cplusplus
extern "C" {
#endif
SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)
{	(void)tag;
	switch (type)
	{
	case SOAP_TYPE_byte:
		return soap_out_byte(soap, tag, id, (const char *)ptr, "xsd:byte");
	case SOAP_TYPE_int:
		return soap_out_int(soap, tag, id, (const int *)ptr, "xsd:int");
	case SOAP_TYPE_unsignedByte:
		return soap_out_unsignedByte(soap, tag, id, (const unsigned char *)ptr, "xsd:unsignedByte");
	case SOAP_TYPE_cwmp__ACSVendorFaultCodeType:
		return soap_out_cwmp__ACSVendorFaultCodeType(soap, tag, id, (const unsigned int *)ptr, "cwmp:ACSVendorFaultCodeType");
	case SOAP_TYPE_cwmp__ACSFaultCodeType:
		return soap_out_cwmp__ACSFaultCodeType(soap, tag, id, (const unsigned int *)ptr, "cwmp:ACSFaultCodeType");
	case SOAP_TYPE_cwmp__CPEVendorFaultCodeType:
		return soap_out_cwmp__CPEVendorFaultCodeType(soap, tag, id, (const unsigned int *)ptr, "cwmp:CPEVendorFaultCodeType");
	case SOAP_TYPE_cwmp__CPEExtensionFaultCodeType:
		return soap_out_cwmp__CPEExtensionFaultCodeType(soap, tag, id, (const unsigned int *)ptr, "cwmp:CPEExtensionFaultCodeType");
	case SOAP_TYPE_cwmp__CPEFaultCodeType:
		return soap_out_cwmp__CPEFaultCodeType(soap, tag, id, (const unsigned int *)ptr, "cwmp:CPEFaultCodeType");
	case SOAP_TYPE_unsignedInt:
		return soap_out_unsignedInt(soap, tag, id, (const unsigned int *)ptr, "xsd:unsignedInt");
	case SOAP_TYPE_dateTime:
		return soap_out_dateTime(soap, tag, id, (const time_t *)ptr, "xsd:dateTime");
	case SOAP_TYPE__cwmp__UploadResponse_Status:
		return soap_out__cwmp__UploadResponse_Status(soap, tag, id, (const enum _cwmp__UploadResponse_Status *)ptr, "cwmp:UploadResponse-Status");
	case SOAP_TYPE__cwmp__DownloadResponse_Status:
		return soap_out__cwmp__DownloadResponse_Status(soap, tag, id, (const enum _cwmp__DownloadResponse_Status *)ptr, "cwmp:DownloadResponse-Status");
	case SOAP_TYPE__cwmp__DeleteObjectResponse_Status:
		return soap_out__cwmp__DeleteObjectResponse_Status(soap, tag, id, (const enum _cwmp__DeleteObjectResponse_Status *)ptr, "cwmp:DeleteObjectResponse-Status");
	case SOAP_TYPE__cwmp__AddObjectResponse_Status:
		return soap_out__cwmp__AddObjectResponse_Status(soap, tag, id, (const enum _cwmp__AddObjectResponse_Status *)ptr, "cwmp:AddObjectResponse-Status");
	case SOAP_TYPE__cwmp__SetParameterValuesResponse_Status:
		return soap_out__cwmp__SetParameterValuesResponse_Status(soap, tag, id, (const enum _cwmp__SetParameterValuesResponse_Status *)ptr, "cwmp:SetParameterValuesResponse-Status");
	case SOAP_TYPE__cwmp__OptionStruct_IsTransferable:
		return soap_out__cwmp__OptionStruct_IsTransferable(soap, tag, id, (const enum _cwmp__OptionStruct_IsTransferable *)ptr, "cwmp:OptionStruct-IsTransferable");
	case SOAP_TYPE__cwmp__OptionStruct_Mode:
		return soap_out__cwmp__OptionStruct_Mode(soap, tag, id, (const enum _cwmp__OptionStruct_Mode *)ptr, "cwmp:OptionStruct-Mode");
	case SOAP_TYPE__cwmp__OptionStruct_State:
		return soap_out__cwmp__OptionStruct_State(soap, tag, id, (const enum _cwmp__OptionStruct_State *)ptr, "cwmp:OptionStruct-State");
	case SOAP_TYPE_cwmp__DeploymentUnitCPEFaultCodeType:
		return soap_out_cwmp__DeploymentUnitCPEFaultCodeType(soap, tag, id, (const enum cwmp__DeploymentUnitCPEFaultCodeType *)ptr, "cwmp:DeploymentUnitCPEFaultCodeType");
	case SOAP_TYPE_cwmp__TransferCompleteCPEFaultCodeType:
		return soap_out_cwmp__TransferCompleteCPEFaultCodeType(soap, tag, id, (const enum cwmp__TransferCompleteCPEFaultCodeType *)ptr, "cwmp:TransferCompleteCPEFaultCodeType");
	case SOAP_TYPE_cwmp__DefaultDeploymentUnitOperationType:
		return soap_out_cwmp__DefaultDeploymentUnitOperationType(soap, tag, id, (const enum cwmp__DefaultDeploymentUnitOperationType *)ptr, "cwmp:DefaultDeploymentUnitOperationType");
	case SOAP_TYPE_cwmp__DeploymentUnitState:
		return soap_out_cwmp__DeploymentUnitState(soap, tag, id, (const enum cwmp__DeploymentUnitState *)ptr, "cwmp:DeploymentUnitState");
	case SOAP_TYPE_cwmp__TransferStateType:
		return soap_out_cwmp__TransferStateType(soap, tag, id, (const enum cwmp__TransferStateType *)ptr, "cwmp:TransferStateType");
	case SOAP_TYPE_cwmp__ParameterAttributeNotificationValueType:
		return soap_out_cwmp__ParameterAttributeNotificationValueType(soap, tag, id, (const enum cwmp__ParameterAttributeNotificationValueType *)ptr, "cwmp:ParameterAttributeNotificationValueType");
	case SOAP_TYPE_cwmp__AccessListValueType:
		return soap_out_cwmp__AccessListValueType(soap, tag, id, (const enum cwmp__AccessListValueType *)ptr, "cwmp:AccessListValueType");
	case SOAP_TYPE_xsd__boolean:
		return soap_out_xsd__boolean(soap, tag, id, (const enum xsd__boolean *)ptr, "xsd:boolean");
	case SOAP_TYPE__cwmp__HoldRequests:
		return soap_out__cwmp__HoldRequests(soap, "cwmp:HoldRequests", id, (const struct _cwmp__HoldRequests *)ptr, "");
	case SOAP_TYPE__cwmp__ID:
		return soap_out__cwmp__ID(soap, "cwmp:ID", id, (const struct _cwmp__ID *)ptr, "");
	case SOAP_TYPE__cwmp__SessionTimeout:
		return soap_out__cwmp__SessionTimeout(soap, "cwmp:SessionTimeout", id, (const struct _cwmp__SessionTimeout *)ptr, "");
	case SOAP_TYPE__cwmp__UseCWMPVersion:
		return soap_out__cwmp__UseCWMPVersion(soap, "cwmp:UseCWMPVersion", id, (const struct _cwmp__UseCWMPVersion *)ptr, "");
	case SOAP_TYPE__cwmp__SupportedCWMPVersions:
		return soap_out__cwmp__SupportedCWMPVersions(soap, "cwmp:SupportedCWMPVersions", id, (const struct _cwmp__SupportedCWMPVersions *)ptr, "");
	case SOAP_TYPE_cwmp__UninstallOpStruct:
		return soap_out_cwmp__UninstallOpStruct(soap, tag, id, (const struct cwmp__UninstallOpStruct *)ptr, "cwmp:UninstallOpStruct");
	case SOAP_TYPE_cwmp__UpdateOpStruct:
		return soap_out_cwmp__UpdateOpStruct(soap, tag, id, (const struct cwmp__UpdateOpStruct *)ptr, "cwmp:UpdateOpStruct");
	case SOAP_TYPE_cwmp__InstallOpStruct:
		return soap_out_cwmp__InstallOpStruct(soap, tag, id, (const struct cwmp__InstallOpStruct *)ptr, "cwmp:InstallOpStruct");
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse:
		return soap_out__cwmp__AutonomousDUStateChangeCompleteResponse(soap, "cwmp:AutonomousDUStateChangeCompleteResponse", id, (const struct _cwmp__AutonomousDUStateChangeCompleteResponse *)ptr, "");
	case SOAP_TYPE_cwmp__AutonOpResultStruct:
		return soap_out_cwmp__AutonOpResultStruct(soap, tag, id, (const struct cwmp__AutonOpResultStruct *)ptr, "cwmp:AutonOpResultStruct");
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete:
		return soap_out__cwmp__AutonomousDUStateChangeComplete(soap, "cwmp:AutonomousDUStateChangeComplete", id, (const struct _cwmp__AutonomousDUStateChangeComplete *)ptr, "");
	case SOAP_TYPE__cwmp__DUStateChangeCompleteResponse:
		return soap_out__cwmp__DUStateChangeCompleteResponse(soap, "cwmp:DUStateChangeCompleteResponse", id, (const struct _cwmp__DUStateChangeCompleteResponse *)ptr, "");
	case SOAP_TYPE__cwmp__DUStateChangeComplete:
		return soap_out__cwmp__DUStateChangeComplete(soap, "cwmp:DUStateChangeComplete", id, (const struct _cwmp__DUStateChangeComplete *)ptr, "");
	case SOAP_TYPE__cwmp__RequestDownloadResponse:
		return soap_out__cwmp__RequestDownloadResponse(soap, "cwmp:RequestDownloadResponse", id, (const struct _cwmp__RequestDownloadResponse *)ptr, "");
	case SOAP_TYPE_FileTypeArg:
		return soap_out_FileTypeArg(soap, tag, id, (const struct FileTypeArg *)ptr, "cwmp:ArgStruct");
	case SOAP_TYPE__cwmp__RequestDownload:
		return soap_out__cwmp__RequestDownload(soap, "cwmp:RequestDownload", id, (const struct _cwmp__RequestDownload *)ptr, "");
	case SOAP_TYPE__cwmp__KickedResponse:
		return soap_out__cwmp__KickedResponse(soap, "cwmp:KickedResponse", id, (const struct _cwmp__KickedResponse *)ptr, "");
	case SOAP_TYPE__cwmp__Kicked:
		return soap_out__cwmp__Kicked(soap, "cwmp:Kicked", id, (const struct _cwmp__Kicked *)ptr, "");
	case SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse:
		return soap_out__cwmp__AutonomousTransferCompleteResponse(soap, "cwmp:AutonomousTransferCompleteResponse", id, (const struct _cwmp__AutonomousTransferCompleteResponse *)ptr, "");
	case SOAP_TYPE__cwmp__AutonomousTransferComplete:
		return soap_out__cwmp__AutonomousTransferComplete(soap, "cwmp:AutonomousTransferComplete", id, (const struct _cwmp__AutonomousTransferComplete *)ptr, "");
	case SOAP_TYPE__cwmp__TransferCompleteResponse:
		return soap_out__cwmp__TransferCompleteResponse(soap, "cwmp:TransferCompleteResponse", id, (const struct _cwmp__TransferCompleteResponse *)ptr, "");
	case SOAP_TYPE__cwmp__TransferComplete:
		return soap_out__cwmp__TransferComplete(soap, "cwmp:TransferComplete", id, (const struct _cwmp__TransferComplete *)ptr, "");
	case SOAP_TYPE__cwmp__InformResponse:
		return soap_out__cwmp__InformResponse(soap, "cwmp:InformResponse", id, (const struct _cwmp__InformResponse *)ptr, "");
	case SOAP_TYPE_EventList:
		return soap_out_EventList(soap, tag, id, (const struct EventList *)ptr, "cwmp:EventStruct");
	case SOAP_TYPE__cwmp__Inform:
		return soap_out__cwmp__Inform(soap, "cwmp:Inform", id, (const struct _cwmp__Inform *)ptr, "");
	case SOAP_TYPE__cwmp__ChangeDUStateResponse:
		return soap_out__cwmp__ChangeDUStateResponse(soap, "cwmp:ChangeDUStateResponse", id, (const struct _cwmp__ChangeDUStateResponse *)ptr, "");
	case SOAP_TYPE__cwmp__ChangeDUState:
		return soap_out__cwmp__ChangeDUState(soap, "cwmp:ChangeDUState", id, (const struct _cwmp__ChangeDUState *)ptr, "");
	case SOAP_TYPE__cwmp__CancelTransferResponse:
		return soap_out__cwmp__CancelTransferResponse(soap, "cwmp:CancelTransferResponse", id, (const struct _cwmp__CancelTransferResponse *)ptr, "");
	case SOAP_TYPE__cwmp__CancelTransfer:
		return soap_out__cwmp__CancelTransfer(soap, "cwmp:CancelTransfer", id, (const struct _cwmp__CancelTransfer *)ptr, "");
	case SOAP_TYPE__cwmp__ScheduleDownloadResponse:
		return soap_out__cwmp__ScheduleDownloadResponse(soap, "cwmp:ScheduleDownloadResponse", id, (const struct _cwmp__ScheduleDownloadResponse *)ptr, "");
	case SOAP_TYPE_TimeWindowList:
		return soap_out_TimeWindowList(soap, tag, id, (const struct TimeWindowList *)ptr, "cwmp:TimeWindowStruct");
	case SOAP_TYPE__cwmp__ScheduleDownload:
		return soap_out__cwmp__ScheduleDownload(soap, "cwmp:ScheduleDownload", id, (const struct _cwmp__ScheduleDownload *)ptr, "");
	case SOAP_TYPE_AllTransferList:
		return soap_out_AllTransferList(soap, tag, id, (const struct AllTransferList *)ptr, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse:
		return soap_out__cwmp__GetAllQueuedTransfersResponse(soap, "cwmp:GetAllQueuedTransfersResponse", id, (const struct _cwmp__GetAllQueuedTransfersResponse *)ptr, "");
	case SOAP_TYPE__cwmp__GetAllQueuedTransfers:
		return soap_out__cwmp__GetAllQueuedTransfers(soap, "cwmp:GetAllQueuedTransfers", id, (const struct _cwmp__GetAllQueuedTransfers *)ptr, "");
	case SOAP_TYPE__cwmp__FactoryResetResponse:
		return soap_out__cwmp__FactoryResetResponse(soap, "cwmp:FactoryResetResponse", id, (const struct _cwmp__FactoryResetResponse *)ptr, "");
	case SOAP_TYPE__cwmp__FactoryReset:
		return soap_out__cwmp__FactoryReset(soap, "cwmp:FactoryReset", id, (const struct _cwmp__FactoryReset *)ptr, "");
	case SOAP_TYPE__cwmp__UploadResponse:
		return soap_out__cwmp__UploadResponse(soap, "cwmp:UploadResponse", id, (const struct _cwmp__UploadResponse *)ptr, "");
	case SOAP_TYPE__cwmp__Upload:
		return soap_out__cwmp__Upload(soap, "cwmp:Upload", id, (const struct _cwmp__Upload *)ptr, "");
	case SOAP_TYPE_OptionList:
		return soap_out_OptionList(soap, tag, id, (const struct OptionList *)ptr, "cwmp:OptionStruct");
	case SOAP_TYPE__cwmp__GetOptionsResponse:
		return soap_out__cwmp__GetOptionsResponse(soap, "cwmp:GetOptionsResponse", id, (const struct _cwmp__GetOptionsResponse *)ptr, "");
	case SOAP_TYPE__cwmp__GetOptions:
		return soap_out__cwmp__GetOptions(soap, "cwmp:GetOptions", id, (const struct _cwmp__GetOptions *)ptr, "");
	case SOAP_TYPE__cwmp__SetVouchersResponse:
		return soap_out__cwmp__SetVouchersResponse(soap, "cwmp:SetVouchersResponse", id, (const struct _cwmp__SetVouchersResponse *)ptr, "");
	case SOAP_TYPE_VoucherList:
		return soap_out_VoucherList(soap, tag, id, (const struct VoucherList *)ptr, "SOAP-ENC:base64");
	case SOAP_TYPE__cwmp__SetVouchers:
		return soap_out__cwmp__SetVouchers(soap, "cwmp:SetVouchers", id, (const struct _cwmp__SetVouchers *)ptr, "");
	case SOAP_TYPE__cwmp__ScheduleInformResponse:
		return soap_out__cwmp__ScheduleInformResponse(soap, "cwmp:ScheduleInformResponse", id, (const struct _cwmp__ScheduleInformResponse *)ptr, "");
	case SOAP_TYPE__cwmp__ScheduleInform:
		return soap_out__cwmp__ScheduleInform(soap, "cwmp:ScheduleInform", id, (const struct _cwmp__ScheduleInform *)ptr, "");
	case SOAP_TYPE_TransferList:
		return soap_out_TransferList(soap, tag, id, (const struct TransferList *)ptr, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE__cwmp__GetQueuedTransfersResponse:
		return soap_out__cwmp__GetQueuedTransfersResponse(soap, "cwmp:GetQueuedTransfersResponse", id, (const struct _cwmp__GetQueuedTransfersResponse *)ptr, "");
	case SOAP_TYPE__cwmp__GetQueuedTransfers:
		return soap_out__cwmp__GetQueuedTransfers(soap, "cwmp:GetQueuedTransfers", id, (const struct _cwmp__GetQueuedTransfers *)ptr, "");
	case SOAP_TYPE__cwmp__RebootResponse:
		return soap_out__cwmp__RebootResponse(soap, "cwmp:RebootResponse", id, (const struct _cwmp__RebootResponse *)ptr, "");
	case SOAP_TYPE__cwmp__Reboot:
		return soap_out__cwmp__Reboot(soap, "cwmp:Reboot", id, (const struct _cwmp__Reboot *)ptr, "");
	case SOAP_TYPE__cwmp__DownloadResponse:
		return soap_out__cwmp__DownloadResponse(soap, "cwmp:DownloadResponse", id, (const struct _cwmp__DownloadResponse *)ptr, "");
	case SOAP_TYPE__cwmp__Download:
		return soap_out__cwmp__Download(soap, "cwmp:Download", id, (const struct _cwmp__Download *)ptr, "");
	case SOAP_TYPE__cwmp__DeleteObjectResponse:
		return soap_out__cwmp__DeleteObjectResponse(soap, "cwmp:DeleteObjectResponse", id, (const struct _cwmp__DeleteObjectResponse *)ptr, "");
	case SOAP_TYPE__cwmp__DeleteObject:
		return soap_out__cwmp__DeleteObject(soap, "cwmp:DeleteObject", id, (const struct _cwmp__DeleteObject *)ptr, "");
	case SOAP_TYPE__cwmp__AddObjectResponse:
		return soap_out__cwmp__AddObjectResponse(soap, "cwmp:AddObjectResponse", id, (const struct _cwmp__AddObjectResponse *)ptr, "");
	case SOAP_TYPE__cwmp__AddObject:
		return soap_out__cwmp__AddObject(soap, "cwmp:AddObject", id, (const struct _cwmp__AddObject *)ptr, "");
	case SOAP_TYPE_ParameterAttributeList:
		return soap_out_ParameterAttributeList(soap, tag, id, (const struct ParameterAttributeList *)ptr, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE__cwmp__GetParameterAttributesResponse:
		return soap_out__cwmp__GetParameterAttributesResponse(soap, "cwmp:GetParameterAttributesResponse", id, (const struct _cwmp__GetParameterAttributesResponse *)ptr, "");
	case SOAP_TYPE__cwmp__GetParameterAttributes:
		return soap_out__cwmp__GetParameterAttributes(soap, "cwmp:GetParameterAttributes", id, (const struct _cwmp__GetParameterAttributes *)ptr, "");
	case SOAP_TYPE__cwmp__SetParameterAttributesResponse:
		return soap_out__cwmp__SetParameterAttributesResponse(soap, "cwmp:SetParameterAttributesResponse", id, (const struct _cwmp__SetParameterAttributesResponse *)ptr, "");
	case SOAP_TYPE_SetParameterAttributesList:
		return soap_out_SetParameterAttributesList(soap, tag, id, (const struct SetParameterAttributesList *)ptr, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE__cwmp__SetParameterAttributes:
		return soap_out__cwmp__SetParameterAttributes(soap, "cwmp:SetParameterAttributes", id, (const struct _cwmp__SetParameterAttributes *)ptr, "");
	case SOAP_TYPE_ParameterInfoList:
		return soap_out_ParameterInfoList(soap, tag, id, (const struct ParameterInfoList *)ptr, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE__cwmp__GetParameterNamesResponse:
		return soap_out__cwmp__GetParameterNamesResponse(soap, "cwmp:GetParameterNamesResponse", id, (const struct _cwmp__GetParameterNamesResponse *)ptr, "");
	case SOAP_TYPE__cwmp__GetParameterNames:
		return soap_out__cwmp__GetParameterNames(soap, "cwmp:GetParameterNames", id, (const struct _cwmp__GetParameterNames *)ptr, "");
	case SOAP_TYPE__cwmp__GetParameterValuesResponse:
		return soap_out__cwmp__GetParameterValuesResponse(soap, "cwmp:GetParameterValuesResponse", id, (const struct _cwmp__GetParameterValuesResponse *)ptr, "");
	case SOAP_TYPE_ParameterNames:
		return soap_out_ParameterNames(soap, tag, id, (const struct ParameterNames *)ptr, "xsd:string");
	case SOAP_TYPE__cwmp__GetParameterValues:
		return soap_out__cwmp__GetParameterValues(soap, "cwmp:GetParameterValues", id, (const struct _cwmp__GetParameterValues *)ptr, "");
	case SOAP_TYPE__cwmp__SetParameterValuesResponse:
		return soap_out__cwmp__SetParameterValuesResponse(soap, "cwmp:SetParameterValuesResponse", id, (const struct _cwmp__SetParameterValuesResponse *)ptr, "");
	case SOAP_TYPE_ParameterValueList:
		return soap_out_ParameterValueList(soap, tag, id, (const struct ParameterValueList *)ptr, "cwmp:ParameterValueStruct");
	case SOAP_TYPE__cwmp__SetParameterValues:
		return soap_out__cwmp__SetParameterValues(soap, "cwmp:SetParameterValues", id, (const struct _cwmp__SetParameterValues *)ptr, "");
	case SOAP_TYPE_MethodList:
		return soap_out_MethodList(soap, tag, id, (const struct MethodList *)ptr, "xsd:string");
	case SOAP_TYPE__cwmp__GetRPCMethodsResponse:
		return soap_out__cwmp__GetRPCMethodsResponse(soap, "cwmp:GetRPCMethodsResponse", id, (const struct _cwmp__GetRPCMethodsResponse *)ptr, "");
	case SOAP_TYPE__cwmp__GetRPCMethods:
		return soap_out__cwmp__GetRPCMethods(soap, "cwmp:GetRPCMethods", id, (const struct _cwmp__GetRPCMethods *)ptr, "");
	case SOAP_TYPE__cwmp__Fault_SetParameterValuesFault:
		return soap_out__cwmp__Fault_SetParameterValuesFault(soap, "cwmp:Fault-SetParameterValuesFault", id, (const struct _cwmp__Fault_SetParameterValuesFault *)ptr, "");
	case SOAP_TYPE__cwmp__Fault:
		return soap_out__cwmp__Fault(soap, "cwmp:Fault", id, (const struct _cwmp__Fault *)ptr, "");
	case SOAP_TYPE_cwmp__ArgStruct:
		return soap_out_cwmp__ArgStruct(soap, tag, id, (const struct cwmp__ArgStruct *)ptr, "cwmp:ArgStruct");
	case SOAP_TYPE_cwmp__OptionStruct:
		return soap_out_cwmp__OptionStruct(soap, tag, id, (const struct cwmp__OptionStruct *)ptr, "cwmp:OptionStruct");
	case SOAP_TYPE_cwmp__OpResultStruct:
		return soap_out_cwmp__OpResultStruct(soap, tag, id, (const struct cwmp__OpResultStruct *)ptr, "cwmp:OpResultStruct");
	case SOAP_TYPE_cwmp__OperationStruct:
		return soap_out_cwmp__OperationStruct(soap, tag, id, (const struct cwmp__OperationStruct *)ptr, "cwmp:OperationStruct");
	case SOAP_TYPE_cwmp__AllQueuedTransferStruct:
		return soap_out_cwmp__AllQueuedTransferStruct(soap, tag, id, (const struct cwmp__AllQueuedTransferStruct *)ptr, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_cwmp__QueuedTransferStruct:
		return soap_out_cwmp__QueuedTransferStruct(soap, tag, id, (const struct cwmp__QueuedTransferStruct *)ptr, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_cwmp__TimeWindowStruct:
		return soap_out_cwmp__TimeWindowStruct(soap, tag, id, (const struct cwmp__TimeWindowStruct *)ptr, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_cwmp__ParameterAttributeStruct:
		return soap_out_cwmp__ParameterAttributeStruct(soap, tag, id, (const struct cwmp__ParameterAttributeStruct *)ptr, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_AccessList:
		return soap_out_AccessList(soap, tag, id, (const struct AccessList *)ptr, "cwmp:AccessListValueType");
	case SOAP_TYPE_cwmp__SetParameterAttributesStruct:
		return soap_out_cwmp__SetParameterAttributesStruct(soap, tag, id, (const struct cwmp__SetParameterAttributesStruct *)ptr, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_cwmp__ParameterInfoStruct:
		return soap_out_cwmp__ParameterInfoStruct(soap, tag, id, (const struct cwmp__ParameterInfoStruct *)ptr, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_cwmp__EventStruct:
		return soap_out_cwmp__EventStruct(soap, tag, id, (const struct cwmp__EventStruct *)ptr, "cwmp:EventStruct");
	case SOAP_TYPE_cwmp__DeviceIdStruct:
		return soap_out_cwmp__DeviceIdStruct(soap, tag, id, (const struct cwmp__DeviceIdStruct *)ptr, "cwmp:DeviceIdStruct");
	case SOAP_TYPE_cwmp__ParameterValueStruct:
		return soap_out_cwmp__ParameterValueStruct(soap, tag, id, (const struct cwmp__ParameterValueStruct *)ptr, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_cwmp__DeploymentUnitFaultStruct:
		return soap_out_cwmp__DeploymentUnitFaultStruct(soap, tag, id, (const struct cwmp__DeploymentUnitFaultStruct *)ptr, "cwmp:DeploymentUnitFaultStruct");
	case SOAP_TYPE_cwmp__TransferCompleteFaultStruct:
		return soap_out_cwmp__TransferCompleteFaultStruct(soap, tag, id, (const struct cwmp__TransferCompleteFaultStruct *)ptr, "cwmp:TransferCompleteFaultStruct");
	case SOAP_TYPE_SOAP_ENC__base64:
		return soap_out_SOAP_ENC__base64(soap, tag, id, (const struct SOAP_ENC__base64 *)ptr, "SOAP-ENC:base64");
	case SOAP_TYPE_PointerTo_cwmp__InformResponse:
		return soap_out_PointerTo_cwmp__InformResponse(soap, tag, id, (struct _cwmp__InformResponse *const*)ptr, "cwmp:InformResponse");
	case SOAP_TYPE_PointerTo_cwmp__Inform:
		return soap_out_PointerTo_cwmp__Inform(soap, tag, id, (struct _cwmp__Inform *const*)ptr, "cwmp:Inform");
	case SOAP_TYPE_PointerTo_cwmp__GetRPCMethodsResponse:
		return soap_out_PointerTo_cwmp__GetRPCMethodsResponse(soap, tag, id, (struct _cwmp__GetRPCMethodsResponse *const*)ptr, "cwmp:GetRPCMethodsResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetRPCMethods:
		return soap_out_PointerTo_cwmp__GetRPCMethods(soap, tag, id, (struct _cwmp__GetRPCMethods *const*)ptr, "cwmp:GetRPCMethods");
	case SOAP_TYPE_PointerTo_cwmp__DeleteObjectResponse:
		return soap_out_PointerTo_cwmp__DeleteObjectResponse(soap, tag, id, (struct _cwmp__DeleteObjectResponse *const*)ptr, "cwmp:DeleteObjectResponse");
	case SOAP_TYPE_PointerTo_cwmp__DeleteObject:
		return soap_out_PointerTo_cwmp__DeleteObject(soap, tag, id, (struct _cwmp__DeleteObject *const*)ptr, "cwmp:DeleteObject");
	case SOAP_TYPE_PointerTo_cwmp__AddObjectResponse:
		return soap_out_PointerTo_cwmp__AddObjectResponse(soap, tag, id, (struct _cwmp__AddObjectResponse *const*)ptr, "cwmp:AddObjectResponse");
	case SOAP_TYPE_PointerTo_cwmp__AddObject:
		return soap_out_PointerTo_cwmp__AddObject(soap, tag, id, (struct _cwmp__AddObject *const*)ptr, "cwmp:AddObject");
	case SOAP_TYPE_PointerTo_cwmp__UploadResponse:
		return soap_out_PointerTo_cwmp__UploadResponse(soap, tag, id, (struct _cwmp__UploadResponse *const*)ptr, "cwmp:UploadResponse");
	case SOAP_TYPE_PointerTo_cwmp__Upload:
		return soap_out_PointerTo_cwmp__Upload(soap, tag, id, (struct _cwmp__Upload *const*)ptr, "cwmp:Upload");
	case SOAP_TYPE_PointerTo_cwmp__DownloadResponse:
		return soap_out_PointerTo_cwmp__DownloadResponse(soap, tag, id, (struct _cwmp__DownloadResponse *const*)ptr, "cwmp:DownloadResponse");
	case SOAP_TYPE_PointerTo_cwmp__Download:
		return soap_out_PointerTo_cwmp__Download(soap, tag, id, (struct _cwmp__Download *const*)ptr, "cwmp:Download");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterAttributesResponse:
		return soap_out_PointerTo_cwmp__SetParameterAttributesResponse(soap, tag, id, (struct _cwmp__SetParameterAttributesResponse *const*)ptr, "cwmp:SetParameterAttributesResponse");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterAttributes:
		return soap_out_PointerTo_cwmp__SetParameterAttributes(soap, tag, id, (struct _cwmp__SetParameterAttributes *const*)ptr, "cwmp:SetParameterAttributes");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterAttributesResponse:
		return soap_out_PointerTo_cwmp__GetParameterAttributesResponse(soap, tag, id, (struct _cwmp__GetParameterAttributesResponse *const*)ptr, "cwmp:GetParameterAttributesResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterAttributes:
		return soap_out_PointerTo_cwmp__GetParameterAttributes(soap, tag, id, (struct _cwmp__GetParameterAttributes *const*)ptr, "cwmp:GetParameterAttributes");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterValuesResponse:
		return soap_out_PointerTo_cwmp__SetParameterValuesResponse(soap, tag, id, (struct _cwmp__SetParameterValuesResponse *const*)ptr, "cwmp:SetParameterValuesResponse");
	case SOAP_TYPE_PointerTo_cwmp__SetParameterValues:
		return soap_out_PointerTo_cwmp__SetParameterValues(soap, tag, id, (struct _cwmp__SetParameterValues *const*)ptr, "cwmp:SetParameterValues");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterValuesResponse:
		return soap_out_PointerTo_cwmp__GetParameterValuesResponse(soap, tag, id, (struct _cwmp__GetParameterValuesResponse *const*)ptr, "cwmp:GetParameterValuesResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterValues:
		return soap_out_PointerTo_cwmp__GetParameterValues(soap, tag, id, (struct _cwmp__GetParameterValues *const*)ptr, "cwmp:GetParameterValues");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterNamesResponse:
		return soap_out_PointerTo_cwmp__GetParameterNamesResponse(soap, tag, id, (struct _cwmp__GetParameterNamesResponse *const*)ptr, "cwmp:GetParameterNamesResponse");
	case SOAP_TYPE_PointerTo_cwmp__GetParameterNames:
		return soap_out_PointerTo_cwmp__GetParameterNames(soap, tag, id, (struct _cwmp__GetParameterNames *const*)ptr, "cwmp:GetParameterNames");
	case SOAP_TYPE_PointerTo_cwmp__Fault:
		return soap_out_PointerTo_cwmp__Fault(soap, tag, id, (struct _cwmp__Fault *const*)ptr, "cwmp:Fault");
	case SOAP_TYPE_PointerTo_cwmp__HoldRequests:
		return soap_out_PointerTo_cwmp__HoldRequests(soap, tag, id, (struct _cwmp__HoldRequests *const*)ptr, "cwmp:HoldRequests");
	case SOAP_TYPE_PointerTo_cwmp__ID:
		return soap_out_PointerTo_cwmp__ID(soap, tag, id, (struct _cwmp__ID *const*)ptr, "cwmp:ID");
	case SOAP_TYPE_PointerTo_cwmp__SessionTimeout:
		return soap_out_PointerTo_cwmp__SessionTimeout(soap, tag, id, (struct _cwmp__SessionTimeout *const*)ptr, "cwmp:SessionTimeout");
	case SOAP_TYPE_PointerTo_cwmp__UseCWMPVersion:
		return soap_out_PointerTo_cwmp__UseCWMPVersion(soap, tag, id, (struct _cwmp__UseCWMPVersion *const*)ptr, "cwmp:UseCWMPVersion");
	case SOAP_TYPE_PointerTo_cwmp__SupportedCWMPVersions:
		return soap_out_PointerTo_cwmp__SupportedCWMPVersions(soap, tag, id, (struct _cwmp__SupportedCWMPVersions *const*)ptr, "cwmp:SupportedCWMPVersions");
	case SOAP_TYPE_PointerToPointerTocwmp__ArgStruct:
		return soap_out_PointerToPointerTocwmp__ArgStruct(soap, tag, id, (struct cwmp__ArgStruct **const*)ptr, "cwmp:ArgStruct");
	case SOAP_TYPE_PointerTocwmp__ArgStruct:
		return soap_out_PointerTocwmp__ArgStruct(soap, tag, id, (struct cwmp__ArgStruct *const*)ptr, "cwmp:ArgStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__OptionStruct:
		return soap_out_PointerToPointerTocwmp__OptionStruct(soap, tag, id, (struct cwmp__OptionStruct **const*)ptr, "cwmp:OptionStruct");
	case SOAP_TYPE_PointerTocwmp__OptionStruct:
		return soap_out_PointerTocwmp__OptionStruct(soap, tag, id, (struct cwmp__OptionStruct *const*)ptr, "cwmp:OptionStruct");
	case SOAP_TYPE_PointerToSOAP_ENC__base64:
		return soap_out_PointerToSOAP_ENC__base64(soap, tag, id, (struct SOAP_ENC__base64 *const*)ptr, "SOAP-ENC:base64");
	case SOAP_TYPE_PointerToxsd__anyURI:
		return soap_out_PointerToxsd__anyURI(soap, tag, id, (char **const*)ptr, "xsd:anyURI");
	case SOAP_TYPE_PointerToPointerTocwmp__AllQueuedTransferStruct:
		return soap_out_PointerToPointerTocwmp__AllQueuedTransferStruct(soap, tag, id, (struct cwmp__AllQueuedTransferStruct **const*)ptr, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_PointerTocwmp__AllQueuedTransferStruct:
		return soap_out_PointerTocwmp__AllQueuedTransferStruct(soap, tag, id, (struct cwmp__AllQueuedTransferStruct *const*)ptr, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__QueuedTransferStruct:
		return soap_out_PointerToPointerTocwmp__QueuedTransferStruct(soap, tag, id, (struct cwmp__QueuedTransferStruct **const*)ptr, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_PointerTocwmp__QueuedTransferStruct:
		return soap_out_PointerTocwmp__QueuedTransferStruct(soap, tag, id, (struct cwmp__QueuedTransferStruct *const*)ptr, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__TimeWindowStruct:
		return soap_out_PointerToPointerTocwmp__TimeWindowStruct(soap, tag, id, (struct cwmp__TimeWindowStruct **const*)ptr, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_PointerTocwmp__TimeWindowStruct:
		return soap_out_PointerTocwmp__TimeWindowStruct(soap, tag, id, (struct cwmp__TimeWindowStruct *const*)ptr, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__ParameterAttributeStruct:
		return soap_out_PointerToPointerTocwmp__ParameterAttributeStruct(soap, tag, id, (struct cwmp__ParameterAttributeStruct **const*)ptr, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_PointerTocwmp__ParameterAttributeStruct:
		return soap_out_PointerTocwmp__ParameterAttributeStruct(soap, tag, id, (struct cwmp__ParameterAttributeStruct *const*)ptr, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__SetParameterAttributesStruct:
		return soap_out_PointerToPointerTocwmp__SetParameterAttributesStruct(soap, tag, id, (struct cwmp__SetParameterAttributesStruct **const*)ptr, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_PointerTocwmp__SetParameterAttributesStruct:
		return soap_out_PointerTocwmp__SetParameterAttributesStruct(soap, tag, id, (struct cwmp__SetParameterAttributesStruct *const*)ptr, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_PointerTocwmp__AccessListValueType:
		return soap_out_PointerTocwmp__AccessListValueType(soap, tag, id, (enum cwmp__AccessListValueType *const*)ptr, "cwmp:AccessListValueType");
	case SOAP_TYPE_PointerToPointerTocwmp__ParameterInfoStruct:
		return soap_out_PointerToPointerTocwmp__ParameterInfoStruct(soap, tag, id, (struct cwmp__ParameterInfoStruct **const*)ptr, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_PointerTocwmp__ParameterInfoStruct:
		return soap_out_PointerTocwmp__ParameterInfoStruct(soap, tag, id, (struct cwmp__ParameterInfoStruct *const*)ptr, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__EventStruct:
		return soap_out_PointerToPointerTocwmp__EventStruct(soap, tag, id, (struct cwmp__EventStruct **const*)ptr, "cwmp:EventStruct");
	case SOAP_TYPE_PointerTocwmp__EventStruct:
		return soap_out_PointerTocwmp__EventStruct(soap, tag, id, (struct cwmp__EventStruct *const*)ptr, "cwmp:EventStruct");
	case SOAP_TYPE_PointerToPointerTocwmp__ParameterValueStruct:
		return soap_out_PointerToPointerTocwmp__ParameterValueStruct(soap, tag, id, (struct cwmp__ParameterValueStruct **const*)ptr, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_PointerTocwmp__ParameterValueStruct:
		return soap_out_PointerTocwmp__ParameterValueStruct(soap, tag, id, (struct cwmp__ParameterValueStruct *const*)ptr, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_PointerTostring:
		return soap_out_PointerTostring(soap, tag, id, (char **const*)ptr, "xsd:string");
	case SOAP_TYPE_PointerTocwmp__AutonOpResultStruct:
		return soap_out_PointerTocwmp__AutonOpResultStruct(soap, tag, id, (struct cwmp__AutonOpResultStruct *const*)ptr, "cwmp:AutonOpResultStruct");
	case SOAP_TYPE_PointerTocwmp__OpResultStruct:
		return soap_out_PointerTocwmp__OpResultStruct(soap, tag, id, (struct cwmp__OpResultStruct *const*)ptr, "cwmp:OpResultStruct");
	case SOAP_TYPE_PointerToFileTypeArg:
		return soap_out_PointerToFileTypeArg(soap, tag, id, (struct FileTypeArg *const*)ptr, "cwmp:ArgStruct");
	case SOAP_TYPE_PointerTocwmp__TransferCompleteFaultStruct:
		return soap_out_PointerTocwmp__TransferCompleteFaultStruct(soap, tag, id, (struct cwmp__TransferCompleteFaultStruct *const*)ptr, "cwmp:TransferCompleteFaultStruct");
	case SOAP_TYPE_PointerToEventList:
		return soap_out_PointerToEventList(soap, tag, id, (struct EventList *const*)ptr, "cwmp:EventStruct");
	case SOAP_TYPE_PointerTocwmp__DeviceIdStruct:
		return soap_out_PointerTocwmp__DeviceIdStruct(soap, tag, id, (struct cwmp__DeviceIdStruct *const*)ptr, "cwmp:DeviceIdStruct");
	case SOAP_TYPE_PointerTocwmp__OperationStruct:
		return soap_out_PointerTocwmp__OperationStruct(soap, tag, id, (struct cwmp__OperationStruct *const*)ptr, "cwmp:OperationStruct");
	case SOAP_TYPE_PointerToTimeWindowList:
		return soap_out_PointerToTimeWindowList(soap, tag, id, (struct TimeWindowList *const*)ptr, "cwmp:TimeWindowStruct");
	case SOAP_TYPE_PointerToAllTransferList:
		return soap_out_PointerToAllTransferList(soap, tag, id, (struct AllTransferList *const*)ptr, "cwmp:AllQueuedTransferStruct");
	case SOAP_TYPE_PointerToOptionList:
		return soap_out_PointerToOptionList(soap, tag, id, (struct OptionList *const*)ptr, "cwmp:OptionStruct");
	case SOAP_TYPE_PointerToVoucherList:
		return soap_out_PointerToVoucherList(soap, tag, id, (struct VoucherList *const*)ptr, "SOAP-ENC:base64");
	case SOAP_TYPE_PointerToTransferList:
		return soap_out_PointerToTransferList(soap, tag, id, (struct TransferList *const*)ptr, "cwmp:QueuedTransferStruct");
	case SOAP_TYPE_PointerToParameterAttributeList:
		return soap_out_PointerToParameterAttributeList(soap, tag, id, (struct ParameterAttributeList *const*)ptr, "cwmp:ParameterAttributeStruct");
	case SOAP_TYPE_PointerToSetParameterAttributesList:
		return soap_out_PointerToSetParameterAttributesList(soap, tag, id, (struct SetParameterAttributesList *const*)ptr, "cwmp:SetParameterAttributesStruct");
	case SOAP_TYPE_PointerToParameterInfoList:
		return soap_out_PointerToParameterInfoList(soap, tag, id, (struct ParameterInfoList *const*)ptr, "cwmp:ParameterInfoStruct");
	case SOAP_TYPE_PointerToParameterNames:
		return soap_out_PointerToParameterNames(soap, tag, id, (struct ParameterNames *const*)ptr, "xsd:string");
	case SOAP_TYPE_PointerToParameterValueList:
		return soap_out_PointerToParameterValueList(soap, tag, id, (struct ParameterValueList *const*)ptr, "cwmp:ParameterValueStruct");
	case SOAP_TYPE_PointerToMethodList:
		return soap_out_PointerToMethodList(soap, tag, id, (struct MethodList *const*)ptr, "xsd:string");
	case SOAP_TYPE_PointerTo_cwmp__Fault_SetParameterValuesFault:
		return soap_out_PointerTo_cwmp__Fault_SetParameterValuesFault(soap, tag, id, (struct _cwmp__Fault_SetParameterValuesFault *const*)ptr, "cwmp:Fault-SetParameterValuesFault");
	case SOAP_TYPE_PointerTodateTime:
		return soap_out_PointerTodateTime(soap, tag, id, (time_t *const*)ptr, "xsd:dateTime");
	case SOAP_TYPE_PointerTocwmp__DeploymentUnitFaultStruct:
		return soap_out_PointerTocwmp__DeploymentUnitFaultStruct(soap, tag, id, (struct cwmp__DeploymentUnitFaultStruct *const*)ptr, "cwmp:DeploymentUnitFaultStruct");
	case SOAP_TYPE_PointerToAccessList:
		return soap_out_PointerToAccessList(soap, tag, id, (struct AccessList *const*)ptr, "cwmp:AccessListValueType");
	case SOAP_TYPE_cwmp__DeploymentUnitUUID:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:DeploymentUnitUUID");
	case SOAP_TYPE_cwmp__ParameterKeyType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:ParameterKeyType");
	case SOAP_TYPE_cwmp__ObjectNameType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:ObjectNameType");
	case SOAP_TYPE_cwmp__CommandKeyType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:CommandKeyType");
	case SOAP_TYPE_cwmp__TimeWindowModeValueType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:TimeWindowModeValueType");
	case SOAP_TYPE_cwmp__EventCodeType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:EventCodeType");
	case SOAP_TYPE_cwmp__UploadFileType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:UploadFileType");
	case SOAP_TYPE_cwmp__DownloadFileType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:DownloadFileType");
	case SOAP_TYPE_cwmp__TransferFileType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:TransferFileType");
	case SOAP_TYPE_cwmp__DeploymentUnitOperationType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "cwmp:DeploymentUnitOperationType");
	case SOAP_TYPE_xsd__anyURI:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "xsd:anyURI");
	case SOAP_TYPE_xsd__anySimpleType:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "xsd:anySimpleType");
	case SOAP_TYPE_PointerTounsignedByte:
		return soap_out_PointerTounsignedByte(soap, tag, id, (unsigned char *const*)ptr, "xsd:unsignedByte");
	case SOAP_TYPE__QName:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "xsd:QName");
	case SOAP_TYPE_string:
		return soap_out_string(soap, tag, id, (char*const*)(void*)&ptr, "xsd:string");
	case 0:
		return SOAP_OK;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_putelement '%s' failed for type %d in soapC.cpp\n", tag ? tag : "", type));
	return soap_element_empty(soap, tag); /* unknown type to serialize */
}
#ifdef __cplusplus
}
#endif

#ifndef WITH_NOIDREF

#ifdef __cplusplus
extern "C" {
#endif
SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)
{
	(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
}
#ifdef __cplusplus
}
#endif
#endif

#ifdef __cplusplus
extern "C" {
#endif

SOAP_FMAC3 void * SOAP_FMAC4 soap_dupelement(struct soap *soap, const void *ptr, int type)
{(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
	return NULL;
}
#ifdef __cplusplus
}
#endif

#ifdef __cplusplus
extern "C" {
#endif

SOAP_FMAC3 void SOAP_FMAC4 soap_delelement(const void *ptr, int type)
{(void)ptr; (void)type; /* appease -Wall -Werror */
}
#ifdef __cplusplus
}
#endif

SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap *soap, int t, const char *type, const char *arrayType, size_t *n)
{	(void)type;
	switch (t)
	{
	case SOAP_TYPE_SOAP_ENC__base64:
		return (void*)soap_instantiate_SOAP_ENC__base64(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__TransferCompleteFaultStruct:
		return (void*)soap_instantiate_cwmp__TransferCompleteFaultStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__DeploymentUnitFaultStruct:
		return (void*)soap_instantiate_cwmp__DeploymentUnitFaultStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__ParameterValueStruct:
		return (void*)soap_instantiate_cwmp__ParameterValueStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__DeviceIdStruct:
		return (void*)soap_instantiate_cwmp__DeviceIdStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__EventStruct:
		return (void*)soap_instantiate_cwmp__EventStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__ParameterInfoStruct:
		return (void*)soap_instantiate_cwmp__ParameterInfoStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__SetParameterAttributesStruct:
		return (void*)soap_instantiate_cwmp__SetParameterAttributesStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__ParameterAttributeStruct:
		return (void*)soap_instantiate_cwmp__ParameterAttributeStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__TimeWindowStruct:
		return (void*)soap_instantiate_cwmp__TimeWindowStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__QueuedTransferStruct:
		return (void*)soap_instantiate_cwmp__QueuedTransferStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__AllQueuedTransferStruct:
		return (void*)soap_instantiate_cwmp__AllQueuedTransferStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__OperationStruct:
		return (void*)soap_instantiate_cwmp__OperationStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__OpResultStruct:
		return (void*)soap_instantiate_cwmp__OpResultStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__OptionStruct:
		return (void*)soap_instantiate_cwmp__OptionStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__ArgStruct:
		return (void*)soap_instantiate_cwmp__ArgStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__Fault_SetParameterValuesFault:
		return (void*)soap_instantiate__cwmp__Fault_SetParameterValuesFault(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__Fault:
		return (void*)soap_instantiate__cwmp__Fault(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetRPCMethods:
		return (void*)soap_instantiate__cwmp__GetRPCMethods(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetRPCMethodsResponse:
		return (void*)soap_instantiate__cwmp__GetRPCMethodsResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SetParameterValues:
		return (void*)soap_instantiate__cwmp__SetParameterValues(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SetParameterValuesResponse:
		return (void*)soap_instantiate__cwmp__SetParameterValuesResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetParameterValues:
		return (void*)soap_instantiate__cwmp__GetParameterValues(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetParameterValuesResponse:
		return (void*)soap_instantiate__cwmp__GetParameterValuesResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetParameterNames:
		return (void*)soap_instantiate__cwmp__GetParameterNames(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetParameterNamesResponse:
		return (void*)soap_instantiate__cwmp__GetParameterNamesResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SetParameterAttributes:
		return (void*)soap_instantiate__cwmp__SetParameterAttributes(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SetParameterAttributesResponse:
		return (void*)soap_instantiate__cwmp__SetParameterAttributesResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetParameterAttributes:
		return (void*)soap_instantiate__cwmp__GetParameterAttributes(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetParameterAttributesResponse:
		return (void*)soap_instantiate__cwmp__GetParameterAttributesResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__AddObject:
		return (void*)soap_instantiate__cwmp__AddObject(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__AddObjectResponse:
		return (void*)soap_instantiate__cwmp__AddObjectResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__DeleteObject:
		return (void*)soap_instantiate__cwmp__DeleteObject(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__DeleteObjectResponse:
		return (void*)soap_instantiate__cwmp__DeleteObjectResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__Download:
		return (void*)soap_instantiate__cwmp__Download(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__DownloadResponse:
		return (void*)soap_instantiate__cwmp__DownloadResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__Reboot:
		return (void*)soap_instantiate__cwmp__Reboot(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__RebootResponse:
		return (void*)soap_instantiate__cwmp__RebootResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetQueuedTransfers:
		return (void*)soap_instantiate__cwmp__GetQueuedTransfers(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetQueuedTransfersResponse:
		return (void*)soap_instantiate__cwmp__GetQueuedTransfersResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__ScheduleInform:
		return (void*)soap_instantiate__cwmp__ScheduleInform(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__ScheduleInformResponse:
		return (void*)soap_instantiate__cwmp__ScheduleInformResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SetVouchers:
		return (void*)soap_instantiate__cwmp__SetVouchers(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SetVouchersResponse:
		return (void*)soap_instantiate__cwmp__SetVouchersResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetOptions:
		return (void*)soap_instantiate__cwmp__GetOptions(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetOptionsResponse:
		return (void*)soap_instantiate__cwmp__GetOptionsResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__Upload:
		return (void*)soap_instantiate__cwmp__Upload(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__UploadResponse:
		return (void*)soap_instantiate__cwmp__UploadResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__FactoryReset:
		return (void*)soap_instantiate__cwmp__FactoryReset(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__FactoryResetResponse:
		return (void*)soap_instantiate__cwmp__FactoryResetResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetAllQueuedTransfers:
		return (void*)soap_instantiate__cwmp__GetAllQueuedTransfers(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse:
		return (void*)soap_instantiate__cwmp__GetAllQueuedTransfersResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__ScheduleDownload:
		return (void*)soap_instantiate__cwmp__ScheduleDownload(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__ScheduleDownloadResponse:
		return (void*)soap_instantiate__cwmp__ScheduleDownloadResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__CancelTransfer:
		return (void*)soap_instantiate__cwmp__CancelTransfer(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__CancelTransferResponse:
		return (void*)soap_instantiate__cwmp__CancelTransferResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__ChangeDUState:
		return (void*)soap_instantiate__cwmp__ChangeDUState(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__ChangeDUStateResponse:
		return (void*)soap_instantiate__cwmp__ChangeDUStateResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__Inform:
		return (void*)soap_instantiate__cwmp__Inform(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__InformResponse:
		return (void*)soap_instantiate__cwmp__InformResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__TransferComplete:
		return (void*)soap_instantiate__cwmp__TransferComplete(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__TransferCompleteResponse:
		return (void*)soap_instantiate__cwmp__TransferCompleteResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__AutonomousTransferComplete:
		return (void*)soap_instantiate__cwmp__AutonomousTransferComplete(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse:
		return (void*)soap_instantiate__cwmp__AutonomousTransferCompleteResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__Kicked:
		return (void*)soap_instantiate__cwmp__Kicked(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__KickedResponse:
		return (void*)soap_instantiate__cwmp__KickedResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__RequestDownload:
		return (void*)soap_instantiate__cwmp__RequestDownload(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__RequestDownloadResponse:
		return (void*)soap_instantiate__cwmp__RequestDownloadResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__DUStateChangeComplete:
		return (void*)soap_instantiate__cwmp__DUStateChangeComplete(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__DUStateChangeCompleteResponse:
		return (void*)soap_instantiate__cwmp__DUStateChangeCompleteResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete:
		return (void*)soap_instantiate__cwmp__AutonomousDUStateChangeComplete(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse:
		return (void*)soap_instantiate__cwmp__AutonomousDUStateChangeCompleteResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE_ParameterNames:
		return (void*)soap_instantiate_ParameterNames(soap, -1, type, arrayType, n);
	case SOAP_TYPE_ParameterValueList:
		return (void*)soap_instantiate_ParameterValueList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_MethodList:
		return (void*)soap_instantiate_MethodList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_EventList:
		return (void*)soap_instantiate_EventList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_ParameterInfoList:
		return (void*)soap_instantiate_ParameterInfoList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_AccessList:
		return (void*)soap_instantiate_AccessList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_SetParameterAttributesList:
		return (void*)soap_instantiate_SetParameterAttributesList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_ParameterAttributeList:
		return (void*)soap_instantiate_ParameterAttributeList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_TimeWindowList:
		return (void*)soap_instantiate_TimeWindowList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_TransferList:
		return (void*)soap_instantiate_TransferList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_AllTransferList:
		return (void*)soap_instantiate_AllTransferList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__InstallOpStruct:
		return (void*)soap_instantiate_cwmp__InstallOpStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__UpdateOpStruct:
		return (void*)soap_instantiate_cwmp__UpdateOpStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__UninstallOpStruct:
		return (void*)soap_instantiate_cwmp__UninstallOpStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_cwmp__AutonOpResultStruct:
		return (void*)soap_instantiate_cwmp__AutonOpResultStruct(soap, -1, type, arrayType, n);
	case SOAP_TYPE_VoucherList:
		return (void*)soap_instantiate_VoucherList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_OptionList:
		return (void*)soap_instantiate_OptionList(soap, -1, type, arrayType, n);
	case SOAP_TYPE_FileTypeArg:
		return (void*)soap_instantiate_FileTypeArg(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SupportedCWMPVersions:
		return (void*)soap_instantiate__cwmp__SupportedCWMPVersions(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__UseCWMPVersion:
		return (void*)soap_instantiate__cwmp__UseCWMPVersion(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__SessionTimeout:
		return (void*)soap_instantiate__cwmp__SessionTimeout(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__ID:
		return (void*)soap_instantiate__cwmp__ID(soap, -1, type, arrayType, n);
	case SOAP_TYPE__cwmp__HoldRequests:
		return (void*)soap_instantiate__cwmp__HoldRequests(soap, -1, type, arrayType, n);
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Header:
		return (void*)soap_instantiate_SOAP_ENV__Header(soap, -1, type, arrayType, n);
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Detail:
		return (void*)soap_instantiate_SOAP_ENV__Detail(soap, -1, type, arrayType, n);
#endif
	case SOAP_TYPE___cwmp__GetParameterNames:
		return (void*)soap_instantiate___cwmp__GetParameterNames(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__GetParameterValues:
		return (void*)soap_instantiate___cwmp__GetParameterValues(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__GetParameterValuesResponse:
		return (void*)soap_instantiate___cwmp__GetParameterValuesResponse(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__SetParameterValues:
		return (void*)soap_instantiate___cwmp__SetParameterValues(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__GetParameterAttributes:
		return (void*)soap_instantiate___cwmp__GetParameterAttributes(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__SetParameterAttributes:
		return (void*)soap_instantiate___cwmp__SetParameterAttributes(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__Download:
		return (void*)soap_instantiate___cwmp__Download(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__Upload:
		return (void*)soap_instantiate___cwmp__Upload(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__AddObject:
		return (void*)soap_instantiate___cwmp__AddObject(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__DeleteObject:
		return (void*)soap_instantiate___cwmp__DeleteObject(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__GetRPCMethods:
		return (void*)soap_instantiate___cwmp__GetRPCMethods(soap, -1, type, arrayType, n);
	case SOAP_TYPE___cwmp__Inform:
		return (void*)soap_instantiate___cwmp__Inform(soap, -1, type, arrayType, n);
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Code:
		return (void*)soap_instantiate_SOAP_ENV__Code(soap, -1, type, arrayType, n);
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Reason:
		return (void*)soap_instantiate_SOAP_ENV__Reason(soap, -1, type, arrayType, n);
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Fault:
		return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n);
#endif
	}
	return NULL;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap *soap, struct soap_clist *p)
{
	(void)soap; /* appease -Wall -Werror */
	if (!p->ptr)
		return SOAP_OK;
	switch (p->type)
	{
	case SOAP_TYPE_SOAP_ENC__base64:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct SOAP_ENC__base64*>(p->ptr), struct SOAP_ENC__base64);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENC__base64*>(p->ptr), struct SOAP_ENC__base64);
		break;
	case SOAP_TYPE_cwmp__TransferCompleteFaultStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__TransferCompleteFaultStruct*>(p->ptr), struct cwmp__TransferCompleteFaultStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__TransferCompleteFaultStruct*>(p->ptr), struct cwmp__TransferCompleteFaultStruct);
		break;
	case SOAP_TYPE_cwmp__DeploymentUnitFaultStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__DeploymentUnitFaultStruct*>(p->ptr), struct cwmp__DeploymentUnitFaultStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__DeploymentUnitFaultStruct*>(p->ptr), struct cwmp__DeploymentUnitFaultStruct);
		break;
	case SOAP_TYPE_cwmp__ParameterValueStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__ParameterValueStruct*>(p->ptr), struct cwmp__ParameterValueStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__ParameterValueStruct*>(p->ptr), struct cwmp__ParameterValueStruct);
		break;
	case SOAP_TYPE_cwmp__DeviceIdStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__DeviceIdStruct*>(p->ptr), struct cwmp__DeviceIdStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__DeviceIdStruct*>(p->ptr), struct cwmp__DeviceIdStruct);
		break;
	case SOAP_TYPE_cwmp__EventStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__EventStruct*>(p->ptr), struct cwmp__EventStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__EventStruct*>(p->ptr), struct cwmp__EventStruct);
		break;
	case SOAP_TYPE_cwmp__ParameterInfoStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__ParameterInfoStruct*>(p->ptr), struct cwmp__ParameterInfoStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__ParameterInfoStruct*>(p->ptr), struct cwmp__ParameterInfoStruct);
		break;
	case SOAP_TYPE_cwmp__SetParameterAttributesStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__SetParameterAttributesStruct*>(p->ptr), struct cwmp__SetParameterAttributesStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__SetParameterAttributesStruct*>(p->ptr), struct cwmp__SetParameterAttributesStruct);
		break;
	case SOAP_TYPE_cwmp__ParameterAttributeStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__ParameterAttributeStruct*>(p->ptr), struct cwmp__ParameterAttributeStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__ParameterAttributeStruct*>(p->ptr), struct cwmp__ParameterAttributeStruct);
		break;
	case SOAP_TYPE_cwmp__TimeWindowStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__TimeWindowStruct*>(p->ptr), struct cwmp__TimeWindowStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__TimeWindowStruct*>(p->ptr), struct cwmp__TimeWindowStruct);
		break;
	case SOAP_TYPE_cwmp__QueuedTransferStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__QueuedTransferStruct*>(p->ptr), struct cwmp__QueuedTransferStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__QueuedTransferStruct*>(p->ptr), struct cwmp__QueuedTransferStruct);
		break;
	case SOAP_TYPE_cwmp__AllQueuedTransferStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__AllQueuedTransferStruct*>(p->ptr), struct cwmp__AllQueuedTransferStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__AllQueuedTransferStruct*>(p->ptr), struct cwmp__AllQueuedTransferStruct);
		break;
	case SOAP_TYPE_cwmp__OperationStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__OperationStruct*>(p->ptr), struct cwmp__OperationStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__OperationStruct*>(p->ptr), struct cwmp__OperationStruct);
		break;
	case SOAP_TYPE_cwmp__OpResultStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__OpResultStruct*>(p->ptr), struct cwmp__OpResultStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__OpResultStruct*>(p->ptr), struct cwmp__OpResultStruct);
		break;
	case SOAP_TYPE_cwmp__OptionStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__OptionStruct*>(p->ptr), struct cwmp__OptionStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__OptionStruct*>(p->ptr), struct cwmp__OptionStruct);
		break;
	case SOAP_TYPE_cwmp__ArgStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__ArgStruct*>(p->ptr), struct cwmp__ArgStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__ArgStruct*>(p->ptr), struct cwmp__ArgStruct);
		break;
	case SOAP_TYPE__cwmp__Fault_SetParameterValuesFault:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__Fault_SetParameterValuesFault*>(p->ptr), struct _cwmp__Fault_SetParameterValuesFault);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__Fault_SetParameterValuesFault*>(p->ptr), struct _cwmp__Fault_SetParameterValuesFault);
		break;
	case SOAP_TYPE__cwmp__Fault:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__Fault*>(p->ptr), struct _cwmp__Fault);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__Fault*>(p->ptr), struct _cwmp__Fault);
		break;
	case SOAP_TYPE__cwmp__GetRPCMethods:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetRPCMethods*>(p->ptr), struct _cwmp__GetRPCMethods);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetRPCMethods*>(p->ptr), struct _cwmp__GetRPCMethods);
		break;
	case SOAP_TYPE__cwmp__GetRPCMethodsResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetRPCMethodsResponse*>(p->ptr), struct _cwmp__GetRPCMethodsResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetRPCMethodsResponse*>(p->ptr), struct _cwmp__GetRPCMethodsResponse);
		break;
	case SOAP_TYPE__cwmp__SetParameterValues:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SetParameterValues*>(p->ptr), struct _cwmp__SetParameterValues);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SetParameterValues*>(p->ptr), struct _cwmp__SetParameterValues);
		break;
	case SOAP_TYPE__cwmp__SetParameterValuesResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SetParameterValuesResponse*>(p->ptr), struct _cwmp__SetParameterValuesResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SetParameterValuesResponse*>(p->ptr), struct _cwmp__SetParameterValuesResponse);
		break;
	case SOAP_TYPE__cwmp__GetParameterValues:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetParameterValues*>(p->ptr), struct _cwmp__GetParameterValues);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetParameterValues*>(p->ptr), struct _cwmp__GetParameterValues);
		break;
	case SOAP_TYPE__cwmp__GetParameterValuesResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetParameterValuesResponse*>(p->ptr), struct _cwmp__GetParameterValuesResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetParameterValuesResponse*>(p->ptr), struct _cwmp__GetParameterValuesResponse);
		break;
	case SOAP_TYPE__cwmp__GetParameterNames:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetParameterNames*>(p->ptr), struct _cwmp__GetParameterNames);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetParameterNames*>(p->ptr), struct _cwmp__GetParameterNames);
		break;
	case SOAP_TYPE__cwmp__GetParameterNamesResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetParameterNamesResponse*>(p->ptr), struct _cwmp__GetParameterNamesResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetParameterNamesResponse*>(p->ptr), struct _cwmp__GetParameterNamesResponse);
		break;
	case SOAP_TYPE__cwmp__SetParameterAttributes:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SetParameterAttributes*>(p->ptr), struct _cwmp__SetParameterAttributes);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SetParameterAttributes*>(p->ptr), struct _cwmp__SetParameterAttributes);
		break;
	case SOAP_TYPE__cwmp__SetParameterAttributesResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SetParameterAttributesResponse*>(p->ptr), struct _cwmp__SetParameterAttributesResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SetParameterAttributesResponse*>(p->ptr), struct _cwmp__SetParameterAttributesResponse);
		break;
	case SOAP_TYPE__cwmp__GetParameterAttributes:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetParameterAttributes*>(p->ptr), struct _cwmp__GetParameterAttributes);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetParameterAttributes*>(p->ptr), struct _cwmp__GetParameterAttributes);
		break;
	case SOAP_TYPE__cwmp__GetParameterAttributesResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetParameterAttributesResponse*>(p->ptr), struct _cwmp__GetParameterAttributesResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetParameterAttributesResponse*>(p->ptr), struct _cwmp__GetParameterAttributesResponse);
		break;
	case SOAP_TYPE__cwmp__AddObject:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__AddObject*>(p->ptr), struct _cwmp__AddObject);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__AddObject*>(p->ptr), struct _cwmp__AddObject);
		break;
	case SOAP_TYPE__cwmp__AddObjectResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__AddObjectResponse*>(p->ptr), struct _cwmp__AddObjectResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__AddObjectResponse*>(p->ptr), struct _cwmp__AddObjectResponse);
		break;
	case SOAP_TYPE__cwmp__DeleteObject:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__DeleteObject*>(p->ptr), struct _cwmp__DeleteObject);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__DeleteObject*>(p->ptr), struct _cwmp__DeleteObject);
		break;
	case SOAP_TYPE__cwmp__DeleteObjectResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__DeleteObjectResponse*>(p->ptr), struct _cwmp__DeleteObjectResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__DeleteObjectResponse*>(p->ptr), struct _cwmp__DeleteObjectResponse);
		break;
	case SOAP_TYPE__cwmp__Download:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__Download*>(p->ptr), struct _cwmp__Download);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__Download*>(p->ptr), struct _cwmp__Download);
		break;
	case SOAP_TYPE__cwmp__DownloadResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__DownloadResponse*>(p->ptr), struct _cwmp__DownloadResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__DownloadResponse*>(p->ptr), struct _cwmp__DownloadResponse);
		break;
	case SOAP_TYPE__cwmp__Reboot:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__Reboot*>(p->ptr), struct _cwmp__Reboot);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__Reboot*>(p->ptr), struct _cwmp__Reboot);
		break;
	case SOAP_TYPE__cwmp__RebootResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__RebootResponse*>(p->ptr), struct _cwmp__RebootResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__RebootResponse*>(p->ptr), struct _cwmp__RebootResponse);
		break;
	case SOAP_TYPE__cwmp__GetQueuedTransfers:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetQueuedTransfers*>(p->ptr), struct _cwmp__GetQueuedTransfers);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetQueuedTransfers*>(p->ptr), struct _cwmp__GetQueuedTransfers);
		break;
	case SOAP_TYPE__cwmp__GetQueuedTransfersResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetQueuedTransfersResponse*>(p->ptr), struct _cwmp__GetQueuedTransfersResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetQueuedTransfersResponse*>(p->ptr), struct _cwmp__GetQueuedTransfersResponse);
		break;
	case SOAP_TYPE__cwmp__ScheduleInform:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__ScheduleInform*>(p->ptr), struct _cwmp__ScheduleInform);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__ScheduleInform*>(p->ptr), struct _cwmp__ScheduleInform);
		break;
	case SOAP_TYPE__cwmp__ScheduleInformResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__ScheduleInformResponse*>(p->ptr), struct _cwmp__ScheduleInformResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__ScheduleInformResponse*>(p->ptr), struct _cwmp__ScheduleInformResponse);
		break;
	case SOAP_TYPE__cwmp__SetVouchers:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SetVouchers*>(p->ptr), struct _cwmp__SetVouchers);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SetVouchers*>(p->ptr), struct _cwmp__SetVouchers);
		break;
	case SOAP_TYPE__cwmp__SetVouchersResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SetVouchersResponse*>(p->ptr), struct _cwmp__SetVouchersResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SetVouchersResponse*>(p->ptr), struct _cwmp__SetVouchersResponse);
		break;
	case SOAP_TYPE__cwmp__GetOptions:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetOptions*>(p->ptr), struct _cwmp__GetOptions);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetOptions*>(p->ptr), struct _cwmp__GetOptions);
		break;
	case SOAP_TYPE__cwmp__GetOptionsResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetOptionsResponse*>(p->ptr), struct _cwmp__GetOptionsResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetOptionsResponse*>(p->ptr), struct _cwmp__GetOptionsResponse);
		break;
	case SOAP_TYPE__cwmp__Upload:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__Upload*>(p->ptr), struct _cwmp__Upload);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__Upload*>(p->ptr), struct _cwmp__Upload);
		break;
	case SOAP_TYPE__cwmp__UploadResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__UploadResponse*>(p->ptr), struct _cwmp__UploadResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__UploadResponse*>(p->ptr), struct _cwmp__UploadResponse);
		break;
	case SOAP_TYPE__cwmp__FactoryReset:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__FactoryReset*>(p->ptr), struct _cwmp__FactoryReset);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__FactoryReset*>(p->ptr), struct _cwmp__FactoryReset);
		break;
	case SOAP_TYPE__cwmp__FactoryResetResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__FactoryResetResponse*>(p->ptr), struct _cwmp__FactoryResetResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__FactoryResetResponse*>(p->ptr), struct _cwmp__FactoryResetResponse);
		break;
	case SOAP_TYPE__cwmp__GetAllQueuedTransfers:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetAllQueuedTransfers*>(p->ptr), struct _cwmp__GetAllQueuedTransfers);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetAllQueuedTransfers*>(p->ptr), struct _cwmp__GetAllQueuedTransfers);
		break;
	case SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__GetAllQueuedTransfersResponse*>(p->ptr), struct _cwmp__GetAllQueuedTransfersResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__GetAllQueuedTransfersResponse*>(p->ptr), struct _cwmp__GetAllQueuedTransfersResponse);
		break;
	case SOAP_TYPE__cwmp__ScheduleDownload:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__ScheduleDownload*>(p->ptr), struct _cwmp__ScheduleDownload);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__ScheduleDownload*>(p->ptr), struct _cwmp__ScheduleDownload);
		break;
	case SOAP_TYPE__cwmp__ScheduleDownloadResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__ScheduleDownloadResponse*>(p->ptr), struct _cwmp__ScheduleDownloadResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__ScheduleDownloadResponse*>(p->ptr), struct _cwmp__ScheduleDownloadResponse);
		break;
	case SOAP_TYPE__cwmp__CancelTransfer:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__CancelTransfer*>(p->ptr), struct _cwmp__CancelTransfer);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__CancelTransfer*>(p->ptr), struct _cwmp__CancelTransfer);
		break;
	case SOAP_TYPE__cwmp__CancelTransferResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__CancelTransferResponse*>(p->ptr), struct _cwmp__CancelTransferResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__CancelTransferResponse*>(p->ptr), struct _cwmp__CancelTransferResponse);
		break;
	case SOAP_TYPE__cwmp__ChangeDUState:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__ChangeDUState*>(p->ptr), struct _cwmp__ChangeDUState);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__ChangeDUState*>(p->ptr), struct _cwmp__ChangeDUState);
		break;
	case SOAP_TYPE__cwmp__ChangeDUStateResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__ChangeDUStateResponse*>(p->ptr), struct _cwmp__ChangeDUStateResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__ChangeDUStateResponse*>(p->ptr), struct _cwmp__ChangeDUStateResponse);
		break;
	case SOAP_TYPE__cwmp__Inform:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__Inform*>(p->ptr), struct _cwmp__Inform);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__Inform*>(p->ptr), struct _cwmp__Inform);
		break;
	case SOAP_TYPE__cwmp__InformResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__InformResponse*>(p->ptr), struct _cwmp__InformResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__InformResponse*>(p->ptr), struct _cwmp__InformResponse);
		break;
	case SOAP_TYPE__cwmp__TransferComplete:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__TransferComplete*>(p->ptr), struct _cwmp__TransferComplete);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__TransferComplete*>(p->ptr), struct _cwmp__TransferComplete);
		break;
	case SOAP_TYPE__cwmp__TransferCompleteResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__TransferCompleteResponse*>(p->ptr), struct _cwmp__TransferCompleteResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__TransferCompleteResponse*>(p->ptr), struct _cwmp__TransferCompleteResponse);
		break;
	case SOAP_TYPE__cwmp__AutonomousTransferComplete:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__AutonomousTransferComplete*>(p->ptr), struct _cwmp__AutonomousTransferComplete);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__AutonomousTransferComplete*>(p->ptr), struct _cwmp__AutonomousTransferComplete);
		break;
	case SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__AutonomousTransferCompleteResponse*>(p->ptr), struct _cwmp__AutonomousTransferCompleteResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__AutonomousTransferCompleteResponse*>(p->ptr), struct _cwmp__AutonomousTransferCompleteResponse);
		break;
	case SOAP_TYPE__cwmp__Kicked:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__Kicked*>(p->ptr), struct _cwmp__Kicked);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__Kicked*>(p->ptr), struct _cwmp__Kicked);
		break;
	case SOAP_TYPE__cwmp__KickedResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__KickedResponse*>(p->ptr), struct _cwmp__KickedResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__KickedResponse*>(p->ptr), struct _cwmp__KickedResponse);
		break;
	case SOAP_TYPE__cwmp__RequestDownload:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__RequestDownload*>(p->ptr), struct _cwmp__RequestDownload);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__RequestDownload*>(p->ptr), struct _cwmp__RequestDownload);
		break;
	case SOAP_TYPE__cwmp__RequestDownloadResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__RequestDownloadResponse*>(p->ptr), struct _cwmp__RequestDownloadResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__RequestDownloadResponse*>(p->ptr), struct _cwmp__RequestDownloadResponse);
		break;
	case SOAP_TYPE__cwmp__DUStateChangeComplete:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__DUStateChangeComplete*>(p->ptr), struct _cwmp__DUStateChangeComplete);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__DUStateChangeComplete*>(p->ptr), struct _cwmp__DUStateChangeComplete);
		break;
	case SOAP_TYPE__cwmp__DUStateChangeCompleteResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__DUStateChangeCompleteResponse*>(p->ptr), struct _cwmp__DUStateChangeCompleteResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__DUStateChangeCompleteResponse*>(p->ptr), struct _cwmp__DUStateChangeCompleteResponse);
		break;
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__AutonomousDUStateChangeComplete*>(p->ptr), struct _cwmp__AutonomousDUStateChangeComplete);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__AutonomousDUStateChangeComplete*>(p->ptr), struct _cwmp__AutonomousDUStateChangeComplete);
		break;
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__AutonomousDUStateChangeCompleteResponse*>(p->ptr), struct _cwmp__AutonomousDUStateChangeCompleteResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__AutonomousDUStateChangeCompleteResponse*>(p->ptr), struct _cwmp__AutonomousDUStateChangeCompleteResponse);
		break;
	case SOAP_TYPE_ParameterNames:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct ParameterNames*>(p->ptr), struct ParameterNames);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct ParameterNames*>(p->ptr), struct ParameterNames);
		break;
	case SOAP_TYPE_ParameterValueList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct ParameterValueList*>(p->ptr), struct ParameterValueList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct ParameterValueList*>(p->ptr), struct ParameterValueList);
		break;
	case SOAP_TYPE_MethodList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct MethodList*>(p->ptr), struct MethodList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct MethodList*>(p->ptr), struct MethodList);
		break;
	case SOAP_TYPE_EventList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct EventList*>(p->ptr), struct EventList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct EventList*>(p->ptr), struct EventList);
		break;
	case SOAP_TYPE_ParameterInfoList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct ParameterInfoList*>(p->ptr), struct ParameterInfoList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct ParameterInfoList*>(p->ptr), struct ParameterInfoList);
		break;
	case SOAP_TYPE_AccessList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct AccessList*>(p->ptr), struct AccessList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct AccessList*>(p->ptr), struct AccessList);
		break;
	case SOAP_TYPE_SetParameterAttributesList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct SetParameterAttributesList*>(p->ptr), struct SetParameterAttributesList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct SetParameterAttributesList*>(p->ptr), struct SetParameterAttributesList);
		break;
	case SOAP_TYPE_ParameterAttributeList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct ParameterAttributeList*>(p->ptr), struct ParameterAttributeList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct ParameterAttributeList*>(p->ptr), struct ParameterAttributeList);
		break;
	case SOAP_TYPE_TimeWindowList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct TimeWindowList*>(p->ptr), struct TimeWindowList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct TimeWindowList*>(p->ptr), struct TimeWindowList);
		break;
	case SOAP_TYPE_TransferList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct TransferList*>(p->ptr), struct TransferList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct TransferList*>(p->ptr), struct TransferList);
		break;
	case SOAP_TYPE_AllTransferList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct AllTransferList*>(p->ptr), struct AllTransferList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct AllTransferList*>(p->ptr), struct AllTransferList);
		break;
	case SOAP_TYPE_cwmp__InstallOpStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__InstallOpStruct*>(p->ptr), struct cwmp__InstallOpStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__InstallOpStruct*>(p->ptr), struct cwmp__InstallOpStruct);
		break;
	case SOAP_TYPE_cwmp__UpdateOpStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__UpdateOpStruct*>(p->ptr), struct cwmp__UpdateOpStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__UpdateOpStruct*>(p->ptr), struct cwmp__UpdateOpStruct);
		break;
	case SOAP_TYPE_cwmp__UninstallOpStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__UninstallOpStruct*>(p->ptr), struct cwmp__UninstallOpStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__UninstallOpStruct*>(p->ptr), struct cwmp__UninstallOpStruct);
		break;
	case SOAP_TYPE_cwmp__AutonOpResultStruct:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct cwmp__AutonOpResultStruct*>(p->ptr), struct cwmp__AutonOpResultStruct);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct cwmp__AutonOpResultStruct*>(p->ptr), struct cwmp__AutonOpResultStruct);
		break;
	case SOAP_TYPE_VoucherList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct VoucherList*>(p->ptr), struct VoucherList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct VoucherList*>(p->ptr), struct VoucherList);
		break;
	case SOAP_TYPE_OptionList:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct OptionList*>(p->ptr), struct OptionList);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct OptionList*>(p->ptr), struct OptionList);
		break;
	case SOAP_TYPE_FileTypeArg:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct FileTypeArg*>(p->ptr), struct FileTypeArg);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct FileTypeArg*>(p->ptr), struct FileTypeArg);
		break;
	case SOAP_TYPE__cwmp__SupportedCWMPVersions:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SupportedCWMPVersions*>(p->ptr), struct _cwmp__SupportedCWMPVersions);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SupportedCWMPVersions*>(p->ptr), struct _cwmp__SupportedCWMPVersions);
		break;
	case SOAP_TYPE__cwmp__UseCWMPVersion:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__UseCWMPVersion*>(p->ptr), struct _cwmp__UseCWMPVersion);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__UseCWMPVersion*>(p->ptr), struct _cwmp__UseCWMPVersion);
		break;
	case SOAP_TYPE__cwmp__SessionTimeout:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__SessionTimeout*>(p->ptr), struct _cwmp__SessionTimeout);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__SessionTimeout*>(p->ptr), struct _cwmp__SessionTimeout);
		break;
	case SOAP_TYPE__cwmp__ID:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__ID*>(p->ptr), struct _cwmp__ID);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__ID*>(p->ptr), struct _cwmp__ID);
		break;
	case SOAP_TYPE__cwmp__HoldRequests:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct _cwmp__HoldRequests*>(p->ptr), struct _cwmp__HoldRequests);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct _cwmp__HoldRequests*>(p->ptr), struct _cwmp__HoldRequests);
		break;
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Header:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Header*>(p->ptr), struct SOAP_ENV__Header);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Header*>(p->ptr), struct SOAP_ENV__Header);
		break;
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Detail:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Detail*>(p->ptr), struct SOAP_ENV__Detail);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Detail*>(p->ptr), struct SOAP_ENV__Detail);
		break;
#endif
	case SOAP_TYPE___cwmp__GetParameterNames:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__GetParameterNames*>(p->ptr), struct __cwmp__GetParameterNames);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__GetParameterNames*>(p->ptr), struct __cwmp__GetParameterNames);
		break;
	case SOAP_TYPE___cwmp__GetParameterValues:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__GetParameterValues*>(p->ptr), struct __cwmp__GetParameterValues);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__GetParameterValues*>(p->ptr), struct __cwmp__GetParameterValues);
		break;
	case SOAP_TYPE___cwmp__GetParameterValuesResponse:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__GetParameterValuesResponse*>(p->ptr), struct __cwmp__GetParameterValuesResponse);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__GetParameterValuesResponse*>(p->ptr), struct __cwmp__GetParameterValuesResponse);
		break;
	case SOAP_TYPE___cwmp__SetParameterValues:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__SetParameterValues*>(p->ptr), struct __cwmp__SetParameterValues);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__SetParameterValues*>(p->ptr), struct __cwmp__SetParameterValues);
		break;
	case SOAP_TYPE___cwmp__GetParameterAttributes:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__GetParameterAttributes*>(p->ptr), struct __cwmp__GetParameterAttributes);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__GetParameterAttributes*>(p->ptr), struct __cwmp__GetParameterAttributes);
		break;
	case SOAP_TYPE___cwmp__SetParameterAttributes:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__SetParameterAttributes*>(p->ptr), struct __cwmp__SetParameterAttributes);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__SetParameterAttributes*>(p->ptr), struct __cwmp__SetParameterAttributes);
		break;
	case SOAP_TYPE___cwmp__Download:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__Download*>(p->ptr), struct __cwmp__Download);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__Download*>(p->ptr), struct __cwmp__Download);
		break;
	case SOAP_TYPE___cwmp__Upload:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__Upload*>(p->ptr), struct __cwmp__Upload);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__Upload*>(p->ptr), struct __cwmp__Upload);
		break;
	case SOAP_TYPE___cwmp__AddObject:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__AddObject*>(p->ptr), struct __cwmp__AddObject);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__AddObject*>(p->ptr), struct __cwmp__AddObject);
		break;
	case SOAP_TYPE___cwmp__DeleteObject:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__DeleteObject*>(p->ptr), struct __cwmp__DeleteObject);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__DeleteObject*>(p->ptr), struct __cwmp__DeleteObject);
		break;
	case SOAP_TYPE___cwmp__GetRPCMethods:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__GetRPCMethods*>(p->ptr), struct __cwmp__GetRPCMethods);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__GetRPCMethods*>(p->ptr), struct __cwmp__GetRPCMethods);
		break;
	case SOAP_TYPE___cwmp__Inform:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct __cwmp__Inform*>(p->ptr), struct __cwmp__Inform);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct __cwmp__Inform*>(p->ptr), struct __cwmp__Inform);
		break;
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Code:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Code*>(p->ptr), struct SOAP_ENV__Code);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Code*>(p->ptr), struct SOAP_ENV__Code);
		break;
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Reason:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Reason*>(p->ptr), struct SOAP_ENV__Reason);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Reason*>(p->ptr), struct SOAP_ENV__Reason);
		break;
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Fault:
		if (p->size < 0)
			SOAP_DELETE(soap, static_cast<struct SOAP_ENV__Fault*>(p->ptr), struct SOAP_ENV__Fault);
		else
			SOAP_DELETE_ARRAY(soap, static_cast<struct SOAP_ENV__Fault*>(p->ptr), struct SOAP_ENV__Fault);
		break;
#endif
	default:
		return SOAP_ERR;
	}
	return SOAP_OK;
}

#ifdef WIN32
#pragma warning(push)
// do not warn on switch w/o cases
#pragma warning(disable:4065)
#endif
SOAP_FMAC3 int SOAP_FMAC4 soap_fbase(int t, int b)
{
	(void)t; (void)b; /* appease -Wall -Werror */
	return 0;
}
#ifdef WIN32
#pragma warning(pop)
#endif

#ifndef WITH_NOIDREF
#ifdef WIN32
#pragma warning(push)
// do not warn on switch w/o cases
#pragma warning(disable:4065)
#endif
SOAP_FMAC3 void SOAP_FMAC4 soap_finsert(struct soap *soap, int t, int tt, void *p, size_t index, const void *q, void **x)
{
	(void)soap; (void)t; (void)p; (void)index; (void)q; (void)x; /* appease -Wall -Werror */
	switch (tt)
	{
	case SOAP_TYPE_SOAP_ENC__base64:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct SOAP_ENC__base64 type=%d location=%p object=%p\n", t, p, q));
		*(struct SOAP_ENC__base64*)p = *(struct SOAP_ENC__base64*)q;
		break;
	case SOAP_TYPE_cwmp__TransferCompleteFaultStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__TransferCompleteFaultStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__TransferCompleteFaultStruct*)p = *(struct cwmp__TransferCompleteFaultStruct*)q;
		break;
	case SOAP_TYPE_cwmp__DeploymentUnitFaultStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__DeploymentUnitFaultStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__DeploymentUnitFaultStruct*)p = *(struct cwmp__DeploymentUnitFaultStruct*)q;
		break;
	case SOAP_TYPE_cwmp__ParameterValueStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__ParameterValueStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__ParameterValueStruct*)p = *(struct cwmp__ParameterValueStruct*)q;
		break;
	case SOAP_TYPE_cwmp__DeviceIdStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__DeviceIdStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__DeviceIdStruct*)p = *(struct cwmp__DeviceIdStruct*)q;
		break;
	case SOAP_TYPE_cwmp__EventStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__EventStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__EventStruct*)p = *(struct cwmp__EventStruct*)q;
		break;
	case SOAP_TYPE_cwmp__ParameterInfoStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__ParameterInfoStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__ParameterInfoStruct*)p = *(struct cwmp__ParameterInfoStruct*)q;
		break;
	case SOAP_TYPE_cwmp__SetParameterAttributesStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__SetParameterAttributesStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__SetParameterAttributesStruct*)p = *(struct cwmp__SetParameterAttributesStruct*)q;
		break;
	case SOAP_TYPE_cwmp__ParameterAttributeStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__ParameterAttributeStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__ParameterAttributeStruct*)p = *(struct cwmp__ParameterAttributeStruct*)q;
		break;
	case SOAP_TYPE_cwmp__TimeWindowStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__TimeWindowStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__TimeWindowStruct*)p = *(struct cwmp__TimeWindowStruct*)q;
		break;
	case SOAP_TYPE_cwmp__QueuedTransferStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__QueuedTransferStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__QueuedTransferStruct*)p = *(struct cwmp__QueuedTransferStruct*)q;
		break;
	case SOAP_TYPE_cwmp__AllQueuedTransferStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__AllQueuedTransferStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__AllQueuedTransferStruct*)p = *(struct cwmp__AllQueuedTransferStruct*)q;
		break;
	case SOAP_TYPE_cwmp__OperationStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__OperationStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__OperationStruct*)p = *(struct cwmp__OperationStruct*)q;
		break;
	case SOAP_TYPE_cwmp__OpResultStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__OpResultStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__OpResultStruct*)p = *(struct cwmp__OpResultStruct*)q;
		break;
	case SOAP_TYPE_cwmp__OptionStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__OptionStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__OptionStruct*)p = *(struct cwmp__OptionStruct*)q;
		break;
	case SOAP_TYPE_cwmp__ArgStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__ArgStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__ArgStruct*)p = *(struct cwmp__ArgStruct*)q;
		break;
	case SOAP_TYPE__cwmp__Fault_SetParameterValuesFault:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__Fault_SetParameterValuesFault type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__Fault_SetParameterValuesFault*)p = *(struct _cwmp__Fault_SetParameterValuesFault*)q;
		break;
	case SOAP_TYPE__cwmp__Fault:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__Fault type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__Fault*)p = *(struct _cwmp__Fault*)q;
		break;
	case SOAP_TYPE__cwmp__GetRPCMethods:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetRPCMethods type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetRPCMethods*)p = *(struct _cwmp__GetRPCMethods*)q;
		break;
	case SOAP_TYPE__cwmp__GetRPCMethodsResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetRPCMethodsResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetRPCMethodsResponse*)p = *(struct _cwmp__GetRPCMethodsResponse*)q;
		break;
	case SOAP_TYPE__cwmp__SetParameterValues:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SetParameterValues type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SetParameterValues*)p = *(struct _cwmp__SetParameterValues*)q;
		break;
	case SOAP_TYPE__cwmp__SetParameterValuesResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SetParameterValuesResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SetParameterValuesResponse*)p = *(struct _cwmp__SetParameterValuesResponse*)q;
		break;
	case SOAP_TYPE__cwmp__GetParameterValues:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetParameterValues type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetParameterValues*)p = *(struct _cwmp__GetParameterValues*)q;
		break;
	case SOAP_TYPE__cwmp__GetParameterValuesResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetParameterValuesResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetParameterValuesResponse*)p = *(struct _cwmp__GetParameterValuesResponse*)q;
		break;
	case SOAP_TYPE__cwmp__GetParameterNames:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetParameterNames type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetParameterNames*)p = *(struct _cwmp__GetParameterNames*)q;
		break;
	case SOAP_TYPE__cwmp__GetParameterNamesResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetParameterNamesResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetParameterNamesResponse*)p = *(struct _cwmp__GetParameterNamesResponse*)q;
		break;
	case SOAP_TYPE__cwmp__SetParameterAttributes:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SetParameterAttributes type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SetParameterAttributes*)p = *(struct _cwmp__SetParameterAttributes*)q;
		break;
	case SOAP_TYPE__cwmp__SetParameterAttributesResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SetParameterAttributesResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SetParameterAttributesResponse*)p = *(struct _cwmp__SetParameterAttributesResponse*)q;
		break;
	case SOAP_TYPE__cwmp__GetParameterAttributes:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetParameterAttributes type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetParameterAttributes*)p = *(struct _cwmp__GetParameterAttributes*)q;
		break;
	case SOAP_TYPE__cwmp__GetParameterAttributesResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetParameterAttributesResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetParameterAttributesResponse*)p = *(struct _cwmp__GetParameterAttributesResponse*)q;
		break;
	case SOAP_TYPE__cwmp__AddObject:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__AddObject type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__AddObject*)p = *(struct _cwmp__AddObject*)q;
		break;
	case SOAP_TYPE__cwmp__AddObjectResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__AddObjectResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__AddObjectResponse*)p = *(struct _cwmp__AddObjectResponse*)q;
		break;
	case SOAP_TYPE__cwmp__DeleteObject:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__DeleteObject type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__DeleteObject*)p = *(struct _cwmp__DeleteObject*)q;
		break;
	case SOAP_TYPE__cwmp__DeleteObjectResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__DeleteObjectResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__DeleteObjectResponse*)p = *(struct _cwmp__DeleteObjectResponse*)q;
		break;
	case SOAP_TYPE__cwmp__Download:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__Download type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__Download*)p = *(struct _cwmp__Download*)q;
		break;
	case SOAP_TYPE__cwmp__DownloadResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__DownloadResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__DownloadResponse*)p = *(struct _cwmp__DownloadResponse*)q;
		break;
	case SOAP_TYPE__cwmp__Reboot:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__Reboot type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__Reboot*)p = *(struct _cwmp__Reboot*)q;
		break;
	case SOAP_TYPE__cwmp__RebootResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__RebootResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__RebootResponse*)p = *(struct _cwmp__RebootResponse*)q;
		break;
	case SOAP_TYPE__cwmp__GetQueuedTransfers:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetQueuedTransfers type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetQueuedTransfers*)p = *(struct _cwmp__GetQueuedTransfers*)q;
		break;
	case SOAP_TYPE__cwmp__GetQueuedTransfersResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetQueuedTransfersResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetQueuedTransfersResponse*)p = *(struct _cwmp__GetQueuedTransfersResponse*)q;
		break;
	case SOAP_TYPE__cwmp__ScheduleInform:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__ScheduleInform type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__ScheduleInform*)p = *(struct _cwmp__ScheduleInform*)q;
		break;
	case SOAP_TYPE__cwmp__ScheduleInformResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__ScheduleInformResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__ScheduleInformResponse*)p = *(struct _cwmp__ScheduleInformResponse*)q;
		break;
	case SOAP_TYPE__cwmp__SetVouchers:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SetVouchers type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SetVouchers*)p = *(struct _cwmp__SetVouchers*)q;
		break;
	case SOAP_TYPE__cwmp__SetVouchersResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SetVouchersResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SetVouchersResponse*)p = *(struct _cwmp__SetVouchersResponse*)q;
		break;
	case SOAP_TYPE__cwmp__GetOptions:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetOptions type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetOptions*)p = *(struct _cwmp__GetOptions*)q;
		break;
	case SOAP_TYPE__cwmp__GetOptionsResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetOptionsResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetOptionsResponse*)p = *(struct _cwmp__GetOptionsResponse*)q;
		break;
	case SOAP_TYPE__cwmp__Upload:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__Upload type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__Upload*)p = *(struct _cwmp__Upload*)q;
		break;
	case SOAP_TYPE__cwmp__UploadResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__UploadResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__UploadResponse*)p = *(struct _cwmp__UploadResponse*)q;
		break;
	case SOAP_TYPE__cwmp__FactoryReset:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__FactoryReset type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__FactoryReset*)p = *(struct _cwmp__FactoryReset*)q;
		break;
	case SOAP_TYPE__cwmp__FactoryResetResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__FactoryResetResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__FactoryResetResponse*)p = *(struct _cwmp__FactoryResetResponse*)q;
		break;
	case SOAP_TYPE__cwmp__GetAllQueuedTransfers:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetAllQueuedTransfers type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetAllQueuedTransfers*)p = *(struct _cwmp__GetAllQueuedTransfers*)q;
		break;
	case SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__GetAllQueuedTransfersResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__GetAllQueuedTransfersResponse*)p = *(struct _cwmp__GetAllQueuedTransfersResponse*)q;
		break;
	case SOAP_TYPE__cwmp__ScheduleDownload:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__ScheduleDownload type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__ScheduleDownload*)p = *(struct _cwmp__ScheduleDownload*)q;
		break;
	case SOAP_TYPE__cwmp__ScheduleDownloadResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__ScheduleDownloadResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__ScheduleDownloadResponse*)p = *(struct _cwmp__ScheduleDownloadResponse*)q;
		break;
	case SOAP_TYPE__cwmp__CancelTransfer:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__CancelTransfer type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__CancelTransfer*)p = *(struct _cwmp__CancelTransfer*)q;
		break;
	case SOAP_TYPE__cwmp__CancelTransferResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__CancelTransferResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__CancelTransferResponse*)p = *(struct _cwmp__CancelTransferResponse*)q;
		break;
	case SOAP_TYPE__cwmp__ChangeDUState:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__ChangeDUState type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__ChangeDUState*)p = *(struct _cwmp__ChangeDUState*)q;
		break;
	case SOAP_TYPE__cwmp__ChangeDUStateResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__ChangeDUStateResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__ChangeDUStateResponse*)p = *(struct _cwmp__ChangeDUStateResponse*)q;
		break;
	case SOAP_TYPE__cwmp__Inform:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__Inform type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__Inform*)p = *(struct _cwmp__Inform*)q;
		break;
	case SOAP_TYPE__cwmp__InformResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__InformResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__InformResponse*)p = *(struct _cwmp__InformResponse*)q;
		break;
	case SOAP_TYPE__cwmp__TransferComplete:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__TransferComplete type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__TransferComplete*)p = *(struct _cwmp__TransferComplete*)q;
		break;
	case SOAP_TYPE__cwmp__TransferCompleteResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__TransferCompleteResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__TransferCompleteResponse*)p = *(struct _cwmp__TransferCompleteResponse*)q;
		break;
	case SOAP_TYPE__cwmp__AutonomousTransferComplete:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__AutonomousTransferComplete type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__AutonomousTransferComplete*)p = *(struct _cwmp__AutonomousTransferComplete*)q;
		break;
	case SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__AutonomousTransferCompleteResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__AutonomousTransferCompleteResponse*)p = *(struct _cwmp__AutonomousTransferCompleteResponse*)q;
		break;
	case SOAP_TYPE__cwmp__Kicked:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__Kicked type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__Kicked*)p = *(struct _cwmp__Kicked*)q;
		break;
	case SOAP_TYPE__cwmp__KickedResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__KickedResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__KickedResponse*)p = *(struct _cwmp__KickedResponse*)q;
		break;
	case SOAP_TYPE__cwmp__RequestDownload:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__RequestDownload type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__RequestDownload*)p = *(struct _cwmp__RequestDownload*)q;
		break;
	case SOAP_TYPE__cwmp__RequestDownloadResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__RequestDownloadResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__RequestDownloadResponse*)p = *(struct _cwmp__RequestDownloadResponse*)q;
		break;
	case SOAP_TYPE__cwmp__DUStateChangeComplete:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__DUStateChangeComplete type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__DUStateChangeComplete*)p = *(struct _cwmp__DUStateChangeComplete*)q;
		break;
	case SOAP_TYPE__cwmp__DUStateChangeCompleteResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__DUStateChangeCompleteResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__DUStateChangeCompleteResponse*)p = *(struct _cwmp__DUStateChangeCompleteResponse*)q;
		break;
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__AutonomousDUStateChangeComplete type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__AutonomousDUStateChangeComplete*)p = *(struct _cwmp__AutonomousDUStateChangeComplete*)q;
		break;
	case SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__AutonomousDUStateChangeCompleteResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__AutonomousDUStateChangeCompleteResponse*)p = *(struct _cwmp__AutonomousDUStateChangeCompleteResponse*)q;
		break;
	case SOAP_TYPE_ParameterNames:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct ParameterNames type=%d location=%p object=%p\n", t, p, q));
		*(struct ParameterNames*)p = *(struct ParameterNames*)q;
		break;
	case SOAP_TYPE_ParameterValueList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct ParameterValueList type=%d location=%p object=%p\n", t, p, q));
		*(struct ParameterValueList*)p = *(struct ParameterValueList*)q;
		break;
	case SOAP_TYPE_MethodList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct MethodList type=%d location=%p object=%p\n", t, p, q));
		*(struct MethodList*)p = *(struct MethodList*)q;
		break;
	case SOAP_TYPE_EventList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct EventList type=%d location=%p object=%p\n", t, p, q));
		*(struct EventList*)p = *(struct EventList*)q;
		break;
	case SOAP_TYPE_ParameterInfoList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct ParameterInfoList type=%d location=%p object=%p\n", t, p, q));
		*(struct ParameterInfoList*)p = *(struct ParameterInfoList*)q;
		break;
	case SOAP_TYPE_AccessList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct AccessList type=%d location=%p object=%p\n", t, p, q));
		*(struct AccessList*)p = *(struct AccessList*)q;
		break;
	case SOAP_TYPE_SetParameterAttributesList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct SetParameterAttributesList type=%d location=%p object=%p\n", t, p, q));
		*(struct SetParameterAttributesList*)p = *(struct SetParameterAttributesList*)q;
		break;
	case SOAP_TYPE_ParameterAttributeList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct ParameterAttributeList type=%d location=%p object=%p\n", t, p, q));
		*(struct ParameterAttributeList*)p = *(struct ParameterAttributeList*)q;
		break;
	case SOAP_TYPE_TimeWindowList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct TimeWindowList type=%d location=%p object=%p\n", t, p, q));
		*(struct TimeWindowList*)p = *(struct TimeWindowList*)q;
		break;
	case SOAP_TYPE_TransferList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct TransferList type=%d location=%p object=%p\n", t, p, q));
		*(struct TransferList*)p = *(struct TransferList*)q;
		break;
	case SOAP_TYPE_AllTransferList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct AllTransferList type=%d location=%p object=%p\n", t, p, q));
		*(struct AllTransferList*)p = *(struct AllTransferList*)q;
		break;
	case SOAP_TYPE_cwmp__InstallOpStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__InstallOpStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__InstallOpStruct*)p = *(struct cwmp__InstallOpStruct*)q;
		break;
	case SOAP_TYPE_cwmp__UpdateOpStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__UpdateOpStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__UpdateOpStruct*)p = *(struct cwmp__UpdateOpStruct*)q;
		break;
	case SOAP_TYPE_cwmp__UninstallOpStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__UninstallOpStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__UninstallOpStruct*)p = *(struct cwmp__UninstallOpStruct*)q;
		break;
	case SOAP_TYPE_cwmp__AutonOpResultStruct:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct cwmp__AutonOpResultStruct type=%d location=%p object=%p\n", t, p, q));
		*(struct cwmp__AutonOpResultStruct*)p = *(struct cwmp__AutonOpResultStruct*)q;
		break;
	case SOAP_TYPE_VoucherList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct VoucherList type=%d location=%p object=%p\n", t, p, q));
		*(struct VoucherList*)p = *(struct VoucherList*)q;
		break;
	case SOAP_TYPE_OptionList:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct OptionList type=%d location=%p object=%p\n", t, p, q));
		*(struct OptionList*)p = *(struct OptionList*)q;
		break;
	case SOAP_TYPE_FileTypeArg:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct FileTypeArg type=%d location=%p object=%p\n", t, p, q));
		*(struct FileTypeArg*)p = *(struct FileTypeArg*)q;
		break;
	case SOAP_TYPE__cwmp__SupportedCWMPVersions:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SupportedCWMPVersions type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SupportedCWMPVersions*)p = *(struct _cwmp__SupportedCWMPVersions*)q;
		break;
	case SOAP_TYPE__cwmp__UseCWMPVersion:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__UseCWMPVersion type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__UseCWMPVersion*)p = *(struct _cwmp__UseCWMPVersion*)q;
		break;
	case SOAP_TYPE__cwmp__SessionTimeout:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__SessionTimeout type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__SessionTimeout*)p = *(struct _cwmp__SessionTimeout*)q;
		break;
	case SOAP_TYPE__cwmp__ID:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__ID type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__ID*)p = *(struct _cwmp__ID*)q;
		break;
	case SOAP_TYPE__cwmp__HoldRequests:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct _cwmp__HoldRequests type=%d location=%p object=%p\n", t, p, q));
		*(struct _cwmp__HoldRequests*)p = *(struct _cwmp__HoldRequests*)q;
		break;
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Header:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct SOAP_ENV__Header type=%d location=%p object=%p\n", t, p, q));
		*(struct SOAP_ENV__Header*)p = *(struct SOAP_ENV__Header*)q;
		break;
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Detail:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct SOAP_ENV__Detail type=%d location=%p object=%p\n", t, p, q));
		*(struct SOAP_ENV__Detail*)p = *(struct SOAP_ENV__Detail*)q;
		break;
#endif
	case SOAP_TYPE___cwmp__GetParameterNames:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__GetParameterNames type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__GetParameterNames*)p = *(struct __cwmp__GetParameterNames*)q;
		break;
	case SOAP_TYPE___cwmp__GetParameterValues:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__GetParameterValues type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__GetParameterValues*)p = *(struct __cwmp__GetParameterValues*)q;
		break;
	case SOAP_TYPE___cwmp__GetParameterValuesResponse:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__GetParameterValuesResponse type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__GetParameterValuesResponse*)p = *(struct __cwmp__GetParameterValuesResponse*)q;
		break;
	case SOAP_TYPE___cwmp__SetParameterValues:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__SetParameterValues type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__SetParameterValues*)p = *(struct __cwmp__SetParameterValues*)q;
		break;
	case SOAP_TYPE___cwmp__GetParameterAttributes:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__GetParameterAttributes type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__GetParameterAttributes*)p = *(struct __cwmp__GetParameterAttributes*)q;
		break;
	case SOAP_TYPE___cwmp__SetParameterAttributes:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__SetParameterAttributes type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__SetParameterAttributes*)p = *(struct __cwmp__SetParameterAttributes*)q;
		break;
	case SOAP_TYPE___cwmp__Download:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__Download type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__Download*)p = *(struct __cwmp__Download*)q;
		break;
	case SOAP_TYPE___cwmp__Upload:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__Upload type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__Upload*)p = *(struct __cwmp__Upload*)q;
		break;
	case SOAP_TYPE___cwmp__AddObject:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__AddObject type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__AddObject*)p = *(struct __cwmp__AddObject*)q;
		break;
	case SOAP_TYPE___cwmp__DeleteObject:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__DeleteObject type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__DeleteObject*)p = *(struct __cwmp__DeleteObject*)q;
		break;
	case SOAP_TYPE___cwmp__GetRPCMethods:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__GetRPCMethods type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__GetRPCMethods*)p = *(struct __cwmp__GetRPCMethods*)q;
		break;
	case SOAP_TYPE___cwmp__Inform:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct __cwmp__Inform type=%d location=%p object=%p\n", t, p, q));
		*(struct __cwmp__Inform*)p = *(struct __cwmp__Inform*)q;
		break;
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Code:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct SOAP_ENV__Code type=%d location=%p object=%p\n", t, p, q));
		*(struct SOAP_ENV__Code*)p = *(struct SOAP_ENV__Code*)q;
		break;
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Reason:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct SOAP_ENV__Reason type=%d location=%p object=%p\n", t, p, q));
		*(struct SOAP_ENV__Reason*)p = *(struct SOAP_ENV__Reason*)q;
		break;
#endif
#ifndef WITH_NOGLOBAL
	case SOAP_TYPE_SOAP_ENV__Fault:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copy struct SOAP_ENV__Fault type=%d location=%p object=%p\n", t, p, q));
		*(struct SOAP_ENV__Fault*)p = *(struct SOAP_ENV__Fault*)q;
		break;
#endif
	default:
		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Could not insert type=%d in %d\n", t, tt));
	}
}
#ifdef WIN32
#pragma warning(pop)
#endif
#endif

SOAP_FMAC3 int SOAP_FMAC4 soap_out_byte(struct soap *soap, const char *tag, int id, const char *a, const char *type)
{
	return soap_outbyte(soap, tag, id, a, type, SOAP_TYPE_byte);
}

SOAP_FMAC3 char * SOAP_FMAC4 soap_in_byte(struct soap *soap, const char *tag, char *a, const char *type)
{
	a = soap_inbyte(soap, tag, a, type, SOAP_TYPE_byte);
	return a;
}

SOAP_FMAC3 char * SOAP_FMAC4 soap_new_byte(struct soap *soap, int n)
{
	char *a = static_cast<char *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(char)));
	for (char *p = a; p && n--; ++p)
		soap_default_byte(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_byte(struct soap *soap, const char *a, const char *tag, const char *type)
{
	if (soap_out_byte(soap, tag ? tag : "byte", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char * SOAP_FMAC4 soap_get_byte(struct soap *soap, char *p, const char *tag, const char *type)
{
	if ((p = soap_in_byte(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_int(struct soap *soap, const char *tag, int id, const int *a, const char *type)
{
	return soap_outint(soap, tag, id, a, type, SOAP_TYPE_int);
}

SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap *soap, const char *tag, int *a, const char *type)
{
	a = soap_inint(soap, tag, a, type, SOAP_TYPE_int);
	return a;
}

SOAP_FMAC3 int * SOAP_FMAC4 soap_new_int(struct soap *soap, int n)
{
	int *a = static_cast<int *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(int)));
	for (int *p = a; p && n--; ++p)
		soap_default_int(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_int(struct soap *soap, const int *a, const char *tag, const char *type)
{
	if (soap_out_int(soap, tag ? tag : "int", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 int * SOAP_FMAC4 soap_get_int(struct soap *soap, int *p, const char *tag, const char *type)
{
	if ((p = soap_in_int(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_unsignedByte(struct soap *soap, const char *tag, int id, const unsigned char *a, const char *type)
{
	return soap_outunsignedByte(soap, tag, id, a, type, SOAP_TYPE_unsignedByte);
}

SOAP_FMAC3 unsigned char * SOAP_FMAC4 soap_in_unsignedByte(struct soap *soap, const char *tag, unsigned char *a, const char *type)
{
	a = soap_inunsignedByte(soap, tag, a, type, SOAP_TYPE_unsignedByte);
	return a;
}

SOAP_FMAC3 unsigned char * SOAP_FMAC4 soap_new_unsignedByte(struct soap *soap, int n)
{
	unsigned char *a = static_cast<unsigned char *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(unsigned char)));
	for (unsigned char *p = a; p && n--; ++p)
		soap_default_unsignedByte(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_unsignedByte(struct soap *soap, const unsigned char *a, const char *tag, const char *type)
{
	if (soap_out_unsignedByte(soap, tag ? tag : "unsignedByte", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned char * SOAP_FMAC4 soap_get_unsignedByte(struct soap *soap, unsigned char *p, const char *tag, const char *type)
{
	if ((p = soap_in_unsignedByte(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ACSVendorFaultCodeType(struct soap *soap, const char *tag, int id, const unsigned int *a, const char *type)
{
	return soap_outunsignedInt(soap, tag, id, a, type, SOAP_TYPE_cwmp__ACSVendorFaultCodeType);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__ACSVendorFaultCodeType(struct soap *soap, const char *s, unsigned int *a)
{
	int err = soap_s2unsignedInt(soap, s, a);
	if (!err)
	{
		if (*a < 8800)
			return soap->error = SOAP_LENGTH;
		if (*a > 8899)
			return soap->error = SOAP_LENGTH;
	}
	return err;
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_in_cwmp__ACSVendorFaultCodeType(struct soap *soap, const char *tag, unsigned int *a, const char *type)
{
	a = soap_inunsignedInt(soap, tag, a, type, SOAP_TYPE_cwmp__ACSVendorFaultCodeType);
	if (a && *a < 8800)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	if (a && *a > 8899)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ACSVendorFaultCodeType(struct soap *soap, const unsigned int *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ACSVendorFaultCodeType(soap, tag ? tag : "cwmp:ACSVendorFaultCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_get_cwmp__ACSVendorFaultCodeType(struct soap *soap, unsigned int *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ACSVendorFaultCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ACSFaultCodeType(struct soap *soap, const char *tag, int id, const unsigned int *a, const char *type)
{
	return soap_outunsignedInt(soap, tag, id, a, type, SOAP_TYPE_cwmp__ACSFaultCodeType);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__ACSFaultCodeType(struct soap *soap, const char *s, unsigned int *a)
{
	int err = soap_s2unsignedInt(soap, s, a);
	if (!err)
	{
		if (*a < 8000)
			return soap->error = SOAP_LENGTH;
		if (*a > 8799)
			return soap->error = SOAP_LENGTH;
	}
	return err;
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_in_cwmp__ACSFaultCodeType(struct soap *soap, const char *tag, unsigned int *a, const char *type)
{
	a = soap_inunsignedInt(soap, tag, a, type, SOAP_TYPE_cwmp__ACSFaultCodeType);
	if (a && *a < 8000)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	if (a && *a > 8799)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ACSFaultCodeType(struct soap *soap, const unsigned int *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ACSFaultCodeType(soap, tag ? tag : "cwmp:ACSFaultCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_get_cwmp__ACSFaultCodeType(struct soap *soap, unsigned int *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ACSFaultCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__CPEVendorFaultCodeType(struct soap *soap, const char *tag, int id, const unsigned int *a, const char *type)
{
	return soap_outunsignedInt(soap, tag, id, a, type, SOAP_TYPE_cwmp__CPEVendorFaultCodeType);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__CPEVendorFaultCodeType(struct soap *soap, const char *s, unsigned int *a)
{
	int err = soap_s2unsignedInt(soap, s, a);
	if (!err)
	{
		if (*a < 9800)
			return soap->error = SOAP_LENGTH;
		if (*a > 9899)
			return soap->error = SOAP_LENGTH;
	}
	return err;
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_in_cwmp__CPEVendorFaultCodeType(struct soap *soap, const char *tag, unsigned int *a, const char *type)
{
	a = soap_inunsignedInt(soap, tag, a, type, SOAP_TYPE_cwmp__CPEVendorFaultCodeType);
	if (a && *a < 9800)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	if (a && *a > 9899)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__CPEVendorFaultCodeType(struct soap *soap, const unsigned int *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__CPEVendorFaultCodeType(soap, tag ? tag : "cwmp:CPEVendorFaultCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_get_cwmp__CPEVendorFaultCodeType(struct soap *soap, unsigned int *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__CPEVendorFaultCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__CPEExtensionFaultCodeType(struct soap *soap, const char *tag, int id, const unsigned int *a, const char *type)
{
	return soap_outunsignedInt(soap, tag, id, a, type, SOAP_TYPE_cwmp__CPEExtensionFaultCodeType);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__CPEExtensionFaultCodeType(struct soap *soap, const char *s, unsigned int *a)
{
	int err = soap_s2unsignedInt(soap, s, a);
	if (!err)
	{
		if (*a < 9033)
			return soap->error = SOAP_LENGTH;
		if (*a > 9799)
			return soap->error = SOAP_LENGTH;
	}
	return err;
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_in_cwmp__CPEExtensionFaultCodeType(struct soap *soap, const char *tag, unsigned int *a, const char *type)
{
	a = soap_inunsignedInt(soap, tag, a, type, SOAP_TYPE_cwmp__CPEExtensionFaultCodeType);
	if (a && *a < 9033)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	if (a && *a > 9799)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__CPEExtensionFaultCodeType(struct soap *soap, const unsigned int *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__CPEExtensionFaultCodeType(soap, tag ? tag : "cwmp:CPEExtensionFaultCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_get_cwmp__CPEExtensionFaultCodeType(struct soap *soap, unsigned int *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__CPEExtensionFaultCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__CPEFaultCodeType(struct soap *soap, const char *tag, int id, const unsigned int *a, const char *type)
{
	return soap_outunsignedInt(soap, tag, id, a, type, SOAP_TYPE_cwmp__CPEFaultCodeType);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__CPEFaultCodeType(struct soap *soap, const char *s, unsigned int *a)
{
	int err = soap_s2unsignedInt(soap, s, a);
	if (!err)
	{
		if (*a < 9000)
			return soap->error = SOAP_LENGTH;
		if (*a > 9799)
			return soap->error = SOAP_LENGTH;
	}
	return err;
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_in_cwmp__CPEFaultCodeType(struct soap *soap, const char *tag, unsigned int *a, const char *type)
{
	a = soap_inunsignedInt(soap, tag, a, type, SOAP_TYPE_cwmp__CPEFaultCodeType);
	if (a && *a < 9000)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	if (a && *a > 9799)
	{	soap->error = SOAP_LENGTH;
		return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__CPEFaultCodeType(struct soap *soap, const unsigned int *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__CPEFaultCodeType(soap, tag ? tag : "cwmp:CPEFaultCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_get_cwmp__CPEFaultCodeType(struct soap *soap, unsigned int *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__CPEFaultCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_unsignedInt(struct soap *soap, const char *tag, int id, const unsigned int *a, const char *type)
{
	return soap_outunsignedInt(soap, tag, id, a, type, SOAP_TYPE_unsignedInt);
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_in_unsignedInt(struct soap *soap, const char *tag, unsigned int *a, const char *type)
{
	a = soap_inunsignedInt(soap, tag, a, type, SOAP_TYPE_unsignedInt);
	return a;
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_new_unsignedInt(struct soap *soap, int n)
{
	unsigned int *a = static_cast<unsigned int *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(unsigned int)));
	for (unsigned int *p = a; p && n--; ++p)
		soap_default_unsignedInt(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_unsignedInt(struct soap *soap, const unsigned int *a, const char *tag, const char *type)
{
	if (soap_out_unsignedInt(soap, tag ? tag : "unsignedInt", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned int * SOAP_FMAC4 soap_get_unsignedInt(struct soap *soap, unsigned int *p, const char *tag, const char *type)
{
	if ((p = soap_in_unsignedInt(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_dateTime(struct soap *soap, const char *tag, int id, const time_t *a, const char *type)
{
	return soap_outdateTime(soap, tag, id, a, type, SOAP_TYPE_dateTime);
}

SOAP_FMAC3 time_t * SOAP_FMAC4 soap_in_dateTime(struct soap *soap, const char *tag, time_t *a, const char *type)
{
	a = soap_indateTime(soap, tag, a, type, SOAP_TYPE_dateTime);
	return a;
}

SOAP_FMAC3 time_t * SOAP_FMAC4 soap_new_dateTime(struct soap *soap, int n)
{
	time_t *a = static_cast<time_t *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(time_t)));
	for (time_t *p = a; p && n--; ++p)
		soap_default_dateTime(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_dateTime(struct soap *soap, const time_t *a, const char *tag, const char *type)
{
	if (soap_out_dateTime(soap, tag ? tag : "dateTime", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 time_t * SOAP_FMAC4 soap_get_dateTime(struct soap *soap, time_t *p, const char *tag, const char *type)
{
	if ((p = soap_in_dateTime(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__UploadResponse_Status[] =
{	{ (LONG64)_cwmp__UploadResponse_Status__0, "0" },
	{ (LONG64)_cwmp__UploadResponse_Status__1, "1" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__UploadResponse_Status2s(struct soap *soap, enum _cwmp__UploadResponse_Status n)
{
	const char *s = soap_code_str(soap_codes__cwmp__UploadResponse_Status, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__UploadResponse_Status(struct soap *soap, const char *tag, int id, const enum _cwmp__UploadResponse_Status *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__UploadResponse_Status), type) || soap_send(soap, soap__cwmp__UploadResponse_Status2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__UploadResponse_Status(struct soap *soap, const char *s, enum _cwmp__UploadResponse_Status *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__UploadResponse_Status, s);
	if (map)
		*a = (enum _cwmp__UploadResponse_Status)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 1)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__UploadResponse_Status)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__UploadResponse_Status * SOAP_FMAC4 soap_in__cwmp__UploadResponse_Status(struct soap *soap, const char *tag, enum _cwmp__UploadResponse_Status *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__UploadResponse_Status*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__UploadResponse_Status, sizeof(enum _cwmp__UploadResponse_Status), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__UploadResponse_Status(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__UploadResponse_Status *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__UploadResponse_Status, SOAP_TYPE__cwmp__UploadResponse_Status, sizeof(enum _cwmp__UploadResponse_Status), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__UploadResponse_Status * SOAP_FMAC4 soap_new__cwmp__UploadResponse_Status(struct soap *soap, int n)
{
	enum _cwmp__UploadResponse_Status *a = static_cast<enum _cwmp__UploadResponse_Status *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__UploadResponse_Status)));
	for (enum _cwmp__UploadResponse_Status *p = a; p && n--; ++p)
		soap_default__cwmp__UploadResponse_Status(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__UploadResponse_Status(struct soap *soap, const enum _cwmp__UploadResponse_Status *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__UploadResponse_Status(soap, tag ? tag : "cwmp:UploadResponse-Status", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__UploadResponse_Status * SOAP_FMAC4 soap_get__cwmp__UploadResponse_Status(struct soap *soap, enum _cwmp__UploadResponse_Status *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__UploadResponse_Status(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__DownloadResponse_Status[] =
{	{ (LONG64)_cwmp__DownloadResponse_Status__0, "0" },
	{ (LONG64)_cwmp__DownloadResponse_Status__1, "1" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__DownloadResponse_Status2s(struct soap *soap, enum _cwmp__DownloadResponse_Status n)
{
	const char *s = soap_code_str(soap_codes__cwmp__DownloadResponse_Status, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__DownloadResponse_Status(struct soap *soap, const char *tag, int id, const enum _cwmp__DownloadResponse_Status *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__DownloadResponse_Status), type) || soap_send(soap, soap__cwmp__DownloadResponse_Status2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__DownloadResponse_Status(struct soap *soap, const char *s, enum _cwmp__DownloadResponse_Status *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__DownloadResponse_Status, s);
	if (map)
		*a = (enum _cwmp__DownloadResponse_Status)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 1)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__DownloadResponse_Status)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__DownloadResponse_Status * SOAP_FMAC4 soap_in__cwmp__DownloadResponse_Status(struct soap *soap, const char *tag, enum _cwmp__DownloadResponse_Status *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__DownloadResponse_Status*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__DownloadResponse_Status, sizeof(enum _cwmp__DownloadResponse_Status), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__DownloadResponse_Status(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__DownloadResponse_Status *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__DownloadResponse_Status, SOAP_TYPE__cwmp__DownloadResponse_Status, sizeof(enum _cwmp__DownloadResponse_Status), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__DownloadResponse_Status * SOAP_FMAC4 soap_new__cwmp__DownloadResponse_Status(struct soap *soap, int n)
{
	enum _cwmp__DownloadResponse_Status *a = static_cast<enum _cwmp__DownloadResponse_Status *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__DownloadResponse_Status)));
	for (enum _cwmp__DownloadResponse_Status *p = a; p && n--; ++p)
		soap_default__cwmp__DownloadResponse_Status(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__DownloadResponse_Status(struct soap *soap, const enum _cwmp__DownloadResponse_Status *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__DownloadResponse_Status(soap, tag ? tag : "cwmp:DownloadResponse-Status", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__DownloadResponse_Status * SOAP_FMAC4 soap_get__cwmp__DownloadResponse_Status(struct soap *soap, enum _cwmp__DownloadResponse_Status *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__DownloadResponse_Status(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__DeleteObjectResponse_Status[] =
{	{ (LONG64)_cwmp__DeleteObjectResponse_Status__0, "0" },
	{ (LONG64)_cwmp__DeleteObjectResponse_Status__1, "1" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__DeleteObjectResponse_Status2s(struct soap *soap, enum _cwmp__DeleteObjectResponse_Status n)
{
	const char *s = soap_code_str(soap_codes__cwmp__DeleteObjectResponse_Status, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__DeleteObjectResponse_Status(struct soap *soap, const char *tag, int id, const enum _cwmp__DeleteObjectResponse_Status *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__DeleteObjectResponse_Status), type) || soap_send(soap, soap__cwmp__DeleteObjectResponse_Status2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__DeleteObjectResponse_Status(struct soap *soap, const char *s, enum _cwmp__DeleteObjectResponse_Status *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__DeleteObjectResponse_Status, s);
	if (map)
		*a = (enum _cwmp__DeleteObjectResponse_Status)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 1)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__DeleteObjectResponse_Status)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__DeleteObjectResponse_Status * SOAP_FMAC4 soap_in__cwmp__DeleteObjectResponse_Status(struct soap *soap, const char *tag, enum _cwmp__DeleteObjectResponse_Status *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__DeleteObjectResponse_Status*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__DeleteObjectResponse_Status, sizeof(enum _cwmp__DeleteObjectResponse_Status), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__DeleteObjectResponse_Status(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__DeleteObjectResponse_Status *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__DeleteObjectResponse_Status, SOAP_TYPE__cwmp__DeleteObjectResponse_Status, sizeof(enum _cwmp__DeleteObjectResponse_Status), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__DeleteObjectResponse_Status * SOAP_FMAC4 soap_new__cwmp__DeleteObjectResponse_Status(struct soap *soap, int n)
{
	enum _cwmp__DeleteObjectResponse_Status *a = static_cast<enum _cwmp__DeleteObjectResponse_Status *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__DeleteObjectResponse_Status)));
	for (enum _cwmp__DeleteObjectResponse_Status *p = a; p && n--; ++p)
		soap_default__cwmp__DeleteObjectResponse_Status(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__DeleteObjectResponse_Status(struct soap *soap, const enum _cwmp__DeleteObjectResponse_Status *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__DeleteObjectResponse_Status(soap, tag ? tag : "cwmp:DeleteObjectResponse-Status", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__DeleteObjectResponse_Status * SOAP_FMAC4 soap_get__cwmp__DeleteObjectResponse_Status(struct soap *soap, enum _cwmp__DeleteObjectResponse_Status *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__DeleteObjectResponse_Status(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__AddObjectResponse_Status[] =
{	{ (LONG64)_cwmp__AddObjectResponse_Status__0, "0" },
	{ (LONG64)_cwmp__AddObjectResponse_Status__1, "1" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__AddObjectResponse_Status2s(struct soap *soap, enum _cwmp__AddObjectResponse_Status n)
{
	const char *s = soap_code_str(soap_codes__cwmp__AddObjectResponse_Status, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__AddObjectResponse_Status(struct soap *soap, const char *tag, int id, const enum _cwmp__AddObjectResponse_Status *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__AddObjectResponse_Status), type) || soap_send(soap, soap__cwmp__AddObjectResponse_Status2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__AddObjectResponse_Status(struct soap *soap, const char *s, enum _cwmp__AddObjectResponse_Status *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__AddObjectResponse_Status, s);
	if (map)
		*a = (enum _cwmp__AddObjectResponse_Status)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 1)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__AddObjectResponse_Status)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__AddObjectResponse_Status * SOAP_FMAC4 soap_in__cwmp__AddObjectResponse_Status(struct soap *soap, const char *tag, enum _cwmp__AddObjectResponse_Status *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__AddObjectResponse_Status*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__AddObjectResponse_Status, sizeof(enum _cwmp__AddObjectResponse_Status), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__AddObjectResponse_Status(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__AddObjectResponse_Status *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__AddObjectResponse_Status, SOAP_TYPE__cwmp__AddObjectResponse_Status, sizeof(enum _cwmp__AddObjectResponse_Status), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__AddObjectResponse_Status * SOAP_FMAC4 soap_new__cwmp__AddObjectResponse_Status(struct soap *soap, int n)
{
	enum _cwmp__AddObjectResponse_Status *a = static_cast<enum _cwmp__AddObjectResponse_Status *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__AddObjectResponse_Status)));
	for (enum _cwmp__AddObjectResponse_Status *p = a; p && n--; ++p)
		soap_default__cwmp__AddObjectResponse_Status(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__AddObjectResponse_Status(struct soap *soap, const enum _cwmp__AddObjectResponse_Status *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__AddObjectResponse_Status(soap, tag ? tag : "cwmp:AddObjectResponse-Status", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__AddObjectResponse_Status * SOAP_FMAC4 soap_get__cwmp__AddObjectResponse_Status(struct soap *soap, enum _cwmp__AddObjectResponse_Status *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__AddObjectResponse_Status(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__SetParameterValuesResponse_Status[] =
{	{ (LONG64)_cwmp__SetParameterValuesResponse_Status__0, "0" },
	{ (LONG64)_cwmp__SetParameterValuesResponse_Status__1, "1" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__SetParameterValuesResponse_Status2s(struct soap *soap, enum _cwmp__SetParameterValuesResponse_Status n)
{
	const char *s = soap_code_str(soap_codes__cwmp__SetParameterValuesResponse_Status, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SetParameterValuesResponse_Status(struct soap *soap, const char *tag, int id, const enum _cwmp__SetParameterValuesResponse_Status *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__SetParameterValuesResponse_Status), type) || soap_send(soap, soap__cwmp__SetParameterValuesResponse_Status2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__SetParameterValuesResponse_Status(struct soap *soap, const char *s, enum _cwmp__SetParameterValuesResponse_Status *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__SetParameterValuesResponse_Status, s);
	if (map)
		*a = (enum _cwmp__SetParameterValuesResponse_Status)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 1)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__SetParameterValuesResponse_Status)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__SetParameterValuesResponse_Status * SOAP_FMAC4 soap_in__cwmp__SetParameterValuesResponse_Status(struct soap *soap, const char *tag, enum _cwmp__SetParameterValuesResponse_Status *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__SetParameterValuesResponse_Status*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SetParameterValuesResponse_Status, sizeof(enum _cwmp__SetParameterValuesResponse_Status), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__SetParameterValuesResponse_Status(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__SetParameterValuesResponse_Status *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__SetParameterValuesResponse_Status, SOAP_TYPE__cwmp__SetParameterValuesResponse_Status, sizeof(enum _cwmp__SetParameterValuesResponse_Status), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__SetParameterValuesResponse_Status * SOAP_FMAC4 soap_new__cwmp__SetParameterValuesResponse_Status(struct soap *soap, int n)
{
	enum _cwmp__SetParameterValuesResponse_Status *a = static_cast<enum _cwmp__SetParameterValuesResponse_Status *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__SetParameterValuesResponse_Status)));
	for (enum _cwmp__SetParameterValuesResponse_Status *p = a; p && n--; ++p)
		soap_default__cwmp__SetParameterValuesResponse_Status(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SetParameterValuesResponse_Status(struct soap *soap, const enum _cwmp__SetParameterValuesResponse_Status *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SetParameterValuesResponse_Status(soap, tag ? tag : "cwmp:SetParameterValuesResponse-Status", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__SetParameterValuesResponse_Status * SOAP_FMAC4 soap_get__cwmp__SetParameterValuesResponse_Status(struct soap *soap, enum _cwmp__SetParameterValuesResponse_Status *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SetParameterValuesResponse_Status(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__OptionStruct_IsTransferable[] =
{	{ (LONG64)_cwmp__OptionStruct_IsTransferable__0, "0" },
	{ (LONG64)_cwmp__OptionStruct_IsTransferable__1, "1" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__OptionStruct_IsTransferable2s(struct soap *soap, enum _cwmp__OptionStruct_IsTransferable n)
{
	const char *s = soap_code_str(soap_codes__cwmp__OptionStruct_IsTransferable, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__OptionStruct_IsTransferable(struct soap *soap, const char *tag, int id, const enum _cwmp__OptionStruct_IsTransferable *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__OptionStruct_IsTransferable), type) || soap_send(soap, soap__cwmp__OptionStruct_IsTransferable2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__OptionStruct_IsTransferable(struct soap *soap, const char *s, enum _cwmp__OptionStruct_IsTransferable *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__OptionStruct_IsTransferable, s);
	if (map)
		*a = (enum _cwmp__OptionStruct_IsTransferable)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 1)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__OptionStruct_IsTransferable)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__OptionStruct_IsTransferable * SOAP_FMAC4 soap_in__cwmp__OptionStruct_IsTransferable(struct soap *soap, const char *tag, enum _cwmp__OptionStruct_IsTransferable *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__OptionStruct_IsTransferable*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__OptionStruct_IsTransferable, sizeof(enum _cwmp__OptionStruct_IsTransferable), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__OptionStruct_IsTransferable(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__OptionStruct_IsTransferable *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__OptionStruct_IsTransferable, SOAP_TYPE__cwmp__OptionStruct_IsTransferable, sizeof(enum _cwmp__OptionStruct_IsTransferable), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__OptionStruct_IsTransferable * SOAP_FMAC4 soap_new__cwmp__OptionStruct_IsTransferable(struct soap *soap, int n)
{
	enum _cwmp__OptionStruct_IsTransferable *a = static_cast<enum _cwmp__OptionStruct_IsTransferable *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__OptionStruct_IsTransferable)));
	for (enum _cwmp__OptionStruct_IsTransferable *p = a; p && n--; ++p)
		soap_default__cwmp__OptionStruct_IsTransferable(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__OptionStruct_IsTransferable(struct soap *soap, const enum _cwmp__OptionStruct_IsTransferable *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__OptionStruct_IsTransferable(soap, tag ? tag : "cwmp:OptionStruct-IsTransferable", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__OptionStruct_IsTransferable * SOAP_FMAC4 soap_get__cwmp__OptionStruct_IsTransferable(struct soap *soap, enum _cwmp__OptionStruct_IsTransferable *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__OptionStruct_IsTransferable(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__OptionStruct_Mode[] =
{	{ (LONG64)_cwmp__OptionStruct_Mode__0, "0" },
	{ (LONG64)_cwmp__OptionStruct_Mode__1, "1" },
	{ (LONG64)_cwmp__OptionStruct_Mode__2, "2" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__OptionStruct_Mode2s(struct soap *soap, enum _cwmp__OptionStruct_Mode n)
{
	const char *s = soap_code_str(soap_codes__cwmp__OptionStruct_Mode, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__OptionStruct_Mode(struct soap *soap, const char *tag, int id, const enum _cwmp__OptionStruct_Mode *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__OptionStruct_Mode), type) || soap_send(soap, soap__cwmp__OptionStruct_Mode2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__OptionStruct_Mode(struct soap *soap, const char *s, enum _cwmp__OptionStruct_Mode *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__OptionStruct_Mode, s);
	if (map)
		*a = (enum _cwmp__OptionStruct_Mode)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 2)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__OptionStruct_Mode)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__OptionStruct_Mode * SOAP_FMAC4 soap_in__cwmp__OptionStruct_Mode(struct soap *soap, const char *tag, enum _cwmp__OptionStruct_Mode *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__OptionStruct_Mode*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__OptionStruct_Mode, sizeof(enum _cwmp__OptionStruct_Mode), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__OptionStruct_Mode(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__OptionStruct_Mode *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__OptionStruct_Mode, SOAP_TYPE__cwmp__OptionStruct_Mode, sizeof(enum _cwmp__OptionStruct_Mode), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__OptionStruct_Mode * SOAP_FMAC4 soap_new__cwmp__OptionStruct_Mode(struct soap *soap, int n)
{
	enum _cwmp__OptionStruct_Mode *a = static_cast<enum _cwmp__OptionStruct_Mode *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__OptionStruct_Mode)));
	for (enum _cwmp__OptionStruct_Mode *p = a; p && n--; ++p)
		soap_default__cwmp__OptionStruct_Mode(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__OptionStruct_Mode(struct soap *soap, const enum _cwmp__OptionStruct_Mode *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__OptionStruct_Mode(soap, tag ? tag : "cwmp:OptionStruct-Mode", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__OptionStruct_Mode * SOAP_FMAC4 soap_get__cwmp__OptionStruct_Mode(struct soap *soap, enum _cwmp__OptionStruct_Mode *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__OptionStruct_Mode(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes__cwmp__OptionStruct_State[] =
{	{ (LONG64)_cwmp__OptionStruct_State__0, "0" },
	{ (LONG64)_cwmp__OptionStruct_State__1, "1" },
	{ (LONG64)_cwmp__OptionStruct_State__2, "2" },
	{ (LONG64)_cwmp__OptionStruct_State__3, "3" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap__cwmp__OptionStruct_State2s(struct soap *soap, enum _cwmp__OptionStruct_State n)
{
	const char *s = soap_code_str(soap_codes__cwmp__OptionStruct_State, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__OptionStruct_State(struct soap *soap, const char *tag, int id, const enum _cwmp__OptionStruct_State *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__OptionStruct_State), type) || soap_send(soap, soap__cwmp__OptionStruct_State2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2_cwmp__OptionStruct_State(struct soap *soap, const char *s, enum _cwmp__OptionStruct_State *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes__cwmp__OptionStruct_State, s);
	if (map)
		*a = (enum _cwmp__OptionStruct_State)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 3)
			return soap->error = SOAP_TYPE;
		*a = (enum _cwmp__OptionStruct_State)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum _cwmp__OptionStruct_State * SOAP_FMAC4 soap_in__cwmp__OptionStruct_State(struct soap *soap, const char *tag, enum _cwmp__OptionStruct_State *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum _cwmp__OptionStruct_State*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__OptionStruct_State, sizeof(enum _cwmp__OptionStruct_State), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2_cwmp__OptionStruct_State(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum _cwmp__OptionStruct_State *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__OptionStruct_State, SOAP_TYPE__cwmp__OptionStruct_State, sizeof(enum _cwmp__OptionStruct_State), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum _cwmp__OptionStruct_State * SOAP_FMAC4 soap_new__cwmp__OptionStruct_State(struct soap *soap, int n)
{
	enum _cwmp__OptionStruct_State *a = static_cast<enum _cwmp__OptionStruct_State *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum _cwmp__OptionStruct_State)));
	for (enum _cwmp__OptionStruct_State *p = a; p && n--; ++p)
		soap_default__cwmp__OptionStruct_State(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__OptionStruct_State(struct soap *soap, const enum _cwmp__OptionStruct_State *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__OptionStruct_State(soap, tag ? tag : "cwmp:OptionStruct-State", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum _cwmp__OptionStruct_State * SOAP_FMAC4 soap_get__cwmp__OptionStruct_State(struct soap *soap, enum _cwmp__OptionStruct_State *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__OptionStruct_State(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_cwmp__DeploymentUnitCPEFaultCodeType[] =
{	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9001, "9001" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9003, "9003" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9012, "9012" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9013, "9013" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9015, "9015" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9016, "9016" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9017, "9017" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9018, "9018" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9022, "9022" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9023, "9023" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9024, "9024" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9025, "9025" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9026, "9026" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9027, "9027" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9028, "9028" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9029, "9029" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9030, "9030" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9031, "9031" },
	{ (LONG64)cwmp__DeploymentUnitCPEFaultCodeType__9032, "9032" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_cwmp__DeploymentUnitCPEFaultCodeType2s(struct soap *soap, enum cwmp__DeploymentUnitCPEFaultCodeType n)
{
	const char *s = soap_code_str(soap_codes_cwmp__DeploymentUnitCPEFaultCodeType, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DeploymentUnitCPEFaultCodeType(struct soap *soap, const char *tag, int id, const enum cwmp__DeploymentUnitCPEFaultCodeType *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__DeploymentUnitCPEFaultCodeType), type) || soap_send(soap, soap_cwmp__DeploymentUnitCPEFaultCodeType2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__DeploymentUnitCPEFaultCodeType(struct soap *soap, const char *s, enum cwmp__DeploymentUnitCPEFaultCodeType *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_cwmp__DeploymentUnitCPEFaultCodeType, s);
	if (map)
		*a = (enum cwmp__DeploymentUnitCPEFaultCodeType)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 9032)
			return soap->error = SOAP_TYPE;
		*a = (enum cwmp__DeploymentUnitCPEFaultCodeType)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum cwmp__DeploymentUnitCPEFaultCodeType * SOAP_FMAC4 soap_in_cwmp__DeploymentUnitCPEFaultCodeType(struct soap *soap, const char *tag, enum cwmp__DeploymentUnitCPEFaultCodeType *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum cwmp__DeploymentUnitCPEFaultCodeType*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__DeploymentUnitCPEFaultCodeType, sizeof(enum cwmp__DeploymentUnitCPEFaultCodeType), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2cwmp__DeploymentUnitCPEFaultCodeType(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum cwmp__DeploymentUnitCPEFaultCodeType *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__DeploymentUnitCPEFaultCodeType, SOAP_TYPE_cwmp__DeploymentUnitCPEFaultCodeType, sizeof(enum cwmp__DeploymentUnitCPEFaultCodeType), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum cwmp__DeploymentUnitCPEFaultCodeType * SOAP_FMAC4 soap_new_cwmp__DeploymentUnitCPEFaultCodeType(struct soap *soap, int n)
{
	enum cwmp__DeploymentUnitCPEFaultCodeType *a = static_cast<enum cwmp__DeploymentUnitCPEFaultCodeType *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum cwmp__DeploymentUnitCPEFaultCodeType)));
	for (enum cwmp__DeploymentUnitCPEFaultCodeType *p = a; p && n--; ++p)
		soap_default_cwmp__DeploymentUnitCPEFaultCodeType(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DeploymentUnitCPEFaultCodeType(struct soap *soap, const enum cwmp__DeploymentUnitCPEFaultCodeType *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DeploymentUnitCPEFaultCodeType(soap, tag ? tag : "cwmp:DeploymentUnitCPEFaultCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__DeploymentUnitCPEFaultCodeType * SOAP_FMAC4 soap_get_cwmp__DeploymentUnitCPEFaultCodeType(struct soap *soap, enum cwmp__DeploymentUnitCPEFaultCodeType *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DeploymentUnitCPEFaultCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_cwmp__TransferCompleteCPEFaultCodeType[] =
{	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9001, "9001" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9002, "9002" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9010, "9010" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9011, "9011" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9012, "9012" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9014, "9014" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9015, "9015" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9016, "9016" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9017, "9017" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9018, "9018" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9019, "9019" },
	{ (LONG64)cwmp__TransferCompleteCPEFaultCodeType__9020, "9020" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_cwmp__TransferCompleteCPEFaultCodeType2s(struct soap *soap, enum cwmp__TransferCompleteCPEFaultCodeType n)
{
	const char *s = soap_code_str(soap_codes_cwmp__TransferCompleteCPEFaultCodeType, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__TransferCompleteCPEFaultCodeType(struct soap *soap, const char *tag, int id, const enum cwmp__TransferCompleteCPEFaultCodeType *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__TransferCompleteCPEFaultCodeType), type) || soap_send(soap, soap_cwmp__TransferCompleteCPEFaultCodeType2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__TransferCompleteCPEFaultCodeType(struct soap *soap, const char *s, enum cwmp__TransferCompleteCPEFaultCodeType *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_cwmp__TransferCompleteCPEFaultCodeType, s);
	if (map)
		*a = (enum cwmp__TransferCompleteCPEFaultCodeType)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 9020)
			return soap->error = SOAP_TYPE;
		*a = (enum cwmp__TransferCompleteCPEFaultCodeType)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum cwmp__TransferCompleteCPEFaultCodeType * SOAP_FMAC4 soap_in_cwmp__TransferCompleteCPEFaultCodeType(struct soap *soap, const char *tag, enum cwmp__TransferCompleteCPEFaultCodeType *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum cwmp__TransferCompleteCPEFaultCodeType*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__TransferCompleteCPEFaultCodeType, sizeof(enum cwmp__TransferCompleteCPEFaultCodeType), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2cwmp__TransferCompleteCPEFaultCodeType(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum cwmp__TransferCompleteCPEFaultCodeType *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__TransferCompleteCPEFaultCodeType, SOAP_TYPE_cwmp__TransferCompleteCPEFaultCodeType, sizeof(enum cwmp__TransferCompleteCPEFaultCodeType), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum cwmp__TransferCompleteCPEFaultCodeType * SOAP_FMAC4 soap_new_cwmp__TransferCompleteCPEFaultCodeType(struct soap *soap, int n)
{
	enum cwmp__TransferCompleteCPEFaultCodeType *a = static_cast<enum cwmp__TransferCompleteCPEFaultCodeType *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum cwmp__TransferCompleteCPEFaultCodeType)));
	for (enum cwmp__TransferCompleteCPEFaultCodeType *p = a; p && n--; ++p)
		soap_default_cwmp__TransferCompleteCPEFaultCodeType(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__TransferCompleteCPEFaultCodeType(struct soap *soap, const enum cwmp__TransferCompleteCPEFaultCodeType *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__TransferCompleteCPEFaultCodeType(soap, tag ? tag : "cwmp:TransferCompleteCPEFaultCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__TransferCompleteCPEFaultCodeType * SOAP_FMAC4 soap_get_cwmp__TransferCompleteCPEFaultCodeType(struct soap *soap, enum cwmp__TransferCompleteCPEFaultCodeType *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__TransferCompleteCPEFaultCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_cwmp__DefaultDeploymentUnitOperationType[] =
{	{ (LONG64)cwmp__DefaultDeploymentUnitOperationType__Install, "Install" },
	{ (LONG64)cwmp__DefaultDeploymentUnitOperationType__Update, "Update" },
	{ (LONG64)cwmp__DefaultDeploymentUnitOperationType__Uninstall, "Uninstall" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_cwmp__DefaultDeploymentUnitOperationType2s(struct soap *soap, enum cwmp__DefaultDeploymentUnitOperationType n)
{
	const char *s = soap_code_str(soap_codes_cwmp__DefaultDeploymentUnitOperationType, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DefaultDeploymentUnitOperationType(struct soap *soap, const char *tag, int id, const enum cwmp__DefaultDeploymentUnitOperationType *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__DefaultDeploymentUnitOperationType), type) || soap_send(soap, soap_cwmp__DefaultDeploymentUnitOperationType2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__DefaultDeploymentUnitOperationType(struct soap *soap, const char *s, enum cwmp__DefaultDeploymentUnitOperationType *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_cwmp__DefaultDeploymentUnitOperationType, s);
	if (map)
		*a = (enum cwmp__DefaultDeploymentUnitOperationType)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 2)
			return soap->error = SOAP_TYPE;
		*a = (enum cwmp__DefaultDeploymentUnitOperationType)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum cwmp__DefaultDeploymentUnitOperationType * SOAP_FMAC4 soap_in_cwmp__DefaultDeploymentUnitOperationType(struct soap *soap, const char *tag, enum cwmp__DefaultDeploymentUnitOperationType *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum cwmp__DefaultDeploymentUnitOperationType*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__DefaultDeploymentUnitOperationType, sizeof(enum cwmp__DefaultDeploymentUnitOperationType), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2cwmp__DefaultDeploymentUnitOperationType(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum cwmp__DefaultDeploymentUnitOperationType *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__DefaultDeploymentUnitOperationType, SOAP_TYPE_cwmp__DefaultDeploymentUnitOperationType, sizeof(enum cwmp__DefaultDeploymentUnitOperationType), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum cwmp__DefaultDeploymentUnitOperationType * SOAP_FMAC4 soap_new_cwmp__DefaultDeploymentUnitOperationType(struct soap *soap, int n)
{
	enum cwmp__DefaultDeploymentUnitOperationType *a = static_cast<enum cwmp__DefaultDeploymentUnitOperationType *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum cwmp__DefaultDeploymentUnitOperationType)));
	for (enum cwmp__DefaultDeploymentUnitOperationType *p = a; p && n--; ++p)
		soap_default_cwmp__DefaultDeploymentUnitOperationType(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DefaultDeploymentUnitOperationType(struct soap *soap, const enum cwmp__DefaultDeploymentUnitOperationType *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DefaultDeploymentUnitOperationType(soap, tag ? tag : "cwmp:DefaultDeploymentUnitOperationType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__DefaultDeploymentUnitOperationType * SOAP_FMAC4 soap_get_cwmp__DefaultDeploymentUnitOperationType(struct soap *soap, enum cwmp__DefaultDeploymentUnitOperationType *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DefaultDeploymentUnitOperationType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_cwmp__DeploymentUnitState[] =
{	{ (LONG64)cwmp__DeploymentUnitState__Installed, "Installed" },
	{ (LONG64)cwmp__DeploymentUnitState__Uninstalled, "Uninstalled" },
	{ (LONG64)cwmp__DeploymentUnitState__Failed, "Failed" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_cwmp__DeploymentUnitState2s(struct soap *soap, enum cwmp__DeploymentUnitState n)
{
	const char *s = soap_code_str(soap_codes_cwmp__DeploymentUnitState, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DeploymentUnitState(struct soap *soap, const char *tag, int id, const enum cwmp__DeploymentUnitState *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__DeploymentUnitState), type) || soap_send(soap, soap_cwmp__DeploymentUnitState2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__DeploymentUnitState(struct soap *soap, const char *s, enum cwmp__DeploymentUnitState *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_cwmp__DeploymentUnitState, s);
	if (map)
		*a = (enum cwmp__DeploymentUnitState)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 2)
			return soap->error = SOAP_TYPE;
		*a = (enum cwmp__DeploymentUnitState)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum cwmp__DeploymentUnitState * SOAP_FMAC4 soap_in_cwmp__DeploymentUnitState(struct soap *soap, const char *tag, enum cwmp__DeploymentUnitState *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum cwmp__DeploymentUnitState*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__DeploymentUnitState, sizeof(enum cwmp__DeploymentUnitState), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2cwmp__DeploymentUnitState(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum cwmp__DeploymentUnitState *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__DeploymentUnitState, SOAP_TYPE_cwmp__DeploymentUnitState, sizeof(enum cwmp__DeploymentUnitState), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum cwmp__DeploymentUnitState * SOAP_FMAC4 soap_new_cwmp__DeploymentUnitState(struct soap *soap, int n)
{
	enum cwmp__DeploymentUnitState *a = static_cast<enum cwmp__DeploymentUnitState *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum cwmp__DeploymentUnitState)));
	for (enum cwmp__DeploymentUnitState *p = a; p && n--; ++p)
		soap_default_cwmp__DeploymentUnitState(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DeploymentUnitState(struct soap *soap, const enum cwmp__DeploymentUnitState *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DeploymentUnitState(soap, tag ? tag : "cwmp:DeploymentUnitState", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__DeploymentUnitState * SOAP_FMAC4 soap_get_cwmp__DeploymentUnitState(struct soap *soap, enum cwmp__DeploymentUnitState *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DeploymentUnitState(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_cwmp__TransferStateType[] =
{	{ (LONG64)cwmp__TransferStateType__1, "1" },
	{ (LONG64)cwmp__TransferStateType__2, "2" },
	{ (LONG64)cwmp__TransferStateType__3, "3" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_cwmp__TransferStateType2s(struct soap *soap, enum cwmp__TransferStateType n)
{
	const char *s = soap_code_str(soap_codes_cwmp__TransferStateType, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__TransferStateType(struct soap *soap, const char *tag, int id, const enum cwmp__TransferStateType *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__TransferStateType), type) || soap_send(soap, soap_cwmp__TransferStateType2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__TransferStateType(struct soap *soap, const char *s, enum cwmp__TransferStateType *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_cwmp__TransferStateType, s);
	if (map)
		*a = (enum cwmp__TransferStateType)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 3)
			return soap->error = SOAP_TYPE;
		*a = (enum cwmp__TransferStateType)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum cwmp__TransferStateType * SOAP_FMAC4 soap_in_cwmp__TransferStateType(struct soap *soap, const char *tag, enum cwmp__TransferStateType *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum cwmp__TransferStateType*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__TransferStateType, sizeof(enum cwmp__TransferStateType), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2cwmp__TransferStateType(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum cwmp__TransferStateType *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__TransferStateType, SOAP_TYPE_cwmp__TransferStateType, sizeof(enum cwmp__TransferStateType), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum cwmp__TransferStateType * SOAP_FMAC4 soap_new_cwmp__TransferStateType(struct soap *soap, int n)
{
	enum cwmp__TransferStateType *a = static_cast<enum cwmp__TransferStateType *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum cwmp__TransferStateType)));
	for (enum cwmp__TransferStateType *p = a; p && n--; ++p)
		soap_default_cwmp__TransferStateType(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__TransferStateType(struct soap *soap, const enum cwmp__TransferStateType *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__TransferStateType(soap, tag ? tag : "cwmp:TransferStateType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__TransferStateType * SOAP_FMAC4 soap_get_cwmp__TransferStateType(struct soap *soap, enum cwmp__TransferStateType *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__TransferStateType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_cwmp__ParameterAttributeNotificationValueType[] =
{	{ (LONG64)cwmp__ParameterAttributeNotificationValueType__0, "0" },
	{ (LONG64)cwmp__ParameterAttributeNotificationValueType__1, "1" },
	{ (LONG64)cwmp__ParameterAttributeNotificationValueType__2, "2" },
	{ (LONG64)cwmp__ParameterAttributeNotificationValueType__3, "3" },
	{ (LONG64)cwmp__ParameterAttributeNotificationValueType__4, "4" },
	{ (LONG64)cwmp__ParameterAttributeNotificationValueType__5, "5" },
	{ (LONG64)cwmp__ParameterAttributeNotificationValueType__6, "6" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_cwmp__ParameterAttributeNotificationValueType2s(struct soap *soap, enum cwmp__ParameterAttributeNotificationValueType n)
{
	const char *s = soap_code_str(soap_codes_cwmp__ParameterAttributeNotificationValueType, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ParameterAttributeNotificationValueType(struct soap *soap, const char *tag, int id, const enum cwmp__ParameterAttributeNotificationValueType *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__ParameterAttributeNotificationValueType), type) || soap_send(soap, soap_cwmp__ParameterAttributeNotificationValueType2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__ParameterAttributeNotificationValueType(struct soap *soap, const char *s, enum cwmp__ParameterAttributeNotificationValueType *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_cwmp__ParameterAttributeNotificationValueType, s);
	if (map)
		*a = (enum cwmp__ParameterAttributeNotificationValueType)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 6)
			return soap->error = SOAP_TYPE;
		*a = (enum cwmp__ParameterAttributeNotificationValueType)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum cwmp__ParameterAttributeNotificationValueType * SOAP_FMAC4 soap_in_cwmp__ParameterAttributeNotificationValueType(struct soap *soap, const char *tag, enum cwmp__ParameterAttributeNotificationValueType *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum cwmp__ParameterAttributeNotificationValueType*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__ParameterAttributeNotificationValueType, sizeof(enum cwmp__ParameterAttributeNotificationValueType), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2cwmp__ParameterAttributeNotificationValueType(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum cwmp__ParameterAttributeNotificationValueType *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__ParameterAttributeNotificationValueType, SOAP_TYPE_cwmp__ParameterAttributeNotificationValueType, sizeof(enum cwmp__ParameterAttributeNotificationValueType), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum cwmp__ParameterAttributeNotificationValueType * SOAP_FMAC4 soap_new_cwmp__ParameterAttributeNotificationValueType(struct soap *soap, int n)
{
	enum cwmp__ParameterAttributeNotificationValueType *a = static_cast<enum cwmp__ParameterAttributeNotificationValueType *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum cwmp__ParameterAttributeNotificationValueType)));
	for (enum cwmp__ParameterAttributeNotificationValueType *p = a; p && n--; ++p)
		soap_default_cwmp__ParameterAttributeNotificationValueType(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ParameterAttributeNotificationValueType(struct soap *soap, const enum cwmp__ParameterAttributeNotificationValueType *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ParameterAttributeNotificationValueType(soap, tag ? tag : "cwmp:ParameterAttributeNotificationValueType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__ParameterAttributeNotificationValueType * SOAP_FMAC4 soap_get_cwmp__ParameterAttributeNotificationValueType(struct soap *soap, enum cwmp__ParameterAttributeNotificationValueType *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ParameterAttributeNotificationValueType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_cwmp__AccessListValueType[] =
{	{ (LONG64)cwmp__AccessListValueType__Subscriber, "Subscriber" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_cwmp__AccessListValueType2s(struct soap *soap, enum cwmp__AccessListValueType n)
{
	const char *s = soap_code_str(soap_codes_cwmp__AccessListValueType, (long)n);
	if (s)
		return s;
	return soap_long2s(soap, (long)n);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__AccessListValueType(struct soap *soap, const char *tag, int id, const enum cwmp__AccessListValueType *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__AccessListValueType), type) || soap_send(soap, soap_cwmp__AccessListValueType2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2cwmp__AccessListValueType(struct soap *soap, const char *s, enum cwmp__AccessListValueType *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_cwmp__AccessListValueType, s);
	if (map)
		*a = (enum cwmp__AccessListValueType)map->code;
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	int n;
		if (soap_s2int(soap, s, &n) || n < 0 || n > 0)
			return soap->error = SOAP_TYPE;
		*a = (enum cwmp__AccessListValueType)n;
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum cwmp__AccessListValueType * SOAP_FMAC4 soap_in_cwmp__AccessListValueType(struct soap *soap, const char *tag, enum cwmp__AccessListValueType *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, type))
		return NULL;
	a = (enum cwmp__AccessListValueType*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__AccessListValueType, sizeof(enum cwmp__AccessListValueType), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2cwmp__AccessListValueType(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum cwmp__AccessListValueType *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__AccessListValueType, SOAP_TYPE_cwmp__AccessListValueType, sizeof(enum cwmp__AccessListValueType), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum cwmp__AccessListValueType * SOAP_FMAC4 soap_new_cwmp__AccessListValueType(struct soap *soap, int n)
{
	enum cwmp__AccessListValueType *a = static_cast<enum cwmp__AccessListValueType *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum cwmp__AccessListValueType)));
	for (enum cwmp__AccessListValueType *p = a; p && n--; ++p)
		soap_default_cwmp__AccessListValueType(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__AccessListValueType(struct soap *soap, const enum cwmp__AccessListValueType *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__AccessListValueType(soap, tag ? tag : "cwmp:AccessListValueType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__AccessListValueType * SOAP_FMAC4 soap_get_cwmp__AccessListValueType(struct soap *soap, enum cwmp__AccessListValueType *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__AccessListValueType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

static const struct soap_code_map soap_codes_xsd__boolean[] =
{	{ (LONG64)false_, "false" },
	{ (LONG64)true_, "true" },
	{ 0, NULL }
};

SOAP_FMAC3S const char* SOAP_FMAC4S soap_xsd__boolean2s(struct soap *soap, enum xsd__boolean n)
{
	(void)soap; /* appease -Wall -Werror */
	return soap_code_str(soap_codes_xsd__boolean, n != 0);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_xsd__boolean(struct soap *soap, const char *tag, int id, const enum xsd__boolean *a, const char *type)
{
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_xsd__boolean), type) || soap_send(soap, soap_xsd__boolean2s(soap, *a)))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2xsd__boolean(struct soap *soap, const char *s, enum xsd__boolean *a)
{
	const struct soap_code_map *map;
	if (!s)
		return soap->error;
	map = soap_code(soap_codes_xsd__boolean, s);
	if (map)
		*a = (enum xsd__boolean)(map->code != 0);
	else if (!*s)
		return soap->error = SOAP_EMPTY;
	else
	{	long n;
		if (soap_s2long(soap, s, &n) || n < 0 || n > 1)
			return soap->error = SOAP_TYPE;
		*a = (enum xsd__boolean)(n != 0);
	}
	return SOAP_OK;
}

SOAP_FMAC3 enum xsd__boolean * SOAP_FMAC4 soap_in_xsd__boolean(struct soap *soap, const char *tag, enum xsd__boolean *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	if (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, ":boolean"))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (enum xsd__boolean*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_xsd__boolean, sizeof(enum xsd__boolean), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	if (*soap->href != '#')
	{	int err = soap_s2xsd__boolean(soap, soap_value(soap), a);
		if ((soap->body && soap_element_end_in(soap, tag)) || err)
			return NULL;
	}
	else
	{	a = (enum xsd__boolean *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_xsd__boolean, SOAP_TYPE_xsd__boolean, sizeof(enum xsd__boolean), 0, NULL, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 enum xsd__boolean * SOAP_FMAC4 soap_new_xsd__boolean(struct soap *soap, int n)
{
	enum xsd__boolean *a = static_cast<enum xsd__boolean *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(enum xsd__boolean)));
	for (enum xsd__boolean *p = a; p && n--; ++p)
		soap_default_xsd__boolean(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__boolean(struct soap *soap, const enum xsd__boolean *a, const char *tag, const char *type)
{
	if (soap_out_xsd__boolean(soap, tag ? tag : "xsd:boolean", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum xsd__boolean * SOAP_FMAC4 soap_get_xsd__boolean(struct soap *soap, enum xsd__boolean *p, const char *tag, const char *type)
{
	if ((p = soap_in_xsd__boolean(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default__QName(soap, &a->faultcode);
	soap_default_string(soap, &a->faultstring);
	soap_default_string(soap, &a->faultactor);
	a->detail = NULL;
	a->SOAP_ENV__Code = NULL;
	a->SOAP_ENV__Reason = NULL;
	soap_default_string(soap, &a->SOAP_ENV__Node);
	soap_default_string(soap, &a->SOAP_ENV__Role);
	a->SOAP_ENV__Detail = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize__QName(soap, (char*const*)&a->faultcode);
	soap_serialize_string(soap, (char*const*)&a->faultstring);
	soap_serialize_string(soap, (char*const*)&a->faultactor);
	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
	soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
	soap_serialize_string(soap, (char*const*)&a->SOAP_ENV__Node);
	soap_serialize_string(soap, (char*const*)&a->SOAP_ENV__Role);
	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Fault *a, const char *type)
{
	const char *soap_tmp_faultcode;
	soap_tmp_faultcode = soap_QName2s(soap, a->faultcode);
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Fault), type))
		return soap->error;
	if (soap_out__QName(soap, "faultcode", -1, (char*const*)(void*)&soap_tmp_faultcode, ""))
		return soap->error;
	if (soap_out_string(soap, "faultstring", -1, (char*const*)&a->faultstring, ""))
		return soap->error;
	if (soap_out_string(soap, "faultactor", -1, (char*const*)&a->faultactor, ""))
		return soap->error;
	if (soap_out_PointerToSOAP_ENV__Detail(soap, "detail", -1, &a->detail, ""))
		return soap->error;
	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", -1, &a->SOAP_ENV__Code, ""))
		return soap->error;
	if (soap_out_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", -1, &a->SOAP_ENV__Reason, ""))
		return soap->error;
	if (soap_out_string(soap, "SOAP-ENV:Node", -1, (char*const*)&a->SOAP_ENV__Node, ""))
		return soap->error;
	if (soap_out_string(soap, "SOAP-ENV:Role", -1, (char*const*)&a->SOAP_ENV__Role, ""))
		return soap->error;
	if (soap_out_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", -1, &a->SOAP_ENV__Detail, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap *soap, const char *tag, struct SOAP_ENV__Fault *a, const char *type)
{
	size_t soap_flag_faultcode = 1;
	size_t soap_flag_faultstring = 1;
	size_t soap_flag_faultactor = 1;
	size_t soap_flag_detail = 1;
	size_t soap_flag_SOAP_ENV__Code = 1;
	size_t soap_flag_SOAP_ENV__Reason = 1;
	size_t soap_flag_SOAP_ENV__Node = 1;
	size_t soap_flag_SOAP_ENV__Role = 1;
	size_t soap_flag_SOAP_ENV__Detail = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct SOAP_ENV__Fault*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_SOAP_ENV__Fault(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_faultcode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in__QName(soap, "faultcode", (char**)&a->faultcode, "xsd:QName"))
				{	soap_flag_faultcode--;
					continue;
				}
			}
			if (soap_flag_faultstring && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "faultstring", (char**)&a->faultstring, "xsd:string"))
				{	soap_flag_faultstring--;
					continue;
				}
			}
			if (soap_flag_faultactor && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "faultactor", (char**)&a->faultactor, "xsd:string"))
				{	soap_flag_faultactor--;
					continue;
				}
			}
			if (soap_flag_detail && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToSOAP_ENV__Detail(soap, "detail", &a->detail, ""))
				{	soap_flag_detail--;
					continue;
				}
			}
			if (soap_flag_SOAP_ENV__Code && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", &a->SOAP_ENV__Code, ""))
				{	soap_flag_SOAP_ENV__Code--;
					continue;
				}
			}
			if (soap_flag_SOAP_ENV__Reason && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", &a->SOAP_ENV__Reason, ""))
				{	soap_flag_SOAP_ENV__Reason--;
					continue;
				}
			}
			if (soap_flag_SOAP_ENV__Node && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "SOAP-ENV:Node", (char**)&a->SOAP_ENV__Node, "xsd:string"))
				{	soap_flag_SOAP_ENV__Node--;
					continue;
				}
			}
			if (soap_flag_SOAP_ENV__Role && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "SOAP-ENV:Role", (char**)&a->SOAP_ENV__Role, "xsd:string"))
				{	soap_flag_SOAP_ENV__Role--;
					continue;
				}
			}
			if (soap_flag_SOAP_ENV__Detail && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", &a->SOAP_ENV__Detail, ""))
				{	soap_flag_SOAP_ENV__Detail--;
					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 SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Fault, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct SOAP_ENV__Fault * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Fault(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Fault(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct SOAP_ENV__Fault *p;
	size_t k = sizeof(struct SOAP_ENV__Fault);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Fault, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct SOAP_ENV__Fault);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Fault, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Fault location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a, const char *tag, const char *type)
{
	if (soap_out_SOAP_ENV__Fault(soap, tag ? tag : "SOAP-ENV:Fault", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *p, const char *tag, const char *type)
{
	if ((p = soap_in_SOAP_ENV__Fault(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->SOAP_ENV__Text);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->SOAP_ENV__Text);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Reason *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Reason), type))
		return soap->error;
	if (soap->lang)
		soap_set_attr(soap, "xml:lang", soap->lang, 1);
	if (soap_out_string(soap, "SOAP-ENV:Text", -1, (char*const*)&a->SOAP_ENV__Text, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason *a, const char *type)
{
	size_t soap_flag_SOAP_ENV__Text = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct SOAP_ENV__Reason*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_SOAP_ENV__Reason(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_SOAP_ENV__Text && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "SOAP-ENV:Text", (char**)&a->SOAP_ENV__Text, "xsd:string"))
				{	soap_flag_SOAP_ENV__Text--;
					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 SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Reason, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct SOAP_ENV__Reason * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Reason(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Reason(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct SOAP_ENV__Reason *p;
	size_t k = sizeof(struct SOAP_ENV__Reason);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Reason, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct SOAP_ENV__Reason);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Reason, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Reason location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a, const char *tag, const char *type)
{
	if (soap_out_SOAP_ENV__Reason(soap, tag ? tag : "SOAP-ENV:Reason", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *p, const char *tag, const char *type)
{
	if ((p = soap_in_SOAP_ENV__Reason(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default__QName(soap, &a->SOAP_ENV__Value);
	a->SOAP_ENV__Subcode = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize__QName(soap, (char*const*)&a->SOAP_ENV__Value);
	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Code *a, const char *type)
{
	const char *soap_tmp_SOAP_ENV__Value;
	soap_tmp_SOAP_ENV__Value = soap_QName2s(soap, a->SOAP_ENV__Value);
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Code), type))
		return soap->error;
	if (soap_out__QName(soap, "SOAP-ENV:Value", -1, (char*const*)(void*)&soap_tmp_SOAP_ENV__Value, ""))
		return soap->error;
	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", -1, &a->SOAP_ENV__Subcode, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code *a, const char *type)
{
	size_t soap_flag_SOAP_ENV__Value = 1;
	size_t soap_flag_SOAP_ENV__Subcode = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct SOAP_ENV__Code*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_SOAP_ENV__Code(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_SOAP_ENV__Value && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in__QName(soap, "SOAP-ENV:Value", (char**)&a->SOAP_ENV__Value, "xsd:QName"))
				{	soap_flag_SOAP_ENV__Value--;
					continue;
				}
			}
			if (soap_flag_SOAP_ENV__Subcode && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", &a->SOAP_ENV__Subcode, ""))
				{	soap_flag_SOAP_ENV__Subcode--;
					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 SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Code, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct SOAP_ENV__Code * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Code(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Code(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct SOAP_ENV__Code *p;
	size_t k = sizeof(struct SOAP_ENV__Code);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Code, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct SOAP_ENV__Code);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Code, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Code location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a, const char *tag, const char *type)
{
	if (soap_out_SOAP_ENV__Code(soap, tag ? tag : "SOAP-ENV:Code", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *p, const char *tag, const char *type)
{
	if ((p = soap_in_SOAP_ENV__Code(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__Inform(struct soap *soap, struct __cwmp__Inform *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__Inform = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__Inform(struct soap *soap, const struct __cwmp__Inform *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__Inform(soap, &a->cwmp__Inform);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__Inform(struct soap *soap, const char *tag, int id, const struct __cwmp__Inform *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__Inform(soap, "cwmp:Inform", -1, &a->cwmp__Inform, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__Inform * SOAP_FMAC4 soap_in___cwmp__Inform(struct soap *soap, const char *tag, struct __cwmp__Inform *a, const char *type)
{
	size_t soap_flag_cwmp__Inform = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__Inform*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__Inform, sizeof(struct __cwmp__Inform), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__Inform(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__Inform && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__Inform(soap, "cwmp:Inform", &a->cwmp__Inform, ""))
				{	soap_flag_cwmp__Inform--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__Inform * SOAP_FMAC2 soap_instantiate___cwmp__Inform(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__Inform(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__Inform *p;
	size_t k = sizeof(struct __cwmp__Inform);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__Inform, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__Inform);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__Inform, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__Inform location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__Inform(struct soap *soap, const struct __cwmp__Inform *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__Inform(soap, tag ? tag : "-cwmp:Inform", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__Inform * SOAP_FMAC4 soap_get___cwmp__Inform(struct soap *soap, struct __cwmp__Inform *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__Inform(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__GetRPCMethods(struct soap *soap, struct __cwmp__GetRPCMethods *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__GetRPCMethods = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__GetRPCMethods(struct soap *soap, const struct __cwmp__GetRPCMethods *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__GetRPCMethods(soap, &a->cwmp__GetRPCMethods);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__GetRPCMethods(struct soap *soap, const char *tag, int id, const struct __cwmp__GetRPCMethods *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__GetRPCMethods(soap, "cwmp:GetRPCMethods", -1, &a->cwmp__GetRPCMethods, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetRPCMethods * SOAP_FMAC4 soap_in___cwmp__GetRPCMethods(struct soap *soap, const char *tag, struct __cwmp__GetRPCMethods *a, const char *type)
{
	size_t soap_flag_cwmp__GetRPCMethods = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__GetRPCMethods*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__GetRPCMethods, sizeof(struct __cwmp__GetRPCMethods), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__GetRPCMethods(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__GetRPCMethods && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__GetRPCMethods(soap, "cwmp:GetRPCMethods", &a->cwmp__GetRPCMethods, ""))
				{	soap_flag_cwmp__GetRPCMethods--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__GetRPCMethods * SOAP_FMAC2 soap_instantiate___cwmp__GetRPCMethods(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__GetRPCMethods(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__GetRPCMethods *p;
	size_t k = sizeof(struct __cwmp__GetRPCMethods);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__GetRPCMethods, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__GetRPCMethods);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__GetRPCMethods, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__GetRPCMethods location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__GetRPCMethods(struct soap *soap, const struct __cwmp__GetRPCMethods *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__GetRPCMethods(soap, tag ? tag : "-cwmp:GetRPCMethods", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetRPCMethods * SOAP_FMAC4 soap_get___cwmp__GetRPCMethods(struct soap *soap, struct __cwmp__GetRPCMethods *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__GetRPCMethods(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__DeleteObject(struct soap *soap, struct __cwmp__DeleteObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__DeleteObject = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__DeleteObject(struct soap *soap, const struct __cwmp__DeleteObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__DeleteObject(soap, &a->cwmp__DeleteObject);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__DeleteObject(struct soap *soap, const char *tag, int id, const struct __cwmp__DeleteObject *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__DeleteObject(soap, "cwmp:DeleteObject", -1, &a->cwmp__DeleteObject, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__DeleteObject * SOAP_FMAC4 soap_in___cwmp__DeleteObject(struct soap *soap, const char *tag, struct __cwmp__DeleteObject *a, const char *type)
{
	size_t soap_flag_cwmp__DeleteObject = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__DeleteObject*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__DeleteObject, sizeof(struct __cwmp__DeleteObject), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__DeleteObject(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__DeleteObject && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__DeleteObject(soap, "cwmp:DeleteObject", &a->cwmp__DeleteObject, ""))
				{	soap_flag_cwmp__DeleteObject--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__DeleteObject * SOAP_FMAC2 soap_instantiate___cwmp__DeleteObject(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__DeleteObject(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__DeleteObject *p;
	size_t k = sizeof(struct __cwmp__DeleteObject);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__DeleteObject, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__DeleteObject);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__DeleteObject, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__DeleteObject location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__DeleteObject(struct soap *soap, const struct __cwmp__DeleteObject *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__DeleteObject(soap, tag ? tag : "-cwmp:DeleteObject", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__DeleteObject * SOAP_FMAC4 soap_get___cwmp__DeleteObject(struct soap *soap, struct __cwmp__DeleteObject *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__DeleteObject(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__AddObject(struct soap *soap, struct __cwmp__AddObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__AddObject = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__AddObject(struct soap *soap, const struct __cwmp__AddObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__AddObject(soap, &a->cwmp__AddObject);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__AddObject(struct soap *soap, const char *tag, int id, const struct __cwmp__AddObject *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__AddObject(soap, "cwmp:AddObject", -1, &a->cwmp__AddObject, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__AddObject * SOAP_FMAC4 soap_in___cwmp__AddObject(struct soap *soap, const char *tag, struct __cwmp__AddObject *a, const char *type)
{
	size_t soap_flag_cwmp__AddObject = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__AddObject*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__AddObject, sizeof(struct __cwmp__AddObject), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__AddObject(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__AddObject && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__AddObject(soap, "cwmp:AddObject", &a->cwmp__AddObject, ""))
				{	soap_flag_cwmp__AddObject--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__AddObject * SOAP_FMAC2 soap_instantiate___cwmp__AddObject(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__AddObject(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__AddObject *p;
	size_t k = sizeof(struct __cwmp__AddObject);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__AddObject, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__AddObject);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__AddObject, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__AddObject location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__AddObject(struct soap *soap, const struct __cwmp__AddObject *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__AddObject(soap, tag ? tag : "-cwmp:AddObject", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__AddObject * SOAP_FMAC4 soap_get___cwmp__AddObject(struct soap *soap, struct __cwmp__AddObject *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__AddObject(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__Upload(struct soap *soap, struct __cwmp__Upload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__Upload = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__Upload(struct soap *soap, const struct __cwmp__Upload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__Upload(soap, &a->cwmp__Upload);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__Upload(struct soap *soap, const char *tag, int id, const struct __cwmp__Upload *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__Upload(soap, "cwmp:Upload", -1, &a->cwmp__Upload, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__Upload * SOAP_FMAC4 soap_in___cwmp__Upload(struct soap *soap, const char *tag, struct __cwmp__Upload *a, const char *type)
{
	size_t soap_flag_cwmp__Upload = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__Upload*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__Upload, sizeof(struct __cwmp__Upload), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__Upload(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__Upload && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__Upload(soap, "cwmp:Upload", &a->cwmp__Upload, ""))
				{	soap_flag_cwmp__Upload--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__Upload * SOAP_FMAC2 soap_instantiate___cwmp__Upload(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__Upload(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__Upload *p;
	size_t k = sizeof(struct __cwmp__Upload);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__Upload, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__Upload);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__Upload, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__Upload location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__Upload(struct soap *soap, const struct __cwmp__Upload *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__Upload(soap, tag ? tag : "-cwmp:Upload", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__Upload * SOAP_FMAC4 soap_get___cwmp__Upload(struct soap *soap, struct __cwmp__Upload *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__Upload(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__Download(struct soap *soap, struct __cwmp__Download *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__Download = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__Download(struct soap *soap, const struct __cwmp__Download *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__Download(soap, &a->cwmp__Download);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__Download(struct soap *soap, const char *tag, int id, const struct __cwmp__Download *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__Download(soap, "cwmp:Download", -1, &a->cwmp__Download, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__Download * SOAP_FMAC4 soap_in___cwmp__Download(struct soap *soap, const char *tag, struct __cwmp__Download *a, const char *type)
{
	size_t soap_flag_cwmp__Download = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__Download*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__Download, sizeof(struct __cwmp__Download), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__Download(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__Download && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__Download(soap, "cwmp:Download", &a->cwmp__Download, ""))
				{	soap_flag_cwmp__Download--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__Download * SOAP_FMAC2 soap_instantiate___cwmp__Download(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__Download(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__Download *p;
	size_t k = sizeof(struct __cwmp__Download);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__Download, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__Download);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__Download, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__Download location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__Download(struct soap *soap, const struct __cwmp__Download *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__Download(soap, tag ? tag : "-cwmp:Download", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__Download * SOAP_FMAC4 soap_get___cwmp__Download(struct soap *soap, struct __cwmp__Download *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__Download(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__SetParameterAttributes(struct soap *soap, struct __cwmp__SetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__SetParameterAttributes = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__SetParameterAttributes(struct soap *soap, const struct __cwmp__SetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__SetParameterAttributes(soap, &a->cwmp__SetParameterAttributes);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__SetParameterAttributes(struct soap *soap, const char *tag, int id, const struct __cwmp__SetParameterAttributes *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__SetParameterAttributes(soap, "cwmp:SetParameterAttributes", -1, &a->cwmp__SetParameterAttributes, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__SetParameterAttributes * SOAP_FMAC4 soap_in___cwmp__SetParameterAttributes(struct soap *soap, const char *tag, struct __cwmp__SetParameterAttributes *a, const char *type)
{
	size_t soap_flag_cwmp__SetParameterAttributes = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__SetParameterAttributes*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__SetParameterAttributes, sizeof(struct __cwmp__SetParameterAttributes), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__SetParameterAttributes(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__SetParameterAttributes && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__SetParameterAttributes(soap, "cwmp:SetParameterAttributes", &a->cwmp__SetParameterAttributes, ""))
				{	soap_flag_cwmp__SetParameterAttributes--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__SetParameterAttributes * SOAP_FMAC2 soap_instantiate___cwmp__SetParameterAttributes(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__SetParameterAttributes(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__SetParameterAttributes *p;
	size_t k = sizeof(struct __cwmp__SetParameterAttributes);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__SetParameterAttributes, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__SetParameterAttributes);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__SetParameterAttributes, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__SetParameterAttributes location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__SetParameterAttributes(struct soap *soap, const struct __cwmp__SetParameterAttributes *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__SetParameterAttributes(soap, tag ? tag : "-cwmp:SetParameterAttributes", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__SetParameterAttributes * SOAP_FMAC4 soap_get___cwmp__SetParameterAttributes(struct soap *soap, struct __cwmp__SetParameterAttributes *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__SetParameterAttributes(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__GetParameterAttributes(struct soap *soap, struct __cwmp__GetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__GetParameterAttributes = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__GetParameterAttributes(struct soap *soap, const struct __cwmp__GetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__GetParameterAttributes(soap, &a->cwmp__GetParameterAttributes);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__GetParameterAttributes(struct soap *soap, const char *tag, int id, const struct __cwmp__GetParameterAttributes *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__GetParameterAttributes(soap, "cwmp:GetParameterAttributes", -1, &a->cwmp__GetParameterAttributes, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterAttributes * SOAP_FMAC4 soap_in___cwmp__GetParameterAttributes(struct soap *soap, const char *tag, struct __cwmp__GetParameterAttributes *a, const char *type)
{
	size_t soap_flag_cwmp__GetParameterAttributes = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__GetParameterAttributes*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__GetParameterAttributes, sizeof(struct __cwmp__GetParameterAttributes), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__GetParameterAttributes(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__GetParameterAttributes && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__GetParameterAttributes(soap, "cwmp:GetParameterAttributes", &a->cwmp__GetParameterAttributes, ""))
				{	soap_flag_cwmp__GetParameterAttributes--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__GetParameterAttributes * SOAP_FMAC2 soap_instantiate___cwmp__GetParameterAttributes(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__GetParameterAttributes(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__GetParameterAttributes *p;
	size_t k = sizeof(struct __cwmp__GetParameterAttributes);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__GetParameterAttributes, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__GetParameterAttributes);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__GetParameterAttributes, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__GetParameterAttributes location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__GetParameterAttributes(struct soap *soap, const struct __cwmp__GetParameterAttributes *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__GetParameterAttributes(soap, tag ? tag : "-cwmp:GetParameterAttributes", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterAttributes * SOAP_FMAC4 soap_get___cwmp__GetParameterAttributes(struct soap *soap, struct __cwmp__GetParameterAttributes *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__GetParameterAttributes(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__SetParameterValues(struct soap *soap, struct __cwmp__SetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__SetParameterValues = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__SetParameterValues(struct soap *soap, const struct __cwmp__SetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__SetParameterValues(soap, &a->cwmp__SetParameterValues);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__SetParameterValues(struct soap *soap, const char *tag, int id, const struct __cwmp__SetParameterValues *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__SetParameterValues(soap, "cwmp:SetParameterValues", -1, &a->cwmp__SetParameterValues, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__SetParameterValues * SOAP_FMAC4 soap_in___cwmp__SetParameterValues(struct soap *soap, const char *tag, struct __cwmp__SetParameterValues *a, const char *type)
{
	size_t soap_flag_cwmp__SetParameterValues = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__SetParameterValues*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__SetParameterValues, sizeof(struct __cwmp__SetParameterValues), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__SetParameterValues(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__SetParameterValues && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__SetParameterValues(soap, "cwmp:SetParameterValues", &a->cwmp__SetParameterValues, ""))
				{	soap_flag_cwmp__SetParameterValues--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__SetParameterValues * SOAP_FMAC2 soap_instantiate___cwmp__SetParameterValues(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__SetParameterValues(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__SetParameterValues *p;
	size_t k = sizeof(struct __cwmp__SetParameterValues);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__SetParameterValues, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__SetParameterValues);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__SetParameterValues, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__SetParameterValues location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__SetParameterValues(struct soap *soap, const struct __cwmp__SetParameterValues *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__SetParameterValues(soap, tag ? tag : "-cwmp:SetParameterValues", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__SetParameterValues * SOAP_FMAC4 soap_get___cwmp__SetParameterValues(struct soap *soap, struct __cwmp__SetParameterValues *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__SetParameterValues(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__GetParameterValuesResponse(struct soap *soap, struct __cwmp__GetParameterValuesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__GetParameterValuesResponse = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__GetParameterValuesResponse(struct soap *soap, const struct __cwmp__GetParameterValuesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__GetParameterValuesResponse(soap, &a->cwmp__GetParameterValuesResponse);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__GetParameterValuesResponse(struct soap *soap, const char *tag, int id, const struct __cwmp__GetParameterValuesResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__GetParameterValuesResponse(soap, "cwmp:GetParameterValuesResponse", -1, &a->cwmp__GetParameterValuesResponse, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterValuesResponse * SOAP_FMAC4 soap_in___cwmp__GetParameterValuesResponse(struct soap *soap, const char *tag, struct __cwmp__GetParameterValuesResponse *a, const char *type)
{
	size_t soap_flag_cwmp__GetParameterValuesResponse = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__GetParameterValuesResponse*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__GetParameterValuesResponse, sizeof(struct __cwmp__GetParameterValuesResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__GetParameterValuesResponse(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__GetParameterValuesResponse && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__GetParameterValuesResponse(soap, "cwmp:GetParameterValuesResponse", &a->cwmp__GetParameterValuesResponse, ""))
				{	soap_flag_cwmp__GetParameterValuesResponse--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__GetParameterValuesResponse * SOAP_FMAC2 soap_instantiate___cwmp__GetParameterValuesResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__GetParameterValuesResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__GetParameterValuesResponse *p;
	size_t k = sizeof(struct __cwmp__GetParameterValuesResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__GetParameterValuesResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__GetParameterValuesResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__GetParameterValuesResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__GetParameterValuesResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__GetParameterValuesResponse(struct soap *soap, const struct __cwmp__GetParameterValuesResponse *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__GetParameterValuesResponse(soap, tag ? tag : "-cwmp:GetParameterValuesResponse", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterValuesResponse * SOAP_FMAC4 soap_get___cwmp__GetParameterValuesResponse(struct soap *soap, struct __cwmp__GetParameterValuesResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__GetParameterValuesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__GetParameterValues(struct soap *soap, struct __cwmp__GetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__GetParameterValues = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__GetParameterValues(struct soap *soap, const struct __cwmp__GetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__GetParameterValues(soap, &a->cwmp__GetParameterValues);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__GetParameterValues(struct soap *soap, const char *tag, int id, const struct __cwmp__GetParameterValues *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__GetParameterValues(soap, "cwmp:GetParameterValues", -1, &a->cwmp__GetParameterValues, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterValues * SOAP_FMAC4 soap_in___cwmp__GetParameterValues(struct soap *soap, const char *tag, struct __cwmp__GetParameterValues *a, const char *type)
{
	size_t soap_flag_cwmp__GetParameterValues = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__GetParameterValues*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__GetParameterValues, sizeof(struct __cwmp__GetParameterValues), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__GetParameterValues(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__GetParameterValues && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__GetParameterValues(soap, "cwmp:GetParameterValues", &a->cwmp__GetParameterValues, ""))
				{	soap_flag_cwmp__GetParameterValues--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__GetParameterValues * SOAP_FMAC2 soap_instantiate___cwmp__GetParameterValues(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__GetParameterValues(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__GetParameterValues *p;
	size_t k = sizeof(struct __cwmp__GetParameterValues);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__GetParameterValues, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__GetParameterValues);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__GetParameterValues, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__GetParameterValues location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__GetParameterValues(struct soap *soap, const struct __cwmp__GetParameterValues *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__GetParameterValues(soap, tag ? tag : "-cwmp:GetParameterValues", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterValues * SOAP_FMAC4 soap_get___cwmp__GetParameterValues(struct soap *soap, struct __cwmp__GetParameterValues *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__GetParameterValues(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default___cwmp__GetParameterNames(struct soap *soap, struct __cwmp__GetParameterNames *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__GetParameterNames = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize___cwmp__GetParameterNames(struct soap *soap, const struct __cwmp__GetParameterNames *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__GetParameterNames(soap, &a->cwmp__GetParameterNames);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out___cwmp__GetParameterNames(struct soap *soap, const char *tag, int id, const struct __cwmp__GetParameterNames *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_out_PointerTo_cwmp__GetParameterNames(soap, "cwmp:GetParameterNames", -1, &a->cwmp__GetParameterNames, ""))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterNames * SOAP_FMAC4 soap_in___cwmp__GetParameterNames(struct soap *soap, const char *tag, struct __cwmp__GetParameterNames *a, const char *type)
{
	size_t soap_flag_cwmp__GetParameterNames = 1;
	short soap_flag;
	(void)tag; (void)type; /* appease -Wall -Werror */
	a = (struct __cwmp__GetParameterNames*)soap_id_enter(soap, "", a, SOAP_TYPE___cwmp__GetParameterNames, sizeof(struct __cwmp__GetParameterNames), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default___cwmp__GetParameterNames(soap, a);
		for (soap_flag = 0;; soap_flag = 1)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__GetParameterNames && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__GetParameterNames(soap, "cwmp:GetParameterNames", &a->cwmp__GetParameterNames, ""))
				{	soap_flag_cwmp__GetParameterNames--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && soap_flag)
			{	soap->error = SOAP_OK;
				break;
			}
			if (soap_flag && soap->error == SOAP_NO_TAG)
				break;
			if (soap->error)
				return NULL;
		}
	return a;
}

SOAP_FMAC1 struct __cwmp__GetParameterNames * SOAP_FMAC2 soap_instantiate___cwmp__GetParameterNames(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate___cwmp__GetParameterNames(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct __cwmp__GetParameterNames *p;
	size_t k = sizeof(struct __cwmp__GetParameterNames);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE___cwmp__GetParameterNames, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct __cwmp__GetParameterNames);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct __cwmp__GetParameterNames, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct __cwmp__GetParameterNames location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put___cwmp__GetParameterNames(struct soap *soap, const struct __cwmp__GetParameterNames *a, const char *tag, const char *type)
{
	if (soap_out___cwmp__GetParameterNames(soap, tag ? tag : "-cwmp:GetParameterNames", -2, a, type))
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct __cwmp__GetParameterNames * SOAP_FMAC4 soap_get___cwmp__GetParameterNames(struct soap *soap, struct __cwmp__GetParameterNames *p, const char *tag, const char *type)
{
	if ((p = soap_in___cwmp__GetParameterNames(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__Fault = NULL;
	a->__any = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__Fault(soap, &a->cwmp__Fault);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Detail *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Detail), type))
		return soap->error;
	if (soap_out_PointerTo_cwmp__Fault(soap, "cwmp:Fault", -1, &a->cwmp__Fault, ""))
		return soap->error;
	if (soap_outliteral(soap, "-any", (char*const*)&a->__any, NULL))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail *a, const char *type)
{
	size_t soap_flag_cwmp__Fault = 1;
	size_t soap_flag___any = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct SOAP_ENV__Detail*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_SOAP_ENV__Detail(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__Fault && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__Fault(soap, "cwmp:Fault", &a->cwmp__Fault, ""))
				{	soap_flag_cwmp__Fault--;
					continue;
				}
			}
			if (soap_flag___any && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_inliteral(soap, "-any", (char**)&a->__any))
				{	soap_flag___any--;
					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 SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Detail, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct SOAP_ENV__Detail * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Detail(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Detail(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct SOAP_ENV__Detail *p;
	size_t k = sizeof(struct SOAP_ENV__Detail);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Detail, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct SOAP_ENV__Detail);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Detail, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Detail location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a, const char *tag, const char *type)
{
	if (soap_out_SOAP_ENV__Detail(soap, tag ? tag : "SOAP-ENV:Detail", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *p, const char *tag, const char *type)
{
	if ((p = soap_in_SOAP_ENV__Detail(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->cwmp__SupportedCWMPVersions = NULL;
	a->cwmp__UseCWMPVersion = NULL;
	a->cwmp__SessionTimeout = NULL;
	a->cwmp__ID = NULL;
	a->cwmp__HoldRequests = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTo_cwmp__SupportedCWMPVersions(soap, &a->cwmp__SupportedCWMPVersions);
	soap_serialize_PointerTo_cwmp__UseCWMPVersion(soap, &a->cwmp__UseCWMPVersion);
	soap_serialize_PointerTo_cwmp__SessionTimeout(soap, &a->cwmp__SessionTimeout);
	soap_serialize_PointerTo_cwmp__ID(soap, &a->cwmp__ID);
	soap_serialize_PointerTo_cwmp__HoldRequests(soap, &a->cwmp__HoldRequests);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type))
		return soap->error;
	if (soap_out_PointerTo_cwmp__SupportedCWMPVersions(soap, "cwmp:SupportedCWMPVersions", -1, &a->cwmp__SupportedCWMPVersions, ""))
		return soap->error;
	if (soap_out_PointerTo_cwmp__UseCWMPVersion(soap, "cwmp:UseCWMPVersion", -1, &a->cwmp__UseCWMPVersion, ""))
		return soap->error;
	if (soap_out_PointerTo_cwmp__SessionTimeout(soap, "cwmp:SessionTimeout", -1, &a->cwmp__SessionTimeout, ""))
		return soap->error;
	if (soap_out_PointerTo_cwmp__ID(soap, "cwmp:ID", -1, &a->cwmp__ID, ""))
		return soap->error;
	if (soap_out_PointerTo_cwmp__HoldRequests(soap, "cwmp:HoldRequests", -1, &a->cwmp__HoldRequests, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap *soap, const char *tag, struct SOAP_ENV__Header *a, const char *type)
{
	size_t soap_flag_cwmp__SupportedCWMPVersions = 1;
	size_t soap_flag_cwmp__UseCWMPVersion = 1;
	size_t soap_flag_cwmp__SessionTimeout = 1;
	size_t soap_flag_cwmp__ID = 1;
	size_t soap_flag_cwmp__HoldRequests = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct SOAP_ENV__Header*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_SOAP_ENV__Header(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_cwmp__SupportedCWMPVersions && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__SupportedCWMPVersions(soap, "cwmp:SupportedCWMPVersions", &a->cwmp__SupportedCWMPVersions, ""))
				{	soap_flag_cwmp__SupportedCWMPVersions--;
					continue;
				}
			}
			if (soap_flag_cwmp__UseCWMPVersion && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__UseCWMPVersion(soap, "cwmp:UseCWMPVersion", &a->cwmp__UseCWMPVersion, ""))
				{	soap_flag_cwmp__UseCWMPVersion--;
					continue;
				}
			}
			if (soap_flag_cwmp__SessionTimeout && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__SessionTimeout(soap, "cwmp:SessionTimeout", &a->cwmp__SessionTimeout, ""))
				{	soap_flag_cwmp__SessionTimeout--;
					continue;
				}
			}
			if (soap_flag_cwmp__ID && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__ID(soap, "cwmp:ID", &a->cwmp__ID, ""))
				{	soap_flag_cwmp__ID--;
					continue;
				}
			}
			if (soap_flag_cwmp__HoldRequests && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTo_cwmp__HoldRequests(soap, "cwmp:HoldRequests", &a->cwmp__HoldRequests, ""))
				{	soap_flag_cwmp__HoldRequests--;
					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 SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Header, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct SOAP_ENV__Header * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Header(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Header(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct SOAP_ENV__Header *p;
	size_t k = sizeof(struct SOAP_ENV__Header);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENV__Header, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct SOAP_ENV__Header);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct SOAP_ENV__Header, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENV__Header location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a, const char *tag, const char *type)
{
	if (soap_out_SOAP_ENV__Header(soap, tag ? tag : "SOAP-ENV:Header", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *p, const char *tag, const char *type)
{
	if ((p = soap_in_SOAP_ENV__Header(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__HoldRequests(struct soap *soap, struct _cwmp__HoldRequests *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_xsd__boolean(soap, &a->__item);
	a->SOAP_ENV__mustUnderstand = (char*)"1";
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__HoldRequests(struct soap *soap, const struct _cwmp__HoldRequests *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__HoldRequests(struct soap *soap, const char *tag, int id, const struct _cwmp__HoldRequests *a, const char *type)
{
	soap_set_attr(soap, "SOAP-ENV:mustUnderstand", a->SOAP_ENV__mustUnderstand ? soap_string2s(soap, a->SOAP_ENV__mustUnderstand) : "1", 1);
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	return soap_out_xsd__boolean(soap, tag, id, &a->__item, "");
}

SOAP_FMAC3 struct _cwmp__HoldRequests * SOAP_FMAC4 soap_in__cwmp__HoldRequests(struct soap *soap, const char *tag, struct _cwmp__HoldRequests *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	if (!(a = (struct _cwmp__HoldRequests *)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__HoldRequests, sizeof(struct _cwmp__HoldRequests), soap->type, soap->arrayType, soap_instantiate, soap_fbase)))
		return NULL;
	soap_revert(soap);
	*soap->id = '\0';
	soap_default__cwmp__HoldRequests(soap, a);
	if (soap_s2string(soap, soap_attr_value(soap, "SOAP-ENV:mustUnderstand", 1, 1), &a->SOAP_ENV__mustUnderstand))
		return NULL;
	if (*soap->href != '#' && ((soap->mode & SOAP_XML_STRICT) && strcmp(a->SOAP_ENV__mustUnderstand, "1")))
	{	soap->error = SOAP_FIXED;
		return NULL;
	}
	if (!soap_in_xsd__boolean(soap, tag, &a->__item, ""))
		return NULL;
	return a;
}

SOAP_FMAC1 struct _cwmp__HoldRequests * SOAP_FMAC2 soap_instantiate__cwmp__HoldRequests(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__HoldRequests(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__HoldRequests *p;
	size_t k = sizeof(struct _cwmp__HoldRequests);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__HoldRequests, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__HoldRequests);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__HoldRequests, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__HoldRequests location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__HoldRequests(struct soap *soap, const struct _cwmp__HoldRequests *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__HoldRequests(soap, tag ? tag : "cwmp:HoldRequests", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__HoldRequests * SOAP_FMAC4 soap_get__cwmp__HoldRequests(struct soap *soap, struct _cwmp__HoldRequests *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__HoldRequests(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__ID(struct soap *soap, struct _cwmp__ID *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->__item);
	a->SOAP_ENV__mustUnderstand = (char*)"1";
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__ID(struct soap *soap, const struct _cwmp__ID *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->__item);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__ID(struct soap *soap, const char *tag, int id, const struct _cwmp__ID *a, const char *type)
{
	soap_set_attr(soap, "SOAP-ENV:mustUnderstand", a->SOAP_ENV__mustUnderstand ? soap_string2s(soap, a->SOAP_ENV__mustUnderstand) : "1", 1);
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	return soap_out_string(soap, tag, id, (char*const*)&a->__item, "");
}

SOAP_FMAC3 struct _cwmp__ID * SOAP_FMAC4 soap_in__cwmp__ID(struct soap *soap, const char *tag, struct _cwmp__ID *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	if (!(a = (struct _cwmp__ID *)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__ID, sizeof(struct _cwmp__ID), soap->type, soap->arrayType, soap_instantiate, soap_fbase)))
		return NULL;
	soap_revert(soap);
	*soap->id = '\0';
	soap_default__cwmp__ID(soap, a);
	if (soap_s2string(soap, soap_attr_value(soap, "SOAP-ENV:mustUnderstand", 1, 1), &a->SOAP_ENV__mustUnderstand))
		return NULL;
	if (*soap->href != '#' && ((soap->mode & SOAP_XML_STRICT) && strcmp(a->SOAP_ENV__mustUnderstand, "1")))
	{	soap->error = SOAP_FIXED;
		return NULL;
	}
	if (!soap_in_string(soap, tag, (char**)&a->__item, ""))
		return NULL;
	return a;
}

SOAP_FMAC1 struct _cwmp__ID * SOAP_FMAC2 soap_instantiate__cwmp__ID(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__ID(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__ID *p;
	size_t k = sizeof(struct _cwmp__ID);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__ID, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__ID);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__ID, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__ID location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__ID(struct soap *soap, const struct _cwmp__ID *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__ID(soap, tag ? tag : "cwmp:ID", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ID * SOAP_FMAC4 soap_get__cwmp__ID(struct soap *soap, struct _cwmp__ID *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__ID(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SessionTimeout(struct soap *soap, struct _cwmp__SessionTimeout *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_unsignedInt(soap, &a->__item);
	a->SOAP_ENV__mustUnderstand = (char*)"0";
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SessionTimeout(struct soap *soap, const struct _cwmp__SessionTimeout *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SessionTimeout(struct soap *soap, const char *tag, int id, const struct _cwmp__SessionTimeout *a, const char *type)
{
	if (a->SOAP_ENV__mustUnderstand)
		soap_set_attr(soap, "SOAP-ENV:mustUnderstand", soap_string2s(soap, a->SOAP_ENV__mustUnderstand), 1);
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	return soap_out_unsignedInt(soap, tag, id, &a->__item, "");
}

SOAP_FMAC3 struct _cwmp__SessionTimeout * SOAP_FMAC4 soap_in__cwmp__SessionTimeout(struct soap *soap, const char *tag, struct _cwmp__SessionTimeout *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	if (!(a = (struct _cwmp__SessionTimeout *)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SessionTimeout, sizeof(struct _cwmp__SessionTimeout), soap->type, soap->arrayType, soap_instantiate, soap_fbase)))
		return NULL;
	soap_revert(soap);
	*soap->id = '\0';
	soap_default__cwmp__SessionTimeout(soap, a);
	if (soap_s2string(soap, soap_attr_value(soap, "SOAP-ENV:mustUnderstand", 1, 0), &a->SOAP_ENV__mustUnderstand))
		return NULL;
	if (*soap->href != '#' && ((soap->mode & SOAP_XML_STRICT) && strcmp(a->SOAP_ENV__mustUnderstand, "0")))
	{	soap->error = SOAP_FIXED;
		return NULL;
	}
	if (!soap_in_unsignedInt(soap, tag, &a->__item, ""))
		return NULL;
	return a;
}

SOAP_FMAC1 struct _cwmp__SessionTimeout * SOAP_FMAC2 soap_instantiate__cwmp__SessionTimeout(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SessionTimeout(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SessionTimeout *p;
	size_t k = sizeof(struct _cwmp__SessionTimeout);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SessionTimeout, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SessionTimeout);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SessionTimeout, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SessionTimeout location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SessionTimeout(struct soap *soap, const struct _cwmp__SessionTimeout *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SessionTimeout(soap, tag ? tag : "cwmp:SessionTimeout", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SessionTimeout * SOAP_FMAC4 soap_get__cwmp__SessionTimeout(struct soap *soap, struct _cwmp__SessionTimeout *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SessionTimeout(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__UseCWMPVersion(struct soap *soap, struct _cwmp__UseCWMPVersion *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->__item);
	soap_default_string(soap, &a->SOAP_ENV__mustUnderstand);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__UseCWMPVersion(struct soap *soap, const struct _cwmp__UseCWMPVersion *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->__item);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__UseCWMPVersion(struct soap *soap, const char *tag, int id, const struct _cwmp__UseCWMPVersion *a, const char *type)
{
	soap_set_attr(soap, "SOAP-ENV:mustUnderstand", a->SOAP_ENV__mustUnderstand ? soap_string2s(soap, a->SOAP_ENV__mustUnderstand) : "", 1);
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	return soap_out_string(soap, tag, id, (char*const*)&a->__item, "");
}

SOAP_FMAC3 struct _cwmp__UseCWMPVersion * SOAP_FMAC4 soap_in__cwmp__UseCWMPVersion(struct soap *soap, const char *tag, struct _cwmp__UseCWMPVersion *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	if (!(a = (struct _cwmp__UseCWMPVersion *)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__UseCWMPVersion, sizeof(struct _cwmp__UseCWMPVersion), soap->type, soap->arrayType, soap_instantiate, soap_fbase)))
		return NULL;
	soap_revert(soap);
	*soap->id = '\0';
	soap_default__cwmp__UseCWMPVersion(soap, a);
	if (soap_s2string(soap, soap_attr_value(soap, "SOAP-ENV:mustUnderstand", 1, 1), &a->SOAP_ENV__mustUnderstand))
		return NULL;
	if (!soap_in_string(soap, tag, (char**)&a->__item, ""))
		return NULL;
	return a;
}

SOAP_FMAC1 struct _cwmp__UseCWMPVersion * SOAP_FMAC2 soap_instantiate__cwmp__UseCWMPVersion(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__UseCWMPVersion(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__UseCWMPVersion *p;
	size_t k = sizeof(struct _cwmp__UseCWMPVersion);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__UseCWMPVersion, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__UseCWMPVersion);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__UseCWMPVersion, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__UseCWMPVersion location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__UseCWMPVersion(struct soap *soap, const struct _cwmp__UseCWMPVersion *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__UseCWMPVersion(soap, tag ? tag : "cwmp:UseCWMPVersion", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__UseCWMPVersion * SOAP_FMAC4 soap_get__cwmp__UseCWMPVersion(struct soap *soap, struct _cwmp__UseCWMPVersion *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__UseCWMPVersion(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SupportedCWMPVersions(struct soap *soap, struct _cwmp__SupportedCWMPVersions *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->__item);
	soap_default_string(soap, &a->SOAP_ENV__mustUnderstand);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SupportedCWMPVersions(struct soap *soap, const struct _cwmp__SupportedCWMPVersions *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->__item);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SupportedCWMPVersions(struct soap *soap, const char *tag, int id, const struct _cwmp__SupportedCWMPVersions *a, const char *type)
{
	if (a->SOAP_ENV__mustUnderstand)
		soap_set_attr(soap, "SOAP-ENV:mustUnderstand", soap_string2s(soap, a->SOAP_ENV__mustUnderstand), 1);
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	return soap_out_string(soap, tag, id, (char*const*)&a->__item, "");
}

SOAP_FMAC3 struct _cwmp__SupportedCWMPVersions * SOAP_FMAC4 soap_in__cwmp__SupportedCWMPVersions(struct soap *soap, const char *tag, struct _cwmp__SupportedCWMPVersions *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	if (!(a = (struct _cwmp__SupportedCWMPVersions *)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SupportedCWMPVersions, sizeof(struct _cwmp__SupportedCWMPVersions), soap->type, soap->arrayType, soap_instantiate, soap_fbase)))
		return NULL;
	soap_revert(soap);
	*soap->id = '\0';
	soap_default__cwmp__SupportedCWMPVersions(soap, a);
	if (soap_s2string(soap, soap_attr_value(soap, "SOAP-ENV:mustUnderstand", 1, 0), &a->SOAP_ENV__mustUnderstand))
		return NULL;
	if (!soap_in_string(soap, tag, (char**)&a->__item, ""))
		return NULL;
	return a;
}

SOAP_FMAC1 struct _cwmp__SupportedCWMPVersions * SOAP_FMAC2 soap_instantiate__cwmp__SupportedCWMPVersions(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SupportedCWMPVersions(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SupportedCWMPVersions *p;
	size_t k = sizeof(struct _cwmp__SupportedCWMPVersions);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SupportedCWMPVersions, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SupportedCWMPVersions);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SupportedCWMPVersions, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SupportedCWMPVersions location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SupportedCWMPVersions(struct soap *soap, const struct _cwmp__SupportedCWMPVersions *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SupportedCWMPVersions(soap, tag ? tag : "cwmp:SupportedCWMPVersions", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SupportedCWMPVersions * SOAP_FMAC4 soap_get__cwmp__SupportedCWMPVersions(struct soap *soap, struct _cwmp__SupportedCWMPVersions *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SupportedCWMPVersions(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__UninstallOpStruct(struct soap *soap, struct cwmp__UninstallOpStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__DeploymentUnitUUID(soap, &a->UUID);
	a->Version = NULL;
	a->ExecutionEnvRef = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__UninstallOpStruct(struct soap *soap, const struct cwmp__UninstallOpStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__DeploymentUnitUUID(soap, (char*const*)&a->UUID);
	soap_serialize_PointerTostring(soap, &a->Version);
	soap_serialize_PointerTostring(soap, &a->ExecutionEnvRef);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__UninstallOpStruct(struct soap *soap, const char *tag, int id, const struct cwmp__UninstallOpStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__UninstallOpStruct), type))
		return soap->error;
	if (!a->UUID)
	{	if (soap_element_empty(soap, "UUID"))
			return soap->error;
	}
	else if (soap_out_cwmp__DeploymentUnitUUID(soap, "UUID", -1, (char*const*)&a->UUID, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "Version", -1, &a->Version, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "ExecutionEnvRef", -1, &a->ExecutionEnvRef, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__UninstallOpStruct * SOAP_FMAC4 soap_in_cwmp__UninstallOpStruct(struct soap *soap, const char *tag, struct cwmp__UninstallOpStruct *a, const char *type)
{
	size_t soap_flag_UUID = 1;
	size_t soap_flag_Version = 1;
	size_t soap_flag_ExecutionEnvRef = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__UninstallOpStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__UninstallOpStruct, sizeof(struct cwmp__UninstallOpStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__UninstallOpStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_UUID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DeploymentUnitUUID(soap, "UUID", (char**)&a->UUID, "cwmp:DeploymentUnitUUID"))
				{	soap_flag_UUID--;
					continue;
				}
			}
			if (soap_flag_Version && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "Version", &a->Version, "xsd:string"))
				{	soap_flag_Version--;
					continue;
				}
			}
			if (soap_flag_ExecutionEnvRef && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "ExecutionEnvRef", &a->ExecutionEnvRef, "xsd:string"))
				{	soap_flag_ExecutionEnvRef--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->UUID))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__UninstallOpStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__UninstallOpStruct, SOAP_TYPE_cwmp__UninstallOpStruct, sizeof(struct cwmp__UninstallOpStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__UninstallOpStruct * SOAP_FMAC2 soap_instantiate_cwmp__UninstallOpStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__UninstallOpStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__UninstallOpStruct *p;
	size_t k = sizeof(struct cwmp__UninstallOpStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__UninstallOpStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__UninstallOpStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__UninstallOpStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__UninstallOpStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__UninstallOpStruct(struct soap *soap, const struct cwmp__UninstallOpStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__UninstallOpStruct(soap, tag ? tag : "cwmp:UninstallOpStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__UninstallOpStruct * SOAP_FMAC4 soap_get_cwmp__UninstallOpStruct(struct soap *soap, struct cwmp__UninstallOpStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__UninstallOpStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__UpdateOpStruct(struct soap *soap, struct cwmp__UpdateOpStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__DeploymentUnitUUID(soap, &a->UUID);
	a->Version = NULL;
	a->URL = NULL;
	a->Username = NULL;
	a->Password = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__UpdateOpStruct(struct soap *soap, const struct cwmp__UpdateOpStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__DeploymentUnitUUID(soap, (char*const*)&a->UUID);
	soap_serialize_PointerTostring(soap, &a->Version);
	soap_serialize_PointerToxsd__anyURI(soap, &a->URL);
	soap_serialize_PointerTostring(soap, &a->Username);
	soap_serialize_PointerTostring(soap, &a->Password);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__UpdateOpStruct(struct soap *soap, const char *tag, int id, const struct cwmp__UpdateOpStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__UpdateOpStruct), type))
		return soap->error;
	if (soap_out_cwmp__DeploymentUnitUUID(soap, "UUID", -1, (char*const*)&a->UUID, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "Version", -1, &a->Version, ""))
		return soap->error;
	if (soap_out_PointerToxsd__anyURI(soap, "URL", -1, &a->URL, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "Username", -1, &a->Username, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "Password", -1, &a->Password, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__UpdateOpStruct * SOAP_FMAC4 soap_in_cwmp__UpdateOpStruct(struct soap *soap, const char *tag, struct cwmp__UpdateOpStruct *a, const char *type)
{
	size_t soap_flag_UUID = 1;
	size_t soap_flag_Version = 1;
	size_t soap_flag_URL = 1;
	size_t soap_flag_Username = 1;
	size_t soap_flag_Password = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__UpdateOpStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__UpdateOpStruct, sizeof(struct cwmp__UpdateOpStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__UpdateOpStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_UUID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DeploymentUnitUUID(soap, "UUID", (char**)&a->UUID, "cwmp:DeploymentUnitUUID"))
				{	soap_flag_UUID--;
					continue;
				}
			}
			if (soap_flag_Version && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "Version", &a->Version, "xsd:string"))
				{	soap_flag_Version--;
					continue;
				}
			}
			if (soap_flag_URL && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToxsd__anyURI(soap, "URL", &a->URL, "xsd:anyURI"))
				{	soap_flag_URL--;
					continue;
				}
			}
			if (soap_flag_Username && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "Username", &a->Username, "xsd:string"))
				{	soap_flag_Username--;
					continue;
				}
			}
			if (soap_flag_Password && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "Password", &a->Password, "xsd:string"))
				{	soap_flag_Password--;
					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 cwmp__UpdateOpStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__UpdateOpStruct, SOAP_TYPE_cwmp__UpdateOpStruct, sizeof(struct cwmp__UpdateOpStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__UpdateOpStruct * SOAP_FMAC2 soap_instantiate_cwmp__UpdateOpStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__UpdateOpStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__UpdateOpStruct *p;
	size_t k = sizeof(struct cwmp__UpdateOpStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__UpdateOpStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__UpdateOpStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__UpdateOpStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__UpdateOpStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__UpdateOpStruct(struct soap *soap, const struct cwmp__UpdateOpStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__UpdateOpStruct(soap, tag ? tag : "cwmp:UpdateOpStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__UpdateOpStruct * SOAP_FMAC4 soap_get_cwmp__UpdateOpStruct(struct soap *soap, struct cwmp__UpdateOpStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__UpdateOpStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__InstallOpStruct(struct soap *soap, struct cwmp__InstallOpStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_xsd__anyURI(soap, &a->URL);
	soap_default_cwmp__DeploymentUnitUUID(soap, &a->UUID);
	a->Username = NULL;
	a->Password = NULL;
	a->ExecutionEnvRef = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__InstallOpStruct(struct soap *soap, const struct cwmp__InstallOpStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_xsd__anyURI(soap, (char*const*)&a->URL);
	soap_serialize_cwmp__DeploymentUnitUUID(soap, (char*const*)&a->UUID);
	soap_serialize_PointerTostring(soap, &a->Username);
	soap_serialize_PointerTostring(soap, &a->Password);
	soap_serialize_PointerTostring(soap, &a->ExecutionEnvRef);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__InstallOpStruct(struct soap *soap, const char *tag, int id, const struct cwmp__InstallOpStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__InstallOpStruct), type))
		return soap->error;
	if (!a->URL)
	{	if (soap_element_empty(soap, "URL"))
			return soap->error;
	}
	else if (soap_out_xsd__anyURI(soap, "URL", -1, (char*const*)&a->URL, ""))
		return soap->error;
	if (soap_out_cwmp__DeploymentUnitUUID(soap, "UUID", -1, (char*const*)&a->UUID, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "Username", -1, &a->Username, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "Password", -1, &a->Password, ""))
		return soap->error;
	if (soap_out_PointerTostring(soap, "ExecutionEnvRef", -1, &a->ExecutionEnvRef, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__InstallOpStruct * SOAP_FMAC4 soap_in_cwmp__InstallOpStruct(struct soap *soap, const char *tag, struct cwmp__InstallOpStruct *a, const char *type)
{
	size_t soap_flag_URL = 1;
	size_t soap_flag_UUID = 1;
	size_t soap_flag_Username = 1;
	size_t soap_flag_Password = 1;
	size_t soap_flag_ExecutionEnvRef = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__InstallOpStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__InstallOpStruct, sizeof(struct cwmp__InstallOpStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__InstallOpStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_URL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_xsd__anyURI(soap, "URL", (char**)&a->URL, "xsd:anyURI"))
				{	soap_flag_URL--;
					continue;
				}
			}
			if (soap_flag_UUID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DeploymentUnitUUID(soap, "UUID", (char**)&a->UUID, "cwmp:DeploymentUnitUUID"))
				{	soap_flag_UUID--;
					continue;
				}
			}
			if (soap_flag_Username && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "Username", &a->Username, "xsd:string"))
				{	soap_flag_Username--;
					continue;
				}
			}
			if (soap_flag_Password && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "Password", &a->Password, "xsd:string"))
				{	soap_flag_Password--;
					continue;
				}
			}
			if (soap_flag_ExecutionEnvRef && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTostring(soap, "ExecutionEnvRef", &a->ExecutionEnvRef, "xsd:string"))
				{	soap_flag_ExecutionEnvRef--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->URL))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__InstallOpStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__InstallOpStruct, SOAP_TYPE_cwmp__InstallOpStruct, sizeof(struct cwmp__InstallOpStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__InstallOpStruct * SOAP_FMAC2 soap_instantiate_cwmp__InstallOpStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__InstallOpStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__InstallOpStruct *p;
	size_t k = sizeof(struct cwmp__InstallOpStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__InstallOpStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__InstallOpStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__InstallOpStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__InstallOpStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__InstallOpStruct(struct soap *soap, const struct cwmp__InstallOpStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__InstallOpStruct(soap, tag ? tag : "cwmp:InstallOpStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__InstallOpStruct * SOAP_FMAC4 soap_get_cwmp__InstallOpStruct(struct soap *soap, struct cwmp__InstallOpStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__InstallOpStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__AutonomousDUStateChangeCompleteResponse(struct soap *soap, struct _cwmp__AutonomousDUStateChangeCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__AutonomousDUStateChangeCompleteResponse(struct soap *soap, const struct _cwmp__AutonomousDUStateChangeCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__AutonomousDUStateChangeCompleteResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__AutonomousDUStateChangeCompleteResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__AutonomousDUStateChangeCompleteResponse * SOAP_FMAC4 soap_in__cwmp__AutonomousDUStateChangeCompleteResponse(struct soap *soap, const char *tag, struct _cwmp__AutonomousDUStateChangeCompleteResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__AutonomousDUStateChangeCompleteResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse, sizeof(struct _cwmp__AutonomousDUStateChangeCompleteResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__AutonomousDUStateChangeCompleteResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__AutonomousDUStateChangeCompleteResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse, SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse, sizeof(struct _cwmp__AutonomousDUStateChangeCompleteResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__AutonomousDUStateChangeCompleteResponse * SOAP_FMAC2 soap_instantiate__cwmp__AutonomousDUStateChangeCompleteResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__AutonomousDUStateChangeCompleteResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__AutonomousDUStateChangeCompleteResponse *p;
	size_t k = sizeof(struct _cwmp__AutonomousDUStateChangeCompleteResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__AutonomousDUStateChangeCompleteResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__AutonomousDUStateChangeCompleteResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__AutonomousDUStateChangeCompleteResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__AutonomousDUStateChangeCompleteResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__AutonomousDUStateChangeCompleteResponse(struct soap *soap, const struct _cwmp__AutonomousDUStateChangeCompleteResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__AutonomousDUStateChangeCompleteResponse(soap, tag ? tag : "cwmp:AutonomousDUStateChangeCompleteResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AutonomousDUStateChangeCompleteResponse * SOAP_FMAC4 soap_get__cwmp__AutonomousDUStateChangeCompleteResponse(struct soap *soap, struct _cwmp__AutonomousDUStateChangeCompleteResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__AutonomousDUStateChangeCompleteResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__AutonOpResultStruct(struct soap *soap, struct cwmp__AutonOpResultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__DeploymentUnitUUID(soap, &a->UUID);
	soap_default_string(soap, &a->DeploymentUnitRef);
	soap_default_string(soap, &a->Version);
	soap_default_cwmp__DeploymentUnitState(soap, &a->CurrentState);
	soap_default_xsd__boolean(soap, &a->Resolved);
	soap_default_string(soap, &a->ExecutionUnitRefList);
	soap_default_dateTime(soap, &a->StartTime);
	soap_default_dateTime(soap, &a->CompleteTime);
	a->Fault = NULL;
	soap_default_cwmp__DeploymentUnitOperationType(soap, &a->OperationPerformed);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__AutonOpResultStruct(struct soap *soap, const struct cwmp__AutonOpResultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__DeploymentUnitUUID(soap, (char*const*)&a->UUID);
	soap_serialize_string(soap, (char*const*)&a->DeploymentUnitRef);
	soap_serialize_string(soap, (char*const*)&a->Version);
	soap_serialize_string(soap, (char*const*)&a->ExecutionUnitRefList);
	soap_embedded(soap, &a->StartTime, SOAP_TYPE_dateTime);
	soap_embedded(soap, &a->CompleteTime, SOAP_TYPE_dateTime);
	soap_serialize_PointerTocwmp__DeploymentUnitFaultStruct(soap, &a->Fault);
	soap_serialize_cwmp__DeploymentUnitOperationType(soap, (char*const*)&a->OperationPerformed);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__AutonOpResultStruct(struct soap *soap, const char *tag, int id, const struct cwmp__AutonOpResultStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__AutonOpResultStruct), type))
		return soap->error;
	if (!a->UUID)
	{	if (soap_element_empty(soap, "UUID"))
			return soap->error;
	}
	else if (soap_out_cwmp__DeploymentUnitUUID(soap, "UUID", -1, (char*const*)&a->UUID, ""))
		return soap->error;
	if (!a->DeploymentUnitRef)
	{	if (soap_element_empty(soap, "DeploymentUnitRef"))
			return soap->error;
	}
	else if (soap_out_string(soap, "DeploymentUnitRef", -1, (char*const*)&a->DeploymentUnitRef, ""))
		return soap->error;
	if (!a->Version)
	{	if (soap_element_empty(soap, "Version"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Version", -1, (char*const*)&a->Version, ""))
		return soap->error;
	if (soap_out_cwmp__DeploymentUnitState(soap, "CurrentState", -1, &a->CurrentState, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "Resolved", -1, &a->Resolved, ""))
		return soap->error;
	if (!a->ExecutionUnitRefList)
	{	if (soap_element_empty(soap, "ExecutionUnitRefList"))
			return soap->error;
	}
	else if (soap_out_string(soap, "ExecutionUnitRefList", -1, (char*const*)&a->ExecutionUnitRefList, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "StartTime", -1, &a->StartTime, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "CompleteTime", -1, &a->CompleteTime, ""))
		return soap->error;
	if (!a->Fault)
	{	if (soap_element_empty(soap, "Fault"))
			return soap->error;
	}
	else if (soap_out_PointerTocwmp__DeploymentUnitFaultStruct(soap, "Fault", -1, &a->Fault, ""))
		return soap->error;
	if (!a->OperationPerformed)
	{	if (soap_element_empty(soap, "OperationPerformed"))
			return soap->error;
	}
	else if (soap_out_cwmp__DeploymentUnitOperationType(soap, "OperationPerformed", -1, (char*const*)&a->OperationPerformed, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__AutonOpResultStruct * SOAP_FMAC4 soap_in_cwmp__AutonOpResultStruct(struct soap *soap, const char *tag, struct cwmp__AutonOpResultStruct *a, const char *type)
{
	size_t soap_flag_UUID = 1;
	size_t soap_flag_DeploymentUnitRef = 1;
	size_t soap_flag_Version = 1;
	size_t soap_flag_CurrentState = 1;
	size_t soap_flag_Resolved = 1;
	size_t soap_flag_ExecutionUnitRefList = 1;
	size_t soap_flag_StartTime = 1;
	size_t soap_flag_CompleteTime = 1;
	size_t soap_flag_Fault = 1;
	size_t soap_flag_OperationPerformed = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__AutonOpResultStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__AutonOpResultStruct, sizeof(struct cwmp__AutonOpResultStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__AutonOpResultStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_UUID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DeploymentUnitUUID(soap, "UUID", (char**)&a->UUID, "cwmp:DeploymentUnitUUID"))
				{	soap_flag_UUID--;
					continue;
				}
			}
			if (soap_flag_DeploymentUnitRef && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "DeploymentUnitRef", (char**)&a->DeploymentUnitRef, "xsd:string"))
				{	soap_flag_DeploymentUnitRef--;
					continue;
				}
			}
			if (soap_flag_Version && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Version", (char**)&a->Version, "xsd:string"))
				{	soap_flag_Version--;
					continue;
				}
			}
			if (soap_flag_CurrentState && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_cwmp__DeploymentUnitState(soap, "CurrentState", &a->CurrentState, "cwmp:DeploymentUnitState"))
				{	soap_flag_CurrentState--;
					continue;
				}
			}
			if (soap_flag_Resolved && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "Resolved", &a->Resolved, "xsd:boolean"))
				{	soap_flag_Resolved--;
					continue;
				}
			}
			if (soap_flag_ExecutionUnitRefList && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "ExecutionUnitRefList", (char**)&a->ExecutionUnitRefList, "xsd:string"))
				{	soap_flag_ExecutionUnitRefList--;
					continue;
				}
			}
			if (soap_flag_StartTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "StartTime", &a->StartTime, "xsd:dateTime"))
				{	soap_flag_StartTime--;
					continue;
				}
			}
			if (soap_flag_CompleteTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "CompleteTime", &a->CompleteTime, "xsd:dateTime"))
				{	soap_flag_CompleteTime--;
					continue;
				}
			}
			if (soap_flag_Fault && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTocwmp__DeploymentUnitFaultStruct(soap, "Fault", &a->Fault, "cwmp:DeploymentUnitFaultStruct"))
				{	soap_flag_Fault--;
					continue;
				}
			}
			if (soap_flag_OperationPerformed && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DeploymentUnitOperationType(soap, "OperationPerformed", (char**)&a->OperationPerformed, "cwmp:DeploymentUnitOperationType"))
				{	soap_flag_OperationPerformed--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->UUID || !a->DeploymentUnitRef || !a->Version || soap_flag_CurrentState > 0 || soap_flag_Resolved > 0 || !a->ExecutionUnitRefList || soap_flag_StartTime > 0 || soap_flag_CompleteTime > 0 || !a->Fault || !a->OperationPerformed))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__AutonOpResultStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__AutonOpResultStruct, SOAP_TYPE_cwmp__AutonOpResultStruct, sizeof(struct cwmp__AutonOpResultStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__AutonOpResultStruct * SOAP_FMAC2 soap_instantiate_cwmp__AutonOpResultStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__AutonOpResultStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__AutonOpResultStruct *p;
	size_t k = sizeof(struct cwmp__AutonOpResultStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__AutonOpResultStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__AutonOpResultStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__AutonOpResultStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__AutonOpResultStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__AutonOpResultStruct(struct soap *soap, const struct cwmp__AutonOpResultStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__AutonOpResultStruct(soap, tag ? tag : "cwmp:AutonOpResultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__AutonOpResultStruct * SOAP_FMAC4 soap_get_cwmp__AutonOpResultStruct(struct soap *soap, struct cwmp__AutonOpResultStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__AutonOpResultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__AutonomousDUStateChangeComplete(struct soap *soap, struct _cwmp__AutonomousDUStateChangeComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->__sizeResults = 0;
	a->Results = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__AutonomousDUStateChangeComplete(struct soap *soap, const struct _cwmp__AutonomousDUStateChangeComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->Results)
	{	int i;
		for (i = 0; i < (int)a->__sizeResults; i++)
		{
			soap_embedded(soap, a->Results + i, SOAP_TYPE_cwmp__AutonOpResultStruct);
			soap_serialize_cwmp__AutonOpResultStruct(soap, a->Results + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__AutonomousDUStateChangeComplete(struct soap *soap, const char *tag, int id, const struct _cwmp__AutonomousDUStateChangeComplete *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete), type))
		return soap->error;
	if (a->Results)
	{	int i;
		for (i = 0; i < (int)a->__sizeResults; i++)
			if (soap_out_cwmp__AutonOpResultStruct(soap, "Results", -1, a->Results + i, ""))
				return soap->error;
	}
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__AutonomousDUStateChangeComplete * SOAP_FMAC4 soap_in__cwmp__AutonomousDUStateChangeComplete(struct soap *soap, const char *tag, struct _cwmp__AutonomousDUStateChangeComplete *a, const char *type)
{
	struct soap_blist *soap_blist_Results = NULL;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__AutonomousDUStateChangeComplete*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete, sizeof(struct _cwmp__AutonomousDUStateChangeComplete), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__AutonomousDUStateChangeComplete(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap->error == SOAP_TAG_MISMATCH && !soap_element_begin_in(soap, "Results", 1, NULL))
			{	if (a->Results == NULL)
				{	if (soap_blist_Results == NULL)
						soap_blist_Results = soap_alloc_block(soap);
					a->Results = soap_block<struct cwmp__AutonOpResultStruct>::push(soap, soap_blist_Results);
					if (a->Results == NULL)
						return NULL;
					soap_default_cwmp__AutonOpResultStruct(soap, a->Results);
				}
				soap_revert(soap);
				if (soap_in_cwmp__AutonOpResultStruct(soap, "Results", a->Results, "cwmp:AutonOpResultStruct"))
				{	a->__sizeResults++;
					a->Results = NULL;
					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 (a->Results)
			soap_block<struct cwmp__AutonOpResultStruct>::pop(soap, soap_blist_Results);
		if (a->__sizeResults)
		{	a->Results = soap_new_cwmp__AutonOpResultStruct(soap, a->__sizeResults);
			if (!a->Results)
				return NULL;
			soap_block<struct cwmp__AutonOpResultStruct>::save(soap, soap_blist_Results, a->Results);
		}
		else
		{	a->Results = NULL;
			if (soap_blist_Results)
				soap_block<struct cwmp__AutonOpResultStruct>::end(soap, soap_blist_Results);
		}
		if (soap_element_end_in(soap, tag))
			return NULL;
		if ((soap->mode & SOAP_XML_STRICT) && (a->__sizeResults < 1))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__AutonomousDUStateChangeComplete *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete, SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete, sizeof(struct _cwmp__AutonomousDUStateChangeComplete), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__AutonomousDUStateChangeComplete * SOAP_FMAC2 soap_instantiate__cwmp__AutonomousDUStateChangeComplete(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__AutonomousDUStateChangeComplete(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__AutonomousDUStateChangeComplete *p;
	size_t k = sizeof(struct _cwmp__AutonomousDUStateChangeComplete);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__AutonomousDUStateChangeComplete, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__AutonomousDUStateChangeComplete);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__AutonomousDUStateChangeComplete, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__AutonomousDUStateChangeComplete location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__AutonomousDUStateChangeComplete(struct soap *soap, const struct _cwmp__AutonomousDUStateChangeComplete *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__AutonomousDUStateChangeComplete(soap, tag ? tag : "cwmp:AutonomousDUStateChangeComplete", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AutonomousDUStateChangeComplete * SOAP_FMAC4 soap_get__cwmp__AutonomousDUStateChangeComplete(struct soap *soap, struct _cwmp__AutonomousDUStateChangeComplete *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__AutonomousDUStateChangeComplete(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__DUStateChangeCompleteResponse(struct soap *soap, struct _cwmp__DUStateChangeCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__DUStateChangeCompleteResponse(struct soap *soap, const struct _cwmp__DUStateChangeCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__DUStateChangeCompleteResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__DUStateChangeCompleteResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__DUStateChangeCompleteResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__DUStateChangeCompleteResponse * SOAP_FMAC4 soap_in__cwmp__DUStateChangeCompleteResponse(struct soap *soap, const char *tag, struct _cwmp__DUStateChangeCompleteResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__DUStateChangeCompleteResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__DUStateChangeCompleteResponse, sizeof(struct _cwmp__DUStateChangeCompleteResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__DUStateChangeCompleteResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__DUStateChangeCompleteResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__DUStateChangeCompleteResponse, SOAP_TYPE__cwmp__DUStateChangeCompleteResponse, sizeof(struct _cwmp__DUStateChangeCompleteResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__DUStateChangeCompleteResponse * SOAP_FMAC2 soap_instantiate__cwmp__DUStateChangeCompleteResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__DUStateChangeCompleteResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__DUStateChangeCompleteResponse *p;
	size_t k = sizeof(struct _cwmp__DUStateChangeCompleteResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__DUStateChangeCompleteResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__DUStateChangeCompleteResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__DUStateChangeCompleteResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__DUStateChangeCompleteResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__DUStateChangeCompleteResponse(struct soap *soap, const struct _cwmp__DUStateChangeCompleteResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__DUStateChangeCompleteResponse(soap, tag ? tag : "cwmp:DUStateChangeCompleteResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DUStateChangeCompleteResponse * SOAP_FMAC4 soap_get__cwmp__DUStateChangeCompleteResponse(struct soap *soap, struct _cwmp__DUStateChangeCompleteResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__DUStateChangeCompleteResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__DUStateChangeComplete(struct soap *soap, struct _cwmp__DUStateChangeComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->__sizeResults = 0;
	a->Results = NULL;
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__DUStateChangeComplete(struct soap *soap, const struct _cwmp__DUStateChangeComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->Results)
	{	int i;
		for (i = 0; i < (int)a->__sizeResults; i++)
		{
			soap_embedded(soap, a->Results + i, SOAP_TYPE_cwmp__OpResultStruct);
			soap_serialize_cwmp__OpResultStruct(soap, a->Results + i);
		}
	}
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__DUStateChangeComplete(struct soap *soap, const char *tag, int id, const struct _cwmp__DUStateChangeComplete *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__DUStateChangeComplete), type))
		return soap->error;
	if (a->Results)
	{	int i;
		for (i = 0; i < (int)a->__sizeResults; i++)
			if (soap_out_cwmp__OpResultStruct(soap, "Results", -1, a->Results + i, ""))
				return soap->error;
	}
	if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__DUStateChangeComplete * SOAP_FMAC4 soap_in__cwmp__DUStateChangeComplete(struct soap *soap, const char *tag, struct _cwmp__DUStateChangeComplete *a, const char *type)
{
	struct soap_blist *soap_blist_Results = NULL;
	size_t soap_flag_CommandKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__DUStateChangeComplete*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__DUStateChangeComplete, sizeof(struct _cwmp__DUStateChangeComplete), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__DUStateChangeComplete(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap->error == SOAP_TAG_MISMATCH && !soap_element_begin_in(soap, "Results", 1, NULL))
			{	if (a->Results == NULL)
				{	if (soap_blist_Results == NULL)
						soap_blist_Results = soap_alloc_block(soap);
					a->Results = soap_block<struct cwmp__OpResultStruct>::push(soap, soap_blist_Results);
					if (a->Results == NULL)
						return NULL;
					soap_default_cwmp__OpResultStruct(soap, a->Results);
				}
				soap_revert(soap);
				if (soap_in_cwmp__OpResultStruct(soap, "Results", a->Results, "cwmp:OpResultStruct"))
				{	a->__sizeResults++;
					a->Results = NULL;
					continue;
				}
			}
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					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 (a->Results)
			soap_block<struct cwmp__OpResultStruct>::pop(soap, soap_blist_Results);
		if (a->__sizeResults)
		{	a->Results = soap_new_cwmp__OpResultStruct(soap, a->__sizeResults);
			if (!a->Results)
				return NULL;
			soap_block<struct cwmp__OpResultStruct>::save(soap, soap_blist_Results, a->Results);
		}
		else
		{	a->Results = NULL;
			if (soap_blist_Results)
				soap_block<struct cwmp__OpResultStruct>::end(soap, soap_blist_Results);
		}
		if (soap_element_end_in(soap, tag))
			return NULL;
		if ((soap->mode & SOAP_XML_STRICT) && (a->__sizeResults < 1))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__DUStateChangeComplete *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__DUStateChangeComplete, SOAP_TYPE__cwmp__DUStateChangeComplete, sizeof(struct _cwmp__DUStateChangeComplete), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__DUStateChangeComplete * SOAP_FMAC2 soap_instantiate__cwmp__DUStateChangeComplete(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__DUStateChangeComplete(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__DUStateChangeComplete *p;
	size_t k = sizeof(struct _cwmp__DUStateChangeComplete);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__DUStateChangeComplete, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__DUStateChangeComplete);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__DUStateChangeComplete, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__DUStateChangeComplete location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__DUStateChangeComplete(struct soap *soap, const struct _cwmp__DUStateChangeComplete *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__DUStateChangeComplete(soap, tag ? tag : "cwmp:DUStateChangeComplete", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DUStateChangeComplete * SOAP_FMAC4 soap_get__cwmp__DUStateChangeComplete(struct soap *soap, struct _cwmp__DUStateChangeComplete *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__DUStateChangeComplete(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__RequestDownloadResponse(struct soap *soap, struct _cwmp__RequestDownloadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__RequestDownloadResponse(struct soap *soap, const struct _cwmp__RequestDownloadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__RequestDownloadResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__RequestDownloadResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__RequestDownloadResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__RequestDownloadResponse * SOAP_FMAC4 soap_in__cwmp__RequestDownloadResponse(struct soap *soap, const char *tag, struct _cwmp__RequestDownloadResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__RequestDownloadResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__RequestDownloadResponse, sizeof(struct _cwmp__RequestDownloadResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__RequestDownloadResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__RequestDownloadResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__RequestDownloadResponse, SOAP_TYPE__cwmp__RequestDownloadResponse, sizeof(struct _cwmp__RequestDownloadResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__RequestDownloadResponse * SOAP_FMAC2 soap_instantiate__cwmp__RequestDownloadResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__RequestDownloadResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__RequestDownloadResponse *p;
	size_t k = sizeof(struct _cwmp__RequestDownloadResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__RequestDownloadResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__RequestDownloadResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__RequestDownloadResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__RequestDownloadResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__RequestDownloadResponse(struct soap *soap, const struct _cwmp__RequestDownloadResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__RequestDownloadResponse(soap, tag ? tag : "cwmp:RequestDownloadResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__RequestDownloadResponse * SOAP_FMAC4 soap_get__cwmp__RequestDownloadResponse(struct soap *soap, struct _cwmp__RequestDownloadResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__RequestDownloadResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_FileTypeArg(struct soap *soap, struct FileTypeArg *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrArgStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_FileTypeArg(struct soap *soap, const struct FileTypeArg *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrArgStruct && !soap_array_reference(soap, a, a->__ptrArgStruct, a->__size, SOAP_TYPE_FileTypeArg))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__ArgStruct(soap, a->__ptrArgStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_FileTypeArg(struct soap *soap, const char *tag, int id, const struct FileTypeArg *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrArgStruct ? soap_putsizesoffsets(soap, "cwmp:ArgStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrArgStruct, a->__size, type, SOAP_TYPE_FileTypeArg, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__ArgStruct(soap, "ArgStruct", -1, &a->__ptrArgStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct FileTypeArg * SOAP_FMAC4 soap_in_FileTypeArg(struct soap *soap, const char *tag, struct FileTypeArg *a, const char *type)
{
	int i, j;
	struct cwmp__ArgStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct FileTypeArg*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_FileTypeArg, sizeof(struct FileTypeArg), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_FileTypeArg(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrArgStruct = (struct cwmp__ArgStruct **)soap_malloc(soap, sizeof(struct cwmp__ArgStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrArgStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__ArgStruct(soap, NULL, a->__ptrArgStruct + i, "cwmp:ArgStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__ArgStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__ArgStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__ArgStruct(soap, NULL, p, "cwmp:ArgStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrArgStruct = (struct cwmp__ArgStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct FileTypeArg *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_FileTypeArg, SOAP_TYPE_FileTypeArg, sizeof(struct FileTypeArg), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct FileTypeArg * SOAP_FMAC2 soap_instantiate_FileTypeArg(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_FileTypeArg(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct FileTypeArg *p;
	size_t k = sizeof(struct FileTypeArg);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_FileTypeArg, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct FileTypeArg);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct FileTypeArg, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct FileTypeArg location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_FileTypeArg(struct soap *soap, const struct FileTypeArg *a, const char *tag, const char *type)
{
	if (soap_out_FileTypeArg(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct FileTypeArg * SOAP_FMAC4 soap_get_FileTypeArg(struct soap *soap, struct FileTypeArg *p, const char *tag, const char *type)
{
	if ((p = soap_in_FileTypeArg(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__RequestDownload(struct soap *soap, struct _cwmp__RequestDownload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__DownloadFileType(soap, &a->FileType);
	a->FileTypeArg = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__RequestDownload(struct soap *soap, const struct _cwmp__RequestDownload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__DownloadFileType(soap, (char*const*)&a->FileType);
	soap_serialize_PointerToFileTypeArg(soap, &a->FileTypeArg);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__RequestDownload(struct soap *soap, const char *tag, int id, const struct _cwmp__RequestDownload *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__RequestDownload), type))
		return soap->error;
	if (!a->FileType)
	{	if (soap_element_empty(soap, "FileType"))
			return soap->error;
	}
	else if (soap_out_cwmp__DownloadFileType(soap, "FileType", -1, (char*const*)&a->FileType, ""))
		return soap->error;
	if (!a->FileTypeArg)
	{	if (soap_element_empty(soap, "FileTypeArg"))
			return soap->error;
	}
	else if (soap_out_PointerToFileTypeArg(soap, "FileTypeArg", -1, &a->FileTypeArg, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__RequestDownload * SOAP_FMAC4 soap_in__cwmp__RequestDownload(struct soap *soap, const char *tag, struct _cwmp__RequestDownload *a, const char *type)
{
	size_t soap_flag_FileType = 1;
	size_t soap_flag_FileTypeArg = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__RequestDownload*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__RequestDownload, sizeof(struct _cwmp__RequestDownload), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__RequestDownload(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_FileType && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DownloadFileType(soap, "FileType", (char**)&a->FileType, "cwmp:DownloadFileType"))
				{	soap_flag_FileType--;
					continue;
				}
			}
			if (soap_flag_FileTypeArg && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToFileTypeArg(soap, "FileTypeArg", &a->FileTypeArg, "cwmp:ArgStruct"))
				{	soap_flag_FileTypeArg--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->FileType || !a->FileTypeArg))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__RequestDownload *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__RequestDownload, SOAP_TYPE__cwmp__RequestDownload, sizeof(struct _cwmp__RequestDownload), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__RequestDownload * SOAP_FMAC2 soap_instantiate__cwmp__RequestDownload(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__RequestDownload(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__RequestDownload *p;
	size_t k = sizeof(struct _cwmp__RequestDownload);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__RequestDownload, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__RequestDownload);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__RequestDownload, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__RequestDownload location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__RequestDownload(struct soap *soap, const struct _cwmp__RequestDownload *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__RequestDownload(soap, tag ? tag : "cwmp:RequestDownload", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__RequestDownload * SOAP_FMAC4 soap_get__cwmp__RequestDownload(struct soap *soap, struct _cwmp__RequestDownload *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__RequestDownload(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__KickedResponse(struct soap *soap, struct _cwmp__KickedResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->NextURL);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__KickedResponse(struct soap *soap, const struct _cwmp__KickedResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->NextURL);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__KickedResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__KickedResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__KickedResponse), type))
		return soap->error;
	if (!a->NextURL)
	{	if (soap_element_empty(soap, "NextURL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "NextURL", -1, (char*const*)&a->NextURL, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__KickedResponse * SOAP_FMAC4 soap_in__cwmp__KickedResponse(struct soap *soap, const char *tag, struct _cwmp__KickedResponse *a, const char *type)
{
	size_t soap_flag_NextURL = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__KickedResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__KickedResponse, sizeof(struct _cwmp__KickedResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__KickedResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_NextURL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "NextURL", (char**)&a->NextURL, "xsd:string"))
				{	soap_flag_NextURL--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->NextURL))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__KickedResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__KickedResponse, SOAP_TYPE__cwmp__KickedResponse, sizeof(struct _cwmp__KickedResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__KickedResponse * SOAP_FMAC2 soap_instantiate__cwmp__KickedResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__KickedResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__KickedResponse *p;
	size_t k = sizeof(struct _cwmp__KickedResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__KickedResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__KickedResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__KickedResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__KickedResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__KickedResponse(struct soap *soap, const struct _cwmp__KickedResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__KickedResponse(soap, tag ? tag : "cwmp:KickedResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__KickedResponse * SOAP_FMAC4 soap_get__cwmp__KickedResponse(struct soap *soap, struct _cwmp__KickedResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__KickedResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__Kicked(struct soap *soap, struct _cwmp__Kicked *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->Command);
	soap_default_string(soap, &a->Referer);
	soap_default_string(soap, &a->Arg);
	soap_default_string(soap, &a->Next);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__Kicked(struct soap *soap, const struct _cwmp__Kicked *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->Command);
	soap_serialize_string(soap, (char*const*)&a->Referer);
	soap_serialize_string(soap, (char*const*)&a->Arg);
	soap_serialize_string(soap, (char*const*)&a->Next);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__Kicked(struct soap *soap, const char *tag, int id, const struct _cwmp__Kicked *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__Kicked), type))
		return soap->error;
	if (!a->Command)
	{	if (soap_element_empty(soap, "Command"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Command", -1, (char*const*)&a->Command, ""))
		return soap->error;
	if (!a->Referer)
	{	if (soap_element_empty(soap, "Referer"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Referer", -1, (char*const*)&a->Referer, ""))
		return soap->error;
	if (!a->Arg)
	{	if (soap_element_empty(soap, "Arg"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Arg", -1, (char*const*)&a->Arg, ""))
		return soap->error;
	if (!a->Next)
	{	if (soap_element_empty(soap, "Next"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Next", -1, (char*const*)&a->Next, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__Kicked * SOAP_FMAC4 soap_in__cwmp__Kicked(struct soap *soap, const char *tag, struct _cwmp__Kicked *a, const char *type)
{
	size_t soap_flag_Command = 1;
	size_t soap_flag_Referer = 1;
	size_t soap_flag_Arg = 1;
	size_t soap_flag_Next = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__Kicked*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__Kicked, sizeof(struct _cwmp__Kicked), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__Kicked(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Command && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Command", (char**)&a->Command, "xsd:string"))
				{	soap_flag_Command--;
					continue;
				}
			}
			if (soap_flag_Referer && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Referer", (char**)&a->Referer, "xsd:string"))
				{	soap_flag_Referer--;
					continue;
				}
			}
			if (soap_flag_Arg && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Arg", (char**)&a->Arg, "xsd:string"))
				{	soap_flag_Arg--;
					continue;
				}
			}
			if (soap_flag_Next && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Next", (char**)&a->Next, "xsd:string"))
				{	soap_flag_Next--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->Command || !a->Referer || !a->Arg || !a->Next))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__Kicked *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__Kicked, SOAP_TYPE__cwmp__Kicked, sizeof(struct _cwmp__Kicked), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__Kicked * SOAP_FMAC2 soap_instantiate__cwmp__Kicked(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__Kicked(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__Kicked *p;
	size_t k = sizeof(struct _cwmp__Kicked);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__Kicked, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__Kicked);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__Kicked, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__Kicked location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__Kicked(struct soap *soap, const struct _cwmp__Kicked *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__Kicked(soap, tag ? tag : "cwmp:Kicked", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Kicked * SOAP_FMAC4 soap_get__cwmp__Kicked(struct soap *soap, struct _cwmp__Kicked *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__Kicked(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__AutonomousTransferCompleteResponse(struct soap *soap, struct _cwmp__AutonomousTransferCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__AutonomousTransferCompleteResponse(struct soap *soap, const struct _cwmp__AutonomousTransferCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__AutonomousTransferCompleteResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__AutonomousTransferCompleteResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__AutonomousTransferCompleteResponse * SOAP_FMAC4 soap_in__cwmp__AutonomousTransferCompleteResponse(struct soap *soap, const char *tag, struct _cwmp__AutonomousTransferCompleteResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__AutonomousTransferCompleteResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse, sizeof(struct _cwmp__AutonomousTransferCompleteResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__AutonomousTransferCompleteResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__AutonomousTransferCompleteResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse, SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse, sizeof(struct _cwmp__AutonomousTransferCompleteResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__AutonomousTransferCompleteResponse * SOAP_FMAC2 soap_instantiate__cwmp__AutonomousTransferCompleteResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__AutonomousTransferCompleteResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__AutonomousTransferCompleteResponse *p;
	size_t k = sizeof(struct _cwmp__AutonomousTransferCompleteResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__AutonomousTransferCompleteResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__AutonomousTransferCompleteResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__AutonomousTransferCompleteResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__AutonomousTransferCompleteResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__AutonomousTransferCompleteResponse(struct soap *soap, const struct _cwmp__AutonomousTransferCompleteResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__AutonomousTransferCompleteResponse(soap, tag ? tag : "cwmp:AutonomousTransferCompleteResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AutonomousTransferCompleteResponse * SOAP_FMAC4 soap_get__cwmp__AutonomousTransferCompleteResponse(struct soap *soap, struct _cwmp__AutonomousTransferCompleteResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__AutonomousTransferCompleteResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__AutonomousTransferComplete(struct soap *soap, struct _cwmp__AutonomousTransferComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->AnnounceURL);
	soap_default_string(soap, &a->TransferURL);
	soap_default_xsd__boolean(soap, &a->IsDownload);
	soap_default_cwmp__TransferFileType(soap, &a->FileType);
	soap_default_unsignedInt(soap, &a->FileSize);
	soap_default_string(soap, &a->TargetFileName);
	a->FaultStruct = NULL;
	soap_default_dateTime(soap, &a->StartTime);
	soap_default_dateTime(soap, &a->CompleteTime);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__AutonomousTransferComplete(struct soap *soap, const struct _cwmp__AutonomousTransferComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->AnnounceURL);
	soap_serialize_string(soap, (char*const*)&a->TransferURL);
	soap_serialize_cwmp__TransferFileType(soap, (char*const*)&a->FileType);
	soap_serialize_string(soap, (char*const*)&a->TargetFileName);
	soap_serialize_PointerTocwmp__TransferCompleteFaultStruct(soap, &a->FaultStruct);
	soap_embedded(soap, &a->StartTime, SOAP_TYPE_dateTime);
	soap_embedded(soap, &a->CompleteTime, SOAP_TYPE_dateTime);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__AutonomousTransferComplete(struct soap *soap, const char *tag, int id, const struct _cwmp__AutonomousTransferComplete *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__AutonomousTransferComplete), type))
		return soap->error;
	if (!a->AnnounceURL)
	{	if (soap_element_empty(soap, "AnnounceURL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "AnnounceURL", -1, (char*const*)&a->AnnounceURL, ""))
		return soap->error;
	if (!a->TransferURL)
	{	if (soap_element_empty(soap, "TransferURL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "TransferURL", -1, (char*const*)&a->TransferURL, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "IsDownload", -1, &a->IsDownload, ""))
		return soap->error;
	if (!a->FileType)
	{	if (soap_element_empty(soap, "FileType"))
			return soap->error;
	}
	else if (soap_out_cwmp__TransferFileType(soap, "FileType", -1, (char*const*)&a->FileType, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "FileSize", -1, &a->FileSize, ""))
		return soap->error;
	if (!a->TargetFileName)
	{	if (soap_element_empty(soap, "TargetFileName"))
			return soap->error;
	}
	else if (soap_out_string(soap, "TargetFileName", -1, (char*const*)&a->TargetFileName, ""))
		return soap->error;
	if (!a->FaultStruct)
	{	if (soap_element_empty(soap, "FaultStruct"))
			return soap->error;
	}
	else if (soap_out_PointerTocwmp__TransferCompleteFaultStruct(soap, "FaultStruct", -1, &a->FaultStruct, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "StartTime", -1, &a->StartTime, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "CompleteTime", -1, &a->CompleteTime, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__AutonomousTransferComplete * SOAP_FMAC4 soap_in__cwmp__AutonomousTransferComplete(struct soap *soap, const char *tag, struct _cwmp__AutonomousTransferComplete *a, const char *type)
{
	size_t soap_flag_AnnounceURL = 1;
	size_t soap_flag_TransferURL = 1;
	size_t soap_flag_IsDownload = 1;
	size_t soap_flag_FileType = 1;
	size_t soap_flag_FileSize = 1;
	size_t soap_flag_TargetFileName = 1;
	size_t soap_flag_FaultStruct = 1;
	size_t soap_flag_StartTime = 1;
	size_t soap_flag_CompleteTime = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__AutonomousTransferComplete*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__AutonomousTransferComplete, sizeof(struct _cwmp__AutonomousTransferComplete), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__AutonomousTransferComplete(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_AnnounceURL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "AnnounceURL", (char**)&a->AnnounceURL, "xsd:string"))
				{	soap_flag_AnnounceURL--;
					continue;
				}
			}
			if (soap_flag_TransferURL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "TransferURL", (char**)&a->TransferURL, "xsd:string"))
				{	soap_flag_TransferURL--;
					continue;
				}
			}
			if (soap_flag_IsDownload && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "IsDownload", &a->IsDownload, "xsd:boolean"))
				{	soap_flag_IsDownload--;
					continue;
				}
			}
			if (soap_flag_FileType && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__TransferFileType(soap, "FileType", (char**)&a->FileType, "cwmp:TransferFileType"))
				{	soap_flag_FileType--;
					continue;
				}
			}
			if (soap_flag_FileSize && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "FileSize", &a->FileSize, "xsd:unsignedInt"))
				{	soap_flag_FileSize--;
					continue;
				}
			}
			if (soap_flag_TargetFileName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "TargetFileName", (char**)&a->TargetFileName, "xsd:string"))
				{	soap_flag_TargetFileName--;
					continue;
				}
			}
			if (soap_flag_FaultStruct && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTocwmp__TransferCompleteFaultStruct(soap, "FaultStruct", &a->FaultStruct, "cwmp:TransferCompleteFaultStruct"))
				{	soap_flag_FaultStruct--;
					continue;
				}
			}
			if (soap_flag_StartTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "StartTime", &a->StartTime, "xsd:dateTime"))
				{	soap_flag_StartTime--;
					continue;
				}
			}
			if (soap_flag_CompleteTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "CompleteTime", &a->CompleteTime, "xsd:dateTime"))
				{	soap_flag_CompleteTime--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->AnnounceURL || !a->TransferURL || soap_flag_IsDownload > 0 || !a->FileType || soap_flag_FileSize > 0 || !a->TargetFileName || !a->FaultStruct || soap_flag_StartTime > 0 || soap_flag_CompleteTime > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__AutonomousTransferComplete *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__AutonomousTransferComplete, SOAP_TYPE__cwmp__AutonomousTransferComplete, sizeof(struct _cwmp__AutonomousTransferComplete), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__AutonomousTransferComplete * SOAP_FMAC2 soap_instantiate__cwmp__AutonomousTransferComplete(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__AutonomousTransferComplete(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__AutonomousTransferComplete *p;
	size_t k = sizeof(struct _cwmp__AutonomousTransferComplete);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__AutonomousTransferComplete, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__AutonomousTransferComplete);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__AutonomousTransferComplete, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__AutonomousTransferComplete location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__AutonomousTransferComplete(struct soap *soap, const struct _cwmp__AutonomousTransferComplete *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__AutonomousTransferComplete(soap, tag ? tag : "cwmp:AutonomousTransferComplete", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AutonomousTransferComplete * SOAP_FMAC4 soap_get__cwmp__AutonomousTransferComplete(struct soap *soap, struct _cwmp__AutonomousTransferComplete *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__AutonomousTransferComplete(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__TransferCompleteResponse(struct soap *soap, struct _cwmp__TransferCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__TransferCompleteResponse(struct soap *soap, const struct _cwmp__TransferCompleteResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__TransferCompleteResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__TransferCompleteResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__TransferCompleteResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__TransferCompleteResponse * SOAP_FMAC4 soap_in__cwmp__TransferCompleteResponse(struct soap *soap, const char *tag, struct _cwmp__TransferCompleteResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__TransferCompleteResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__TransferCompleteResponse, sizeof(struct _cwmp__TransferCompleteResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__TransferCompleteResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__TransferCompleteResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__TransferCompleteResponse, SOAP_TYPE__cwmp__TransferCompleteResponse, sizeof(struct _cwmp__TransferCompleteResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__TransferCompleteResponse * SOAP_FMAC2 soap_instantiate__cwmp__TransferCompleteResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__TransferCompleteResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__TransferCompleteResponse *p;
	size_t k = sizeof(struct _cwmp__TransferCompleteResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__TransferCompleteResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__TransferCompleteResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__TransferCompleteResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__TransferCompleteResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__TransferCompleteResponse(struct soap *soap, const struct _cwmp__TransferCompleteResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__TransferCompleteResponse(soap, tag ? tag : "cwmp:TransferCompleteResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__TransferCompleteResponse * SOAP_FMAC4 soap_get__cwmp__TransferCompleteResponse(struct soap *soap, struct _cwmp__TransferCompleteResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__TransferCompleteResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__TransferComplete(struct soap *soap, struct _cwmp__TransferComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
	a->FaultStruct = NULL;
	soap_default_dateTime(soap, &a->StartTime);
	soap_default_dateTime(soap, &a->CompleteTime);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__TransferComplete(struct soap *soap, const struct _cwmp__TransferComplete *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
	soap_serialize_PointerTocwmp__TransferCompleteFaultStruct(soap, &a->FaultStruct);
	soap_embedded(soap, &a->StartTime, SOAP_TYPE_dateTime);
	soap_embedded(soap, &a->CompleteTime, SOAP_TYPE_dateTime);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__TransferComplete(struct soap *soap, const char *tag, int id, const struct _cwmp__TransferComplete *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__TransferComplete), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	if (!a->FaultStruct)
	{	if (soap_element_empty(soap, "FaultStruct"))
			return soap->error;
	}
	else if (soap_out_PointerTocwmp__TransferCompleteFaultStruct(soap, "FaultStruct", -1, &a->FaultStruct, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "StartTime", -1, &a->StartTime, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "CompleteTime", -1, &a->CompleteTime, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__TransferComplete * SOAP_FMAC4 soap_in__cwmp__TransferComplete(struct soap *soap, const char *tag, struct _cwmp__TransferComplete *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	size_t soap_flag_FaultStruct = 1;
	size_t soap_flag_StartTime = 1;
	size_t soap_flag_CompleteTime = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__TransferComplete*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__TransferComplete, sizeof(struct _cwmp__TransferComplete), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__TransferComplete(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					continue;
				}
			}
			if (soap_flag_FaultStruct && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTocwmp__TransferCompleteFaultStruct(soap, "FaultStruct", &a->FaultStruct, "cwmp:TransferCompleteFaultStruct"))
				{	soap_flag_FaultStruct--;
					continue;
				}
			}
			if (soap_flag_StartTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "StartTime", &a->StartTime, "xsd:dateTime"))
				{	soap_flag_StartTime--;
					continue;
				}
			}
			if (soap_flag_CompleteTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "CompleteTime", &a->CompleteTime, "xsd:dateTime"))
				{	soap_flag_CompleteTime--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey || !a->FaultStruct || soap_flag_StartTime > 0 || soap_flag_CompleteTime > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__TransferComplete *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__TransferComplete, SOAP_TYPE__cwmp__TransferComplete, sizeof(struct _cwmp__TransferComplete), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__TransferComplete * SOAP_FMAC2 soap_instantiate__cwmp__TransferComplete(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__TransferComplete(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__TransferComplete *p;
	size_t k = sizeof(struct _cwmp__TransferComplete);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__TransferComplete, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__TransferComplete);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__TransferComplete, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__TransferComplete location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__TransferComplete(struct soap *soap, const struct _cwmp__TransferComplete *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__TransferComplete(soap, tag ? tag : "cwmp:TransferComplete", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__TransferComplete * SOAP_FMAC4 soap_get__cwmp__TransferComplete(struct soap *soap, struct _cwmp__TransferComplete *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__TransferComplete(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__InformResponse(struct soap *soap, struct _cwmp__InformResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_unsignedInt(soap, &a->MaxEnvelopes);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__InformResponse(struct soap *soap, const struct _cwmp__InformResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__InformResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__InformResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__InformResponse), type))
		return soap->error;
	if (soap_out_unsignedInt(soap, "MaxEnvelopes", -1, &a->MaxEnvelopes, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__InformResponse * SOAP_FMAC4 soap_in__cwmp__InformResponse(struct soap *soap, const char *tag, struct _cwmp__InformResponse *a, const char *type)
{
	size_t soap_flag_MaxEnvelopes = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__InformResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__InformResponse, sizeof(struct _cwmp__InformResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__InformResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_MaxEnvelopes && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "MaxEnvelopes", &a->MaxEnvelopes, "xsd:unsignedInt"))
				{	soap_flag_MaxEnvelopes--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_MaxEnvelopes > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__InformResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__InformResponse, SOAP_TYPE__cwmp__InformResponse, sizeof(struct _cwmp__InformResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__InformResponse * SOAP_FMAC2 soap_instantiate__cwmp__InformResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__InformResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__InformResponse *p;
	size_t k = sizeof(struct _cwmp__InformResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__InformResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__InformResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__InformResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__InformResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__InformResponse(struct soap *soap, const struct _cwmp__InformResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__InformResponse(soap, tag ? tag : "cwmp:InformResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__InformResponse * SOAP_FMAC4 soap_get__cwmp__InformResponse(struct soap *soap, struct _cwmp__InformResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__InformResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_EventList(struct soap *soap, struct EventList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrEventStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_EventList(struct soap *soap, const struct EventList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrEventStruct && !soap_array_reference(soap, a, a->__ptrEventStruct, a->__size, SOAP_TYPE_EventList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__EventStruct(soap, a->__ptrEventStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_EventList(struct soap *soap, const char *tag, int id, const struct EventList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrEventStruct ? soap_putsizesoffsets(soap, "cwmp:EventStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrEventStruct, a->__size, type, SOAP_TYPE_EventList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__EventStruct(soap, "EventStruct", -1, &a->__ptrEventStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct EventList * SOAP_FMAC4 soap_in_EventList(struct soap *soap, const char *tag, struct EventList *a, const char *type)
{
	int i, j;
	struct cwmp__EventStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct EventList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_EventList, sizeof(struct EventList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_EventList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrEventStruct = (struct cwmp__EventStruct **)soap_malloc(soap, sizeof(struct cwmp__EventStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrEventStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__EventStruct(soap, NULL, a->__ptrEventStruct + i, "cwmp:EventStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__EventStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__EventStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__EventStruct(soap, NULL, p, "cwmp:EventStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrEventStruct = (struct cwmp__EventStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct EventList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_EventList, SOAP_TYPE_EventList, sizeof(struct EventList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct EventList * SOAP_FMAC2 soap_instantiate_EventList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_EventList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct EventList *p;
	size_t k = sizeof(struct EventList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_EventList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct EventList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct EventList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct EventList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_EventList(struct soap *soap, const struct EventList *a, const char *tag, const char *type)
{
	if (soap_out_EventList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct EventList * SOAP_FMAC4 soap_get_EventList(struct soap *soap, struct EventList *p, const char *tag, const char *type)
{
	if ((p = soap_in_EventList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__Inform(struct soap *soap, struct _cwmp__Inform *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->DeviceId = NULL;
	a->Event = NULL;
	soap_default_unsignedInt(soap, &a->MaxEnvelopes);
	soap_default_dateTime(soap, &a->CurrentTime);
	soap_default_unsignedInt(soap, &a->RetryCount);
	a->ParameterList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__Inform(struct soap *soap, const struct _cwmp__Inform *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerTocwmp__DeviceIdStruct(soap, &a->DeviceId);
	soap_serialize_PointerToEventList(soap, &a->Event);
	soap_embedded(soap, &a->CurrentTime, SOAP_TYPE_dateTime);
	soap_serialize_PointerToParameterValueList(soap, &a->ParameterList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__Inform(struct soap *soap, const char *tag, int id, const struct _cwmp__Inform *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__Inform), type))
		return soap->error;
	if (!a->DeviceId)
	{	if (soap_element_empty(soap, "DeviceId"))
			return soap->error;
	}
	else if (soap_out_PointerTocwmp__DeviceIdStruct(soap, "DeviceId", -1, &a->DeviceId, ""))
		return soap->error;
	if (!a->Event)
	{	if (soap_element_empty(soap, "Event"))
			return soap->error;
	}
	else if (soap_out_PointerToEventList(soap, "Event", -1, &a->Event, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "MaxEnvelopes", -1, &a->MaxEnvelopes, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "CurrentTime", -1, &a->CurrentTime, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "RetryCount", -1, &a->RetryCount, ""))
		return soap->error;
	if (!a->ParameterList)
	{	if (soap_element_empty(soap, "ParameterList"))
			return soap->error;
	}
	else if (soap_out_PointerToParameterValueList(soap, "ParameterList", -1, &a->ParameterList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__Inform * SOAP_FMAC4 soap_in__cwmp__Inform(struct soap *soap, const char *tag, struct _cwmp__Inform *a, const char *type)
{
	size_t soap_flag_DeviceId = 1;
	size_t soap_flag_Event = 1;
	size_t soap_flag_MaxEnvelopes = 1;
	size_t soap_flag_CurrentTime = 1;
	size_t soap_flag_RetryCount = 1;
	size_t soap_flag_ParameterList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__Inform*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__Inform, sizeof(struct _cwmp__Inform), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__Inform(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_DeviceId && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTocwmp__DeviceIdStruct(soap, "DeviceId", &a->DeviceId, "cwmp:DeviceIdStruct"))
				{	soap_flag_DeviceId--;
					continue;
				}
			}
			if (soap_flag_Event && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToEventList(soap, "Event", &a->Event, "cwmp:EventStruct"))
				{	soap_flag_Event--;
					continue;
				}
			}
			if (soap_flag_MaxEnvelopes && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "MaxEnvelopes", &a->MaxEnvelopes, "xsd:unsignedInt"))
				{	soap_flag_MaxEnvelopes--;
					continue;
				}
			}
			if (soap_flag_CurrentTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "CurrentTime", &a->CurrentTime, "xsd:dateTime"))
				{	soap_flag_CurrentTime--;
					continue;
				}
			}
			if (soap_flag_RetryCount && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "RetryCount", &a->RetryCount, "xsd:unsignedInt"))
				{	soap_flag_RetryCount--;
					continue;
				}
			}
			if (soap_flag_ParameterList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToParameterValueList(soap, "ParameterList", &a->ParameterList, "cwmp:ParameterValueStruct"))
				{	soap_flag_ParameterList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->DeviceId || !a->Event || soap_flag_MaxEnvelopes > 0 || soap_flag_CurrentTime > 0 || soap_flag_RetryCount > 0 || !a->ParameterList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__Inform *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__Inform, SOAP_TYPE__cwmp__Inform, sizeof(struct _cwmp__Inform), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__Inform * SOAP_FMAC2 soap_instantiate__cwmp__Inform(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__Inform(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__Inform *p;
	size_t k = sizeof(struct _cwmp__Inform);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__Inform, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__Inform);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__Inform, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__Inform location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__Inform(struct soap *soap, const struct _cwmp__Inform *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__Inform(soap, tag ? tag : "cwmp:Inform", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Inform * SOAP_FMAC4 soap_get__cwmp__Inform(struct soap *soap, struct _cwmp__Inform *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__Inform(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__ChangeDUStateResponse(struct soap *soap, struct _cwmp__ChangeDUStateResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__ChangeDUStateResponse(struct soap *soap, const struct _cwmp__ChangeDUStateResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__ChangeDUStateResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__ChangeDUStateResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__ChangeDUStateResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__ChangeDUStateResponse * SOAP_FMAC4 soap_in__cwmp__ChangeDUStateResponse(struct soap *soap, const char *tag, struct _cwmp__ChangeDUStateResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__ChangeDUStateResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__ChangeDUStateResponse, sizeof(struct _cwmp__ChangeDUStateResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__ChangeDUStateResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__ChangeDUStateResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__ChangeDUStateResponse, SOAP_TYPE__cwmp__ChangeDUStateResponse, sizeof(struct _cwmp__ChangeDUStateResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__ChangeDUStateResponse * SOAP_FMAC2 soap_instantiate__cwmp__ChangeDUStateResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__ChangeDUStateResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__ChangeDUStateResponse *p;
	size_t k = sizeof(struct _cwmp__ChangeDUStateResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__ChangeDUStateResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__ChangeDUStateResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__ChangeDUStateResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__ChangeDUStateResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__ChangeDUStateResponse(struct soap *soap, const struct _cwmp__ChangeDUStateResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__ChangeDUStateResponse(soap, tag ? tag : "cwmp:ChangeDUStateResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ChangeDUStateResponse * SOAP_FMAC4 soap_get__cwmp__ChangeDUStateResponse(struct soap *soap, struct _cwmp__ChangeDUStateResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__ChangeDUStateResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__ChangeDUState(struct soap *soap, struct _cwmp__ChangeDUState *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->__sizeOperations = 0;
	a->Operations = NULL;
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__ChangeDUState(struct soap *soap, const struct _cwmp__ChangeDUState *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->Operations)
	{	int i;
		for (i = 0; i < (int)a->__sizeOperations; i++)
		{
			soap_embedded(soap, a->Operations + i, SOAP_TYPE_cwmp__OperationStruct);
			soap_serialize_cwmp__OperationStruct(soap, a->Operations + i);
		}
	}
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__ChangeDUState(struct soap *soap, const char *tag, int id, const struct _cwmp__ChangeDUState *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__ChangeDUState), type))
		return soap->error;
	if (a->Operations)
	{	int i;
		for (i = 0; i < (int)a->__sizeOperations; i++)
			if (soap_out_cwmp__OperationStruct(soap, "Operations", -1, a->Operations + i, ""))
				return soap->error;
	}
	if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__ChangeDUState * SOAP_FMAC4 soap_in__cwmp__ChangeDUState(struct soap *soap, const char *tag, struct _cwmp__ChangeDUState *a, const char *type)
{
	struct soap_blist *soap_blist_Operations = NULL;
	size_t soap_flag_CommandKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__ChangeDUState*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__ChangeDUState, sizeof(struct _cwmp__ChangeDUState), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__ChangeDUState(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap->error == SOAP_TAG_MISMATCH && !soap_element_begin_in(soap, "Operations", 1, NULL))
			{	if (a->Operations == NULL)
				{	if (soap_blist_Operations == NULL)
						soap_blist_Operations = soap_alloc_block(soap);
					a->Operations = soap_block<struct cwmp__OperationStruct>::push(soap, soap_blist_Operations);
					if (a->Operations == NULL)
						return NULL;
					soap_default_cwmp__OperationStruct(soap, a->Operations);
				}
				soap_revert(soap);
				if (soap_in_cwmp__OperationStruct(soap, "Operations", a->Operations, "cwmp:OperationStruct"))
				{	a->__sizeOperations++;
					a->Operations = NULL;
					continue;
				}
			}
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					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 (a->Operations)
			soap_block<struct cwmp__OperationStruct>::pop(soap, soap_blist_Operations);
		if (a->__sizeOperations)
		{	a->Operations = soap_new_cwmp__OperationStruct(soap, a->__sizeOperations);
			if (!a->Operations)
				return NULL;
			soap_block<struct cwmp__OperationStruct>::save(soap, soap_blist_Operations, a->Operations);
		}
		else
		{	a->Operations = NULL;
			if (soap_blist_Operations)
				soap_block<struct cwmp__OperationStruct>::end(soap, soap_blist_Operations);
		}
		if (soap_element_end_in(soap, tag))
			return NULL;
		if ((soap->mode & SOAP_XML_STRICT) && (a->__sizeOperations < 1))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__ChangeDUState *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__ChangeDUState, SOAP_TYPE__cwmp__ChangeDUState, sizeof(struct _cwmp__ChangeDUState), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__ChangeDUState * SOAP_FMAC2 soap_instantiate__cwmp__ChangeDUState(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__ChangeDUState(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__ChangeDUState *p;
	size_t k = sizeof(struct _cwmp__ChangeDUState);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__ChangeDUState, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__ChangeDUState);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__ChangeDUState, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__ChangeDUState location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__ChangeDUState(struct soap *soap, const struct _cwmp__ChangeDUState *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__ChangeDUState(soap, tag ? tag : "cwmp:ChangeDUState", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ChangeDUState * SOAP_FMAC4 soap_get__cwmp__ChangeDUState(struct soap *soap, struct _cwmp__ChangeDUState *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__ChangeDUState(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__CancelTransferResponse(struct soap *soap, struct _cwmp__CancelTransferResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__CancelTransferResponse(struct soap *soap, const struct _cwmp__CancelTransferResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__CancelTransferResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__CancelTransferResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__CancelTransferResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__CancelTransferResponse * SOAP_FMAC4 soap_in__cwmp__CancelTransferResponse(struct soap *soap, const char *tag, struct _cwmp__CancelTransferResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__CancelTransferResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__CancelTransferResponse, sizeof(struct _cwmp__CancelTransferResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__CancelTransferResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__CancelTransferResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__CancelTransferResponse, SOAP_TYPE__cwmp__CancelTransferResponse, sizeof(struct _cwmp__CancelTransferResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__CancelTransferResponse * SOAP_FMAC2 soap_instantiate__cwmp__CancelTransferResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__CancelTransferResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__CancelTransferResponse *p;
	size_t k = sizeof(struct _cwmp__CancelTransferResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__CancelTransferResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__CancelTransferResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__CancelTransferResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__CancelTransferResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__CancelTransferResponse(struct soap *soap, const struct _cwmp__CancelTransferResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__CancelTransferResponse(soap, tag ? tag : "cwmp:CancelTransferResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__CancelTransferResponse * SOAP_FMAC4 soap_get__cwmp__CancelTransferResponse(struct soap *soap, struct _cwmp__CancelTransferResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__CancelTransferResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__CancelTransfer(struct soap *soap, struct _cwmp__CancelTransfer *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__CancelTransfer(struct soap *soap, const struct _cwmp__CancelTransfer *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__CancelTransfer(struct soap *soap, const char *tag, int id, const struct _cwmp__CancelTransfer *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__CancelTransfer), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__CancelTransfer * SOAP_FMAC4 soap_in__cwmp__CancelTransfer(struct soap *soap, const char *tag, struct _cwmp__CancelTransfer *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__CancelTransfer*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__CancelTransfer, sizeof(struct _cwmp__CancelTransfer), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__CancelTransfer(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__CancelTransfer *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__CancelTransfer, SOAP_TYPE__cwmp__CancelTransfer, sizeof(struct _cwmp__CancelTransfer), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__CancelTransfer * SOAP_FMAC2 soap_instantiate__cwmp__CancelTransfer(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__CancelTransfer(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__CancelTransfer *p;
	size_t k = sizeof(struct _cwmp__CancelTransfer);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__CancelTransfer, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__CancelTransfer);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__CancelTransfer, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__CancelTransfer location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__CancelTransfer(struct soap *soap, const struct _cwmp__CancelTransfer *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__CancelTransfer(soap, tag ? tag : "cwmp:CancelTransfer", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__CancelTransfer * SOAP_FMAC4 soap_get__cwmp__CancelTransfer(struct soap *soap, struct _cwmp__CancelTransfer *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__CancelTransfer(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__ScheduleDownloadResponse(struct soap *soap, struct _cwmp__ScheduleDownloadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__ScheduleDownloadResponse(struct soap *soap, const struct _cwmp__ScheduleDownloadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__ScheduleDownloadResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__ScheduleDownloadResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__ScheduleDownloadResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__ScheduleDownloadResponse * SOAP_FMAC4 soap_in__cwmp__ScheduleDownloadResponse(struct soap *soap, const char *tag, struct _cwmp__ScheduleDownloadResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__ScheduleDownloadResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__ScheduleDownloadResponse, sizeof(struct _cwmp__ScheduleDownloadResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__ScheduleDownloadResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__ScheduleDownloadResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__ScheduleDownloadResponse, SOAP_TYPE__cwmp__ScheduleDownloadResponse, sizeof(struct _cwmp__ScheduleDownloadResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__ScheduleDownloadResponse * SOAP_FMAC2 soap_instantiate__cwmp__ScheduleDownloadResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__ScheduleDownloadResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__ScheduleDownloadResponse *p;
	size_t k = sizeof(struct _cwmp__ScheduleDownloadResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__ScheduleDownloadResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__ScheduleDownloadResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__ScheduleDownloadResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__ScheduleDownloadResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__ScheduleDownloadResponse(struct soap *soap, const struct _cwmp__ScheduleDownloadResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__ScheduleDownloadResponse(soap, tag ? tag : "cwmp:ScheduleDownloadResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ScheduleDownloadResponse * SOAP_FMAC4 soap_get__cwmp__ScheduleDownloadResponse(struct soap *soap, struct _cwmp__ScheduleDownloadResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__ScheduleDownloadResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_TimeWindowList(struct soap *soap, struct TimeWindowList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrTimeWindowStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_TimeWindowList(struct soap *soap, const struct TimeWindowList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrTimeWindowStruct && !soap_array_reference(soap, a, a->__ptrTimeWindowStruct, a->__size, SOAP_TYPE_TimeWindowList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__TimeWindowStruct(soap, a->__ptrTimeWindowStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_TimeWindowList(struct soap *soap, const char *tag, int id, const struct TimeWindowList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrTimeWindowStruct ? soap_putsizesoffsets(soap, "cwmp:TimeWindowStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrTimeWindowStruct, a->__size, type, SOAP_TYPE_TimeWindowList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__TimeWindowStruct(soap, "TimeWindowStruct", -1, &a->__ptrTimeWindowStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct TimeWindowList * SOAP_FMAC4 soap_in_TimeWindowList(struct soap *soap, const char *tag, struct TimeWindowList *a, const char *type)
{
	int i, j;
	struct cwmp__TimeWindowStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct TimeWindowList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_TimeWindowList, sizeof(struct TimeWindowList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_TimeWindowList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrTimeWindowStruct = (struct cwmp__TimeWindowStruct **)soap_malloc(soap, sizeof(struct cwmp__TimeWindowStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrTimeWindowStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__TimeWindowStruct(soap, NULL, a->__ptrTimeWindowStruct + i, "cwmp:TimeWindowStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__TimeWindowStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__TimeWindowStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__TimeWindowStruct(soap, NULL, p, "cwmp:TimeWindowStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrTimeWindowStruct = (struct cwmp__TimeWindowStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct TimeWindowList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_TimeWindowList, SOAP_TYPE_TimeWindowList, sizeof(struct TimeWindowList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct TimeWindowList * SOAP_FMAC2 soap_instantiate_TimeWindowList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_TimeWindowList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct TimeWindowList *p;
	size_t k = sizeof(struct TimeWindowList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_TimeWindowList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct TimeWindowList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct TimeWindowList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct TimeWindowList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_TimeWindowList(struct soap *soap, const struct TimeWindowList *a, const char *tag, const char *type)
{
	if (soap_out_TimeWindowList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct TimeWindowList * SOAP_FMAC4 soap_get_TimeWindowList(struct soap *soap, struct TimeWindowList *p, const char *tag, const char *type)
{
	if ((p = soap_in_TimeWindowList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__ScheduleDownload(struct soap *soap, struct _cwmp__ScheduleDownload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
	soap_default_cwmp__DownloadFileType(soap, &a->FileType);
	soap_default_string(soap, &a->URL);
	soap_default_string(soap, &a->Username);
	soap_default_string(soap, &a->Password);
	soap_default_unsignedInt(soap, &a->FileSize);
	soap_default_string(soap, &a->TargetFileName);
	a->TimeWindowList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__ScheduleDownload(struct soap *soap, const struct _cwmp__ScheduleDownload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
	soap_serialize_cwmp__DownloadFileType(soap, (char*const*)&a->FileType);
	soap_serialize_string(soap, (char*const*)&a->URL);
	soap_serialize_string(soap, (char*const*)&a->Username);
	soap_serialize_string(soap, (char*const*)&a->Password);
	soap_serialize_string(soap, (char*const*)&a->TargetFileName);
	soap_serialize_PointerToTimeWindowList(soap, &a->TimeWindowList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__ScheduleDownload(struct soap *soap, const char *tag, int id, const struct _cwmp__ScheduleDownload *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__ScheduleDownload), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	if (!a->FileType)
	{	if (soap_element_empty(soap, "FileType"))
			return soap->error;
	}
	else if (soap_out_cwmp__DownloadFileType(soap, "FileType", -1, (char*const*)&a->FileType, ""))
		return soap->error;
	if (!a->URL)
	{	if (soap_element_empty(soap, "URL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "URL", -1, (char*const*)&a->URL, ""))
		return soap->error;
	if (!a->Username)
	{	if (soap_element_empty(soap, "Username"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Username", -1, (char*const*)&a->Username, ""))
		return soap->error;
	if (!a->Password)
	{	if (soap_element_empty(soap, "Password"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Password", -1, (char*const*)&a->Password, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "FileSize", -1, &a->FileSize, ""))
		return soap->error;
	if (!a->TargetFileName)
	{	if (soap_element_empty(soap, "TargetFileName"))
			return soap->error;
	}
	else if (soap_out_string(soap, "TargetFileName", -1, (char*const*)&a->TargetFileName, ""))
		return soap->error;
	if (!a->TimeWindowList)
	{	if (soap_element_empty(soap, "TimeWindowList"))
			return soap->error;
	}
	else if (soap_out_PointerToTimeWindowList(soap, "TimeWindowList", -1, &a->TimeWindowList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__ScheduleDownload * SOAP_FMAC4 soap_in__cwmp__ScheduleDownload(struct soap *soap, const char *tag, struct _cwmp__ScheduleDownload *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	size_t soap_flag_FileType = 1;
	size_t soap_flag_URL = 1;
	size_t soap_flag_Username = 1;
	size_t soap_flag_Password = 1;
	size_t soap_flag_FileSize = 1;
	size_t soap_flag_TargetFileName = 1;
	size_t soap_flag_TimeWindowList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__ScheduleDownload*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__ScheduleDownload, sizeof(struct _cwmp__ScheduleDownload), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__ScheduleDownload(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					continue;
				}
			}
			if (soap_flag_FileType && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DownloadFileType(soap, "FileType", (char**)&a->FileType, "cwmp:DownloadFileType"))
				{	soap_flag_FileType--;
					continue;
				}
			}
			if (soap_flag_URL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "URL", (char**)&a->URL, "xsd:string"))
				{	soap_flag_URL--;
					continue;
				}
			}
			if (soap_flag_Username && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Username", (char**)&a->Username, "xsd:string"))
				{	soap_flag_Username--;
					continue;
				}
			}
			if (soap_flag_Password && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Password", (char**)&a->Password, "xsd:string"))
				{	soap_flag_Password--;
					continue;
				}
			}
			if (soap_flag_FileSize && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "FileSize", &a->FileSize, "xsd:unsignedInt"))
				{	soap_flag_FileSize--;
					continue;
				}
			}
			if (soap_flag_TargetFileName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "TargetFileName", (char**)&a->TargetFileName, "xsd:string"))
				{	soap_flag_TargetFileName--;
					continue;
				}
			}
			if (soap_flag_TimeWindowList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToTimeWindowList(soap, "TimeWindowList", &a->TimeWindowList, "cwmp:TimeWindowStruct"))
				{	soap_flag_TimeWindowList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey || !a->FileType || !a->URL || !a->Username || !a->Password || soap_flag_FileSize > 0 || !a->TargetFileName || !a->TimeWindowList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__ScheduleDownload *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__ScheduleDownload, SOAP_TYPE__cwmp__ScheduleDownload, sizeof(struct _cwmp__ScheduleDownload), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__ScheduleDownload * SOAP_FMAC2 soap_instantiate__cwmp__ScheduleDownload(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__ScheduleDownload(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__ScheduleDownload *p;
	size_t k = sizeof(struct _cwmp__ScheduleDownload);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__ScheduleDownload, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__ScheduleDownload);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__ScheduleDownload, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__ScheduleDownload location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__ScheduleDownload(struct soap *soap, const struct _cwmp__ScheduleDownload *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__ScheduleDownload(soap, tag ? tag : "cwmp:ScheduleDownload", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ScheduleDownload * SOAP_FMAC4 soap_get__cwmp__ScheduleDownload(struct soap *soap, struct _cwmp__ScheduleDownload *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__ScheduleDownload(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_AllTransferList(struct soap *soap, struct AllTransferList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrAllQueuedTransferStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_AllTransferList(struct soap *soap, const struct AllTransferList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrAllQueuedTransferStruct && !soap_array_reference(soap, a, a->__ptrAllQueuedTransferStruct, a->__size, SOAP_TYPE_AllTransferList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__AllQueuedTransferStruct(soap, a->__ptrAllQueuedTransferStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_AllTransferList(struct soap *soap, const char *tag, int id, const struct AllTransferList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrAllQueuedTransferStruct ? soap_putsizesoffsets(soap, "cwmp:AllQueuedTransferStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrAllQueuedTransferStruct, a->__size, type, SOAP_TYPE_AllTransferList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__AllQueuedTransferStruct(soap, "AllQueuedTransferStruct", -1, &a->__ptrAllQueuedTransferStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct AllTransferList * SOAP_FMAC4 soap_in_AllTransferList(struct soap *soap, const char *tag, struct AllTransferList *a, const char *type)
{
	int i, j;
	struct cwmp__AllQueuedTransferStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct AllTransferList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_AllTransferList, sizeof(struct AllTransferList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_AllTransferList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrAllQueuedTransferStruct = (struct cwmp__AllQueuedTransferStruct **)soap_malloc(soap, sizeof(struct cwmp__AllQueuedTransferStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrAllQueuedTransferStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__AllQueuedTransferStruct(soap, NULL, a->__ptrAllQueuedTransferStruct + i, "cwmp:AllQueuedTransferStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__AllQueuedTransferStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__AllQueuedTransferStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__AllQueuedTransferStruct(soap, NULL, p, "cwmp:AllQueuedTransferStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrAllQueuedTransferStruct = (struct cwmp__AllQueuedTransferStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct AllTransferList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_AllTransferList, SOAP_TYPE_AllTransferList, sizeof(struct AllTransferList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct AllTransferList * SOAP_FMAC2 soap_instantiate_AllTransferList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_AllTransferList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct AllTransferList *p;
	size_t k = sizeof(struct AllTransferList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_AllTransferList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct AllTransferList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct AllTransferList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct AllTransferList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_AllTransferList(struct soap *soap, const struct AllTransferList *a, const char *tag, const char *type)
{
	if (soap_out_AllTransferList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct AllTransferList * SOAP_FMAC4 soap_get_AllTransferList(struct soap *soap, struct AllTransferList *p, const char *tag, const char *type)
{
	if ((p = soap_in_AllTransferList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetAllQueuedTransfersResponse(struct soap *soap, struct _cwmp__GetAllQueuedTransfersResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->TransferList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetAllQueuedTransfersResponse(struct soap *soap, const struct _cwmp__GetAllQueuedTransfersResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToAllTransferList(soap, &a->TransferList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetAllQueuedTransfersResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__GetAllQueuedTransfersResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse), type))
		return soap->error;
	if (!a->TransferList)
	{	if (soap_element_empty(soap, "TransferList"))
			return soap->error;
	}
	else if (soap_out_PointerToAllTransferList(soap, "TransferList", -1, &a->TransferList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetAllQueuedTransfersResponse * SOAP_FMAC4 soap_in__cwmp__GetAllQueuedTransfersResponse(struct soap *soap, const char *tag, struct _cwmp__GetAllQueuedTransfersResponse *a, const char *type)
{
	size_t soap_flag_TransferList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetAllQueuedTransfersResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse, sizeof(struct _cwmp__GetAllQueuedTransfersResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetAllQueuedTransfersResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_TransferList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToAllTransferList(soap, "TransferList", &a->TransferList, "cwmp:AllQueuedTransferStruct"))
				{	soap_flag_TransferList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->TransferList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetAllQueuedTransfersResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse, SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse, sizeof(struct _cwmp__GetAllQueuedTransfersResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetAllQueuedTransfersResponse * SOAP_FMAC2 soap_instantiate__cwmp__GetAllQueuedTransfersResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetAllQueuedTransfersResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetAllQueuedTransfersResponse *p;
	size_t k = sizeof(struct _cwmp__GetAllQueuedTransfersResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetAllQueuedTransfersResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetAllQueuedTransfersResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetAllQueuedTransfersResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetAllQueuedTransfersResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetAllQueuedTransfersResponse(struct soap *soap, const struct _cwmp__GetAllQueuedTransfersResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetAllQueuedTransfersResponse(soap, tag ? tag : "cwmp:GetAllQueuedTransfersResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetAllQueuedTransfersResponse * SOAP_FMAC4 soap_get__cwmp__GetAllQueuedTransfersResponse(struct soap *soap, struct _cwmp__GetAllQueuedTransfersResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetAllQueuedTransfersResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetAllQueuedTransfers(struct soap *soap, struct _cwmp__GetAllQueuedTransfers *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetAllQueuedTransfers(struct soap *soap, const struct _cwmp__GetAllQueuedTransfers *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetAllQueuedTransfers(struct soap *soap, const char *tag, int id, const struct _cwmp__GetAllQueuedTransfers *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetAllQueuedTransfers), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetAllQueuedTransfers * SOAP_FMAC4 soap_in__cwmp__GetAllQueuedTransfers(struct soap *soap, const char *tag, struct _cwmp__GetAllQueuedTransfers *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetAllQueuedTransfers*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetAllQueuedTransfers, sizeof(struct _cwmp__GetAllQueuedTransfers), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetAllQueuedTransfers(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__GetAllQueuedTransfers *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetAllQueuedTransfers, SOAP_TYPE__cwmp__GetAllQueuedTransfers, sizeof(struct _cwmp__GetAllQueuedTransfers), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetAllQueuedTransfers * SOAP_FMAC2 soap_instantiate__cwmp__GetAllQueuedTransfers(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetAllQueuedTransfers(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetAllQueuedTransfers *p;
	size_t k = sizeof(struct _cwmp__GetAllQueuedTransfers);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetAllQueuedTransfers, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetAllQueuedTransfers);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetAllQueuedTransfers, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetAllQueuedTransfers location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetAllQueuedTransfers(struct soap *soap, const struct _cwmp__GetAllQueuedTransfers *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetAllQueuedTransfers(soap, tag ? tag : "cwmp:GetAllQueuedTransfers", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetAllQueuedTransfers * SOAP_FMAC4 soap_get__cwmp__GetAllQueuedTransfers(struct soap *soap, struct _cwmp__GetAllQueuedTransfers *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetAllQueuedTransfers(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__FactoryResetResponse(struct soap *soap, struct _cwmp__FactoryResetResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__FactoryResetResponse(struct soap *soap, const struct _cwmp__FactoryResetResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__FactoryResetResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__FactoryResetResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__FactoryResetResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__FactoryResetResponse * SOAP_FMAC4 soap_in__cwmp__FactoryResetResponse(struct soap *soap, const char *tag, struct _cwmp__FactoryResetResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__FactoryResetResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__FactoryResetResponse, sizeof(struct _cwmp__FactoryResetResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__FactoryResetResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__FactoryResetResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__FactoryResetResponse, SOAP_TYPE__cwmp__FactoryResetResponse, sizeof(struct _cwmp__FactoryResetResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__FactoryResetResponse * SOAP_FMAC2 soap_instantiate__cwmp__FactoryResetResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__FactoryResetResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__FactoryResetResponse *p;
	size_t k = sizeof(struct _cwmp__FactoryResetResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__FactoryResetResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__FactoryResetResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__FactoryResetResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__FactoryResetResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__FactoryResetResponse(struct soap *soap, const struct _cwmp__FactoryResetResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__FactoryResetResponse(soap, tag ? tag : "cwmp:FactoryResetResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__FactoryResetResponse * SOAP_FMAC4 soap_get__cwmp__FactoryResetResponse(struct soap *soap, struct _cwmp__FactoryResetResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__FactoryResetResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__FactoryReset(struct soap *soap, struct _cwmp__FactoryReset *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__FactoryReset(struct soap *soap, const struct _cwmp__FactoryReset *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__FactoryReset(struct soap *soap, const char *tag, int id, const struct _cwmp__FactoryReset *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__FactoryReset), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__FactoryReset * SOAP_FMAC4 soap_in__cwmp__FactoryReset(struct soap *soap, const char *tag, struct _cwmp__FactoryReset *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__FactoryReset*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__FactoryReset, sizeof(struct _cwmp__FactoryReset), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__FactoryReset(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__FactoryReset *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__FactoryReset, SOAP_TYPE__cwmp__FactoryReset, sizeof(struct _cwmp__FactoryReset), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__FactoryReset * SOAP_FMAC2 soap_instantiate__cwmp__FactoryReset(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__FactoryReset(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__FactoryReset *p;
	size_t k = sizeof(struct _cwmp__FactoryReset);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__FactoryReset, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__FactoryReset);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__FactoryReset, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__FactoryReset location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__FactoryReset(struct soap *soap, const struct _cwmp__FactoryReset *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__FactoryReset(soap, tag ? tag : "cwmp:FactoryReset", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__FactoryReset * SOAP_FMAC4 soap_get__cwmp__FactoryReset(struct soap *soap, struct _cwmp__FactoryReset *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__FactoryReset(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__UploadResponse(struct soap *soap, struct _cwmp__UploadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default__cwmp__UploadResponse_Status(soap, &a->Status);
	soap_default_dateTime(soap, &a->StartTime);
	soap_default_dateTime(soap, &a->CompleteTime);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__UploadResponse(struct soap *soap, const struct _cwmp__UploadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_embedded(soap, &a->StartTime, SOAP_TYPE_dateTime);
	soap_embedded(soap, &a->CompleteTime, SOAP_TYPE_dateTime);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__UploadResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__UploadResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__UploadResponse), type))
		return soap->error;
	if (soap_out__cwmp__UploadResponse_Status(soap, "Status", -1, &a->Status, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "StartTime", -1, &a->StartTime, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "CompleteTime", -1, &a->CompleteTime, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__UploadResponse * SOAP_FMAC4 soap_in__cwmp__UploadResponse(struct soap *soap, const char *tag, struct _cwmp__UploadResponse *a, const char *type)
{
	size_t soap_flag_Status = 1;
	size_t soap_flag_StartTime = 1;
	size_t soap_flag_CompleteTime = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__UploadResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__UploadResponse, sizeof(struct _cwmp__UploadResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__UploadResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Status && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__UploadResponse_Status(soap, "Status", &a->Status, "cwmp:UploadResponse-Status"))
				{	soap_flag_Status--;
					continue;
				}
			}
			if (soap_flag_StartTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "StartTime", &a->StartTime, "xsd:dateTime"))
				{	soap_flag_StartTime--;
					continue;
				}
			}
			if (soap_flag_CompleteTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "CompleteTime", &a->CompleteTime, "xsd:dateTime"))
				{	soap_flag_CompleteTime--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_Status > 0 || soap_flag_StartTime > 0 || soap_flag_CompleteTime > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__UploadResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__UploadResponse, SOAP_TYPE__cwmp__UploadResponse, sizeof(struct _cwmp__UploadResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__UploadResponse * SOAP_FMAC2 soap_instantiate__cwmp__UploadResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__UploadResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__UploadResponse *p;
	size_t k = sizeof(struct _cwmp__UploadResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__UploadResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__UploadResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__UploadResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__UploadResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__UploadResponse(struct soap *soap, const struct _cwmp__UploadResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__UploadResponse(soap, tag ? tag : "cwmp:UploadResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__UploadResponse * SOAP_FMAC4 soap_get__cwmp__UploadResponse(struct soap *soap, struct _cwmp__UploadResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__UploadResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__Upload(struct soap *soap, struct _cwmp__Upload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
	soap_default_cwmp__UploadFileType(soap, &a->FileType);
	soap_default_string(soap, &a->URL);
	soap_default_string(soap, &a->Username);
	soap_default_string(soap, &a->Password);
	soap_default_unsignedInt(soap, &a->DelaySeconds);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__Upload(struct soap *soap, const struct _cwmp__Upload *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
	soap_serialize_cwmp__UploadFileType(soap, (char*const*)&a->FileType);
	soap_serialize_string(soap, (char*const*)&a->URL);
	soap_serialize_string(soap, (char*const*)&a->Username);
	soap_serialize_string(soap, (char*const*)&a->Password);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__Upload(struct soap *soap, const char *tag, int id, const struct _cwmp__Upload *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__Upload), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	if (!a->FileType)
	{	if (soap_element_empty(soap, "FileType"))
			return soap->error;
	}
	else if (soap_out_cwmp__UploadFileType(soap, "FileType", -1, (char*const*)&a->FileType, ""))
		return soap->error;
	if (!a->URL)
	{	if (soap_element_empty(soap, "URL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "URL", -1, (char*const*)&a->URL, ""))
		return soap->error;
	if (!a->Username)
	{	if (soap_element_empty(soap, "Username"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Username", -1, (char*const*)&a->Username, ""))
		return soap->error;
	if (!a->Password)
	{	if (soap_element_empty(soap, "Password"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Password", -1, (char*const*)&a->Password, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "DelaySeconds", -1, &a->DelaySeconds, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__Upload * SOAP_FMAC4 soap_in__cwmp__Upload(struct soap *soap, const char *tag, struct _cwmp__Upload *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	size_t soap_flag_FileType = 1;
	size_t soap_flag_URL = 1;
	size_t soap_flag_Username = 1;
	size_t soap_flag_Password = 1;
	size_t soap_flag_DelaySeconds = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__Upload*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__Upload, sizeof(struct _cwmp__Upload), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__Upload(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					continue;
				}
			}
			if (soap_flag_FileType && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__UploadFileType(soap, "FileType", (char**)&a->FileType, "cwmp:UploadFileType"))
				{	soap_flag_FileType--;
					continue;
				}
			}
			if (soap_flag_URL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "URL", (char**)&a->URL, "xsd:string"))
				{	soap_flag_URL--;
					continue;
				}
			}
			if (soap_flag_Username && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Username", (char**)&a->Username, "xsd:string"))
				{	soap_flag_Username--;
					continue;
				}
			}
			if (soap_flag_Password && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Password", (char**)&a->Password, "xsd:string"))
				{	soap_flag_Password--;
					continue;
				}
			}
			if (soap_flag_DelaySeconds && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "DelaySeconds", &a->DelaySeconds, "xsd:unsignedInt"))
				{	soap_flag_DelaySeconds--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey || !a->FileType || !a->URL || !a->Username || !a->Password || soap_flag_DelaySeconds > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__Upload *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__Upload, SOAP_TYPE__cwmp__Upload, sizeof(struct _cwmp__Upload), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__Upload * SOAP_FMAC2 soap_instantiate__cwmp__Upload(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__Upload(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__Upload *p;
	size_t k = sizeof(struct _cwmp__Upload);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__Upload, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__Upload);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__Upload, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__Upload location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__Upload(struct soap *soap, const struct _cwmp__Upload *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__Upload(soap, tag ? tag : "cwmp:Upload", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Upload * SOAP_FMAC4 soap_get__cwmp__Upload(struct soap *soap, struct _cwmp__Upload *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__Upload(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_OptionList(struct soap *soap, struct OptionList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrOptionStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_OptionList(struct soap *soap, const struct OptionList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrOptionStruct && !soap_array_reference(soap, a, a->__ptrOptionStruct, a->__size, SOAP_TYPE_OptionList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__OptionStruct(soap, a->__ptrOptionStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_OptionList(struct soap *soap, const char *tag, int id, const struct OptionList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrOptionStruct ? soap_putsizesoffsets(soap, "cwmp:OptionStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrOptionStruct, a->__size, type, SOAP_TYPE_OptionList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__OptionStruct(soap, "OptionStruct", -1, &a->__ptrOptionStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct OptionList * SOAP_FMAC4 soap_in_OptionList(struct soap *soap, const char *tag, struct OptionList *a, const char *type)
{
	int i, j;
	struct cwmp__OptionStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct OptionList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_OptionList, sizeof(struct OptionList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_OptionList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrOptionStruct = (struct cwmp__OptionStruct **)soap_malloc(soap, sizeof(struct cwmp__OptionStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrOptionStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__OptionStruct(soap, NULL, a->__ptrOptionStruct + i, "cwmp:OptionStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__OptionStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__OptionStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__OptionStruct(soap, NULL, p, "cwmp:OptionStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrOptionStruct = (struct cwmp__OptionStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct OptionList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_OptionList, SOAP_TYPE_OptionList, sizeof(struct OptionList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct OptionList * SOAP_FMAC2 soap_instantiate_OptionList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_OptionList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct OptionList *p;
	size_t k = sizeof(struct OptionList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_OptionList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct OptionList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct OptionList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct OptionList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_OptionList(struct soap *soap, const struct OptionList *a, const char *tag, const char *type)
{
	if (soap_out_OptionList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct OptionList * SOAP_FMAC4 soap_get_OptionList(struct soap *soap, struct OptionList *p, const char *tag, const char *type)
{
	if ((p = soap_in_OptionList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetOptionsResponse(struct soap *soap, struct _cwmp__GetOptionsResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->OptionList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetOptionsResponse(struct soap *soap, const struct _cwmp__GetOptionsResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToOptionList(soap, &a->OptionList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetOptionsResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__GetOptionsResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetOptionsResponse), type))
		return soap->error;
	if (!a->OptionList)
	{	if (soap_element_empty(soap, "OptionList"))
			return soap->error;
	}
	else if (soap_out_PointerToOptionList(soap, "OptionList", -1, &a->OptionList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetOptionsResponse * SOAP_FMAC4 soap_in__cwmp__GetOptionsResponse(struct soap *soap, const char *tag, struct _cwmp__GetOptionsResponse *a, const char *type)
{
	size_t soap_flag_OptionList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetOptionsResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetOptionsResponse, sizeof(struct _cwmp__GetOptionsResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetOptionsResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_OptionList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToOptionList(soap, "OptionList", &a->OptionList, "cwmp:OptionStruct"))
				{	soap_flag_OptionList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->OptionList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetOptionsResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetOptionsResponse, SOAP_TYPE__cwmp__GetOptionsResponse, sizeof(struct _cwmp__GetOptionsResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetOptionsResponse * SOAP_FMAC2 soap_instantiate__cwmp__GetOptionsResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetOptionsResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetOptionsResponse *p;
	size_t k = sizeof(struct _cwmp__GetOptionsResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetOptionsResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetOptionsResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetOptionsResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetOptionsResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetOptionsResponse(struct soap *soap, const struct _cwmp__GetOptionsResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetOptionsResponse(soap, tag ? tag : "cwmp:GetOptionsResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetOptionsResponse * SOAP_FMAC4 soap_get__cwmp__GetOptionsResponse(struct soap *soap, struct _cwmp__GetOptionsResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetOptionsResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetOptions(struct soap *soap, struct _cwmp__GetOptions *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->OptionName);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetOptions(struct soap *soap, const struct _cwmp__GetOptions *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->OptionName);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetOptions(struct soap *soap, const char *tag, int id, const struct _cwmp__GetOptions *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetOptions), type))
		return soap->error;
	if (!a->OptionName)
	{	if (soap_element_empty(soap, "OptionName"))
			return soap->error;
	}
	else if (soap_out_string(soap, "OptionName", -1, (char*const*)&a->OptionName, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetOptions * SOAP_FMAC4 soap_in__cwmp__GetOptions(struct soap *soap, const char *tag, struct _cwmp__GetOptions *a, const char *type)
{
	size_t soap_flag_OptionName = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetOptions*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetOptions, sizeof(struct _cwmp__GetOptions), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetOptions(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_OptionName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "OptionName", (char**)&a->OptionName, "xsd:string"))
				{	soap_flag_OptionName--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->OptionName))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetOptions *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetOptions, SOAP_TYPE__cwmp__GetOptions, sizeof(struct _cwmp__GetOptions), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetOptions * SOAP_FMAC2 soap_instantiate__cwmp__GetOptions(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetOptions(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetOptions *p;
	size_t k = sizeof(struct _cwmp__GetOptions);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetOptions, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetOptions);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetOptions, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetOptions location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetOptions(struct soap *soap, const struct _cwmp__GetOptions *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetOptions(soap, tag ? tag : "cwmp:GetOptions", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetOptions * SOAP_FMAC4 soap_get__cwmp__GetOptions(struct soap *soap, struct _cwmp__GetOptions *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetOptions(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SetVouchersResponse(struct soap *soap, struct _cwmp__SetVouchersResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SetVouchersResponse(struct soap *soap, const struct _cwmp__SetVouchersResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SetVouchersResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__SetVouchersResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__SetVouchersResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__SetVouchersResponse * SOAP_FMAC4 soap_in__cwmp__SetVouchersResponse(struct soap *soap, const char *tag, struct _cwmp__SetVouchersResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__SetVouchersResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SetVouchersResponse, sizeof(struct _cwmp__SetVouchersResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__SetVouchersResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__SetVouchersResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__SetVouchersResponse, SOAP_TYPE__cwmp__SetVouchersResponse, sizeof(struct _cwmp__SetVouchersResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__SetVouchersResponse * SOAP_FMAC2 soap_instantiate__cwmp__SetVouchersResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SetVouchersResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SetVouchersResponse *p;
	size_t k = sizeof(struct _cwmp__SetVouchersResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SetVouchersResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SetVouchersResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SetVouchersResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SetVouchersResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SetVouchersResponse(struct soap *soap, const struct _cwmp__SetVouchersResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SetVouchersResponse(soap, tag ? tag : "cwmp:SetVouchersResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetVouchersResponse * SOAP_FMAC4 soap_get__cwmp__SetVouchersResponse(struct soap *soap, struct _cwmp__SetVouchersResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SetVouchersResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_VoucherList(struct soap *soap, struct VoucherList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrbase64 = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_VoucherList(struct soap *soap, const struct VoucherList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrbase64 && !soap_array_reference(soap, a, a->__ptrbase64, a->__size, SOAP_TYPE_VoucherList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{	soap_embedded(soap, a->__ptrbase64 + i, SOAP_TYPE_SOAP_ENC__base64);
			soap_serialize_SOAP_ENC__base64(soap, a->__ptrbase64 + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_VoucherList(struct soap *soap, const char *tag, int id, const struct VoucherList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrbase64 ? soap_putsizesoffsets(soap, "SOAP-ENC:base64", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrbase64, a->__size, type, SOAP_TYPE_VoucherList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_SOAP_ENC__base64(soap, "base64", -1, &a->__ptrbase64[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct VoucherList * SOAP_FMAC4 soap_in_VoucherList(struct soap *soap, const char *tag, struct VoucherList *a, const char *type)
{
	int i, j;
	struct SOAP_ENC__base64 *p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct VoucherList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_VoucherList, sizeof(struct VoucherList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_VoucherList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrbase64 = soap_new_SOAP_ENC__base64(soap, a->__size);
			for (i = 0; i < a->__size; i++)
				soap_default_SOAP_ENC__base64(soap, a->__ptrbase64+i);
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_SOAP_ENC__base64(soap, NULL, a->__ptrbase64 + i, "SOAP-ENC:base64"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = soap_block<struct SOAP_ENC__base64>::push(soap, NULL);
				if (!p)
					break;
				soap_default_SOAP_ENC__base64(soap, p);
				if (!soap_in_SOAP_ENC__base64(soap, NULL, p, "SOAP-ENC:base64"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_block<struct SOAP_ENC__base64>::pop(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			if (soap->blist->size)
				a->__ptrbase64 = soap_new_SOAP_ENC__base64(soap, soap->blist->size/sizeof(struct SOAP_ENC__base64));
			else
				a->__ptrbase64 = NULL;
			if (a->__ptrbase64)
				soap_block<struct SOAP_ENC__base64>::save(soap, NULL, a->__ptrbase64);
			else
				soap_block<struct SOAP_ENC__base64>::end(soap, NULL);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct VoucherList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_VoucherList, SOAP_TYPE_VoucherList, sizeof(struct VoucherList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct VoucherList * SOAP_FMAC2 soap_instantiate_VoucherList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_VoucherList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct VoucherList *p;
	size_t k = sizeof(struct VoucherList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_VoucherList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct VoucherList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct VoucherList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct VoucherList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_VoucherList(struct soap *soap, const struct VoucherList *a, const char *tag, const char *type)
{
	if (soap_out_VoucherList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct VoucherList * SOAP_FMAC4 soap_get_VoucherList(struct soap *soap, struct VoucherList *p, const char *tag, const char *type)
{
	if ((p = soap_in_VoucherList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SetVouchers(struct soap *soap, struct _cwmp__SetVouchers *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->VoucherList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SetVouchers(struct soap *soap, const struct _cwmp__SetVouchers *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToVoucherList(soap, &a->VoucherList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SetVouchers(struct soap *soap, const char *tag, int id, const struct _cwmp__SetVouchers *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__SetVouchers), type))
		return soap->error;
	if (!a->VoucherList)
	{	if (soap_element_empty(soap, "VoucherList"))
			return soap->error;
	}
	else if (soap_out_PointerToVoucherList(soap, "VoucherList", -1, &a->VoucherList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__SetVouchers * SOAP_FMAC4 soap_in__cwmp__SetVouchers(struct soap *soap, const char *tag, struct _cwmp__SetVouchers *a, const char *type)
{
	size_t soap_flag_VoucherList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__SetVouchers*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SetVouchers, sizeof(struct _cwmp__SetVouchers), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__SetVouchers(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_VoucherList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToVoucherList(soap, "VoucherList", &a->VoucherList, "SOAP-ENC:base64"))
				{	soap_flag_VoucherList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->VoucherList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__SetVouchers *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__SetVouchers, SOAP_TYPE__cwmp__SetVouchers, sizeof(struct _cwmp__SetVouchers), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__SetVouchers * SOAP_FMAC2 soap_instantiate__cwmp__SetVouchers(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SetVouchers(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SetVouchers *p;
	size_t k = sizeof(struct _cwmp__SetVouchers);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SetVouchers, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SetVouchers);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SetVouchers, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SetVouchers location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SetVouchers(struct soap *soap, const struct _cwmp__SetVouchers *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SetVouchers(soap, tag ? tag : "cwmp:SetVouchers", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetVouchers * SOAP_FMAC4 soap_get__cwmp__SetVouchers(struct soap *soap, struct _cwmp__SetVouchers *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SetVouchers(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__ScheduleInformResponse(struct soap *soap, struct _cwmp__ScheduleInformResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__ScheduleInformResponse(struct soap *soap, const struct _cwmp__ScheduleInformResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__ScheduleInformResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__ScheduleInformResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__ScheduleInformResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__ScheduleInformResponse * SOAP_FMAC4 soap_in__cwmp__ScheduleInformResponse(struct soap *soap, const char *tag, struct _cwmp__ScheduleInformResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__ScheduleInformResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__ScheduleInformResponse, sizeof(struct _cwmp__ScheduleInformResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__ScheduleInformResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__ScheduleInformResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__ScheduleInformResponse, SOAP_TYPE__cwmp__ScheduleInformResponse, sizeof(struct _cwmp__ScheduleInformResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__ScheduleInformResponse * SOAP_FMAC2 soap_instantiate__cwmp__ScheduleInformResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__ScheduleInformResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__ScheduleInformResponse *p;
	size_t k = sizeof(struct _cwmp__ScheduleInformResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__ScheduleInformResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__ScheduleInformResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__ScheduleInformResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__ScheduleInformResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__ScheduleInformResponse(struct soap *soap, const struct _cwmp__ScheduleInformResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__ScheduleInformResponse(soap, tag ? tag : "cwmp:ScheduleInformResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ScheduleInformResponse * SOAP_FMAC4 soap_get__cwmp__ScheduleInformResponse(struct soap *soap, struct _cwmp__ScheduleInformResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__ScheduleInformResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__ScheduleInform(struct soap *soap, struct _cwmp__ScheduleInform *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_unsignedInt(soap, &a->DelaySeconds);
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__ScheduleInform(struct soap *soap, const struct _cwmp__ScheduleInform *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__ScheduleInform(struct soap *soap, const char *tag, int id, const struct _cwmp__ScheduleInform *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__ScheduleInform), type))
		return soap->error;
	if (soap_out_unsignedInt(soap, "DelaySeconds", -1, &a->DelaySeconds, ""))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__ScheduleInform * SOAP_FMAC4 soap_in__cwmp__ScheduleInform(struct soap *soap, const char *tag, struct _cwmp__ScheduleInform *a, const char *type)
{
	size_t soap_flag_DelaySeconds = 1;
	size_t soap_flag_CommandKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__ScheduleInform*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__ScheduleInform, sizeof(struct _cwmp__ScheduleInform), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__ScheduleInform(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_DelaySeconds && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "DelaySeconds", &a->DelaySeconds, "xsd:unsignedInt"))
				{	soap_flag_DelaySeconds--;
					continue;
				}
			}
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_DelaySeconds > 0 || !a->CommandKey))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__ScheduleInform *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__ScheduleInform, SOAP_TYPE__cwmp__ScheduleInform, sizeof(struct _cwmp__ScheduleInform), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__ScheduleInform * SOAP_FMAC2 soap_instantiate__cwmp__ScheduleInform(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__ScheduleInform(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__ScheduleInform *p;
	size_t k = sizeof(struct _cwmp__ScheduleInform);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__ScheduleInform, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__ScheduleInform);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__ScheduleInform, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__ScheduleInform location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__ScheduleInform(struct soap *soap, const struct _cwmp__ScheduleInform *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__ScheduleInform(soap, tag ? tag : "cwmp:ScheduleInform", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ScheduleInform * SOAP_FMAC4 soap_get__cwmp__ScheduleInform(struct soap *soap, struct _cwmp__ScheduleInform *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__ScheduleInform(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_TransferList(struct soap *soap, struct TransferList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrQueuedTransferStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_TransferList(struct soap *soap, const struct TransferList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrQueuedTransferStruct && !soap_array_reference(soap, a, a->__ptrQueuedTransferStruct, a->__size, SOAP_TYPE_TransferList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__QueuedTransferStruct(soap, a->__ptrQueuedTransferStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_TransferList(struct soap *soap, const char *tag, int id, const struct TransferList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrQueuedTransferStruct ? soap_putsizesoffsets(soap, "cwmp:QueuedTransferStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrQueuedTransferStruct, a->__size, type, SOAP_TYPE_TransferList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__QueuedTransferStruct(soap, "QueuedTransferStruct", -1, &a->__ptrQueuedTransferStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct TransferList * SOAP_FMAC4 soap_in_TransferList(struct soap *soap, const char *tag, struct TransferList *a, const char *type)
{
	int i, j;
	struct cwmp__QueuedTransferStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct TransferList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_TransferList, sizeof(struct TransferList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_TransferList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrQueuedTransferStruct = (struct cwmp__QueuedTransferStruct **)soap_malloc(soap, sizeof(struct cwmp__QueuedTransferStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrQueuedTransferStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__QueuedTransferStruct(soap, NULL, a->__ptrQueuedTransferStruct + i, "cwmp:QueuedTransferStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__QueuedTransferStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__QueuedTransferStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__QueuedTransferStruct(soap, NULL, p, "cwmp:QueuedTransferStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrQueuedTransferStruct = (struct cwmp__QueuedTransferStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct TransferList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_TransferList, SOAP_TYPE_TransferList, sizeof(struct TransferList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct TransferList * SOAP_FMAC2 soap_instantiate_TransferList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_TransferList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct TransferList *p;
	size_t k = sizeof(struct TransferList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_TransferList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct TransferList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct TransferList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct TransferList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_TransferList(struct soap *soap, const struct TransferList *a, const char *tag, const char *type)
{
	if (soap_out_TransferList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct TransferList * SOAP_FMAC4 soap_get_TransferList(struct soap *soap, struct TransferList *p, const char *tag, const char *type)
{
	if ((p = soap_in_TransferList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetQueuedTransfersResponse(struct soap *soap, struct _cwmp__GetQueuedTransfersResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->TransferList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetQueuedTransfersResponse(struct soap *soap, const struct _cwmp__GetQueuedTransfersResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToTransferList(soap, &a->TransferList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetQueuedTransfersResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__GetQueuedTransfersResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetQueuedTransfersResponse), type))
		return soap->error;
	if (!a->TransferList)
	{	if (soap_element_empty(soap, "TransferList"))
			return soap->error;
	}
	else if (soap_out_PointerToTransferList(soap, "TransferList", -1, &a->TransferList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetQueuedTransfersResponse * SOAP_FMAC4 soap_in__cwmp__GetQueuedTransfersResponse(struct soap *soap, const char *tag, struct _cwmp__GetQueuedTransfersResponse *a, const char *type)
{
	size_t soap_flag_TransferList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetQueuedTransfersResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetQueuedTransfersResponse, sizeof(struct _cwmp__GetQueuedTransfersResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetQueuedTransfersResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_TransferList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToTransferList(soap, "TransferList", &a->TransferList, "cwmp:QueuedTransferStruct"))
				{	soap_flag_TransferList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->TransferList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetQueuedTransfersResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetQueuedTransfersResponse, SOAP_TYPE__cwmp__GetQueuedTransfersResponse, sizeof(struct _cwmp__GetQueuedTransfersResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetQueuedTransfersResponse * SOAP_FMAC2 soap_instantiate__cwmp__GetQueuedTransfersResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetQueuedTransfersResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetQueuedTransfersResponse *p;
	size_t k = sizeof(struct _cwmp__GetQueuedTransfersResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetQueuedTransfersResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetQueuedTransfersResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetQueuedTransfersResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetQueuedTransfersResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetQueuedTransfersResponse(struct soap *soap, const struct _cwmp__GetQueuedTransfersResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetQueuedTransfersResponse(soap, tag ? tag : "cwmp:GetQueuedTransfersResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetQueuedTransfersResponse * SOAP_FMAC4 soap_get__cwmp__GetQueuedTransfersResponse(struct soap *soap, struct _cwmp__GetQueuedTransfersResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetQueuedTransfersResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetQueuedTransfers(struct soap *soap, struct _cwmp__GetQueuedTransfers *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetQueuedTransfers(struct soap *soap, const struct _cwmp__GetQueuedTransfers *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetQueuedTransfers(struct soap *soap, const char *tag, int id, const struct _cwmp__GetQueuedTransfers *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetQueuedTransfers), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetQueuedTransfers * SOAP_FMAC4 soap_in__cwmp__GetQueuedTransfers(struct soap *soap, const char *tag, struct _cwmp__GetQueuedTransfers *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetQueuedTransfers*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetQueuedTransfers, sizeof(struct _cwmp__GetQueuedTransfers), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetQueuedTransfers(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__GetQueuedTransfers *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetQueuedTransfers, SOAP_TYPE__cwmp__GetQueuedTransfers, sizeof(struct _cwmp__GetQueuedTransfers), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetQueuedTransfers * SOAP_FMAC2 soap_instantiate__cwmp__GetQueuedTransfers(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetQueuedTransfers(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetQueuedTransfers *p;
	size_t k = sizeof(struct _cwmp__GetQueuedTransfers);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetQueuedTransfers, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetQueuedTransfers);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetQueuedTransfers, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetQueuedTransfers location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetQueuedTransfers(struct soap *soap, const struct _cwmp__GetQueuedTransfers *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetQueuedTransfers(soap, tag ? tag : "cwmp:GetQueuedTransfers", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetQueuedTransfers * SOAP_FMAC4 soap_get__cwmp__GetQueuedTransfers(struct soap *soap, struct _cwmp__GetQueuedTransfers *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetQueuedTransfers(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__RebootResponse(struct soap *soap, struct _cwmp__RebootResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__RebootResponse(struct soap *soap, const struct _cwmp__RebootResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__RebootResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__RebootResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__RebootResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__RebootResponse * SOAP_FMAC4 soap_in__cwmp__RebootResponse(struct soap *soap, const char *tag, struct _cwmp__RebootResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__RebootResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__RebootResponse, sizeof(struct _cwmp__RebootResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__RebootResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__RebootResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__RebootResponse, SOAP_TYPE__cwmp__RebootResponse, sizeof(struct _cwmp__RebootResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__RebootResponse * SOAP_FMAC2 soap_instantiate__cwmp__RebootResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__RebootResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__RebootResponse *p;
	size_t k = sizeof(struct _cwmp__RebootResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__RebootResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__RebootResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__RebootResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__RebootResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__RebootResponse(struct soap *soap, const struct _cwmp__RebootResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__RebootResponse(soap, tag ? tag : "cwmp:RebootResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__RebootResponse * SOAP_FMAC4 soap_get__cwmp__RebootResponse(struct soap *soap, struct _cwmp__RebootResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__RebootResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__Reboot(struct soap *soap, struct _cwmp__Reboot *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__Reboot(struct soap *soap, const struct _cwmp__Reboot *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__Reboot(struct soap *soap, const char *tag, int id, const struct _cwmp__Reboot *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__Reboot), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__Reboot * SOAP_FMAC4 soap_in__cwmp__Reboot(struct soap *soap, const char *tag, struct _cwmp__Reboot *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__Reboot*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__Reboot, sizeof(struct _cwmp__Reboot), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__Reboot(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__Reboot *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__Reboot, SOAP_TYPE__cwmp__Reboot, sizeof(struct _cwmp__Reboot), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__Reboot * SOAP_FMAC2 soap_instantiate__cwmp__Reboot(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__Reboot(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__Reboot *p;
	size_t k = sizeof(struct _cwmp__Reboot);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__Reboot, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__Reboot);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__Reboot, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__Reboot location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__Reboot(struct soap *soap, const struct _cwmp__Reboot *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__Reboot(soap, tag ? tag : "cwmp:Reboot", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Reboot * SOAP_FMAC4 soap_get__cwmp__Reboot(struct soap *soap, struct _cwmp__Reboot *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__Reboot(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__DownloadResponse(struct soap *soap, struct _cwmp__DownloadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default__cwmp__DownloadResponse_Status(soap, &a->Status);
	soap_default_dateTime(soap, &a->StartTime);
	soap_default_dateTime(soap, &a->CompleteTime);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__DownloadResponse(struct soap *soap, const struct _cwmp__DownloadResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_embedded(soap, &a->StartTime, SOAP_TYPE_dateTime);
	soap_embedded(soap, &a->CompleteTime, SOAP_TYPE_dateTime);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__DownloadResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__DownloadResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__DownloadResponse), type))
		return soap->error;
	if (soap_out__cwmp__DownloadResponse_Status(soap, "Status", -1, &a->Status, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "StartTime", -1, &a->StartTime, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "CompleteTime", -1, &a->CompleteTime, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__DownloadResponse * SOAP_FMAC4 soap_in__cwmp__DownloadResponse(struct soap *soap, const char *tag, struct _cwmp__DownloadResponse *a, const char *type)
{
	size_t soap_flag_Status = 1;
	size_t soap_flag_StartTime = 1;
	size_t soap_flag_CompleteTime = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__DownloadResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__DownloadResponse, sizeof(struct _cwmp__DownloadResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__DownloadResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Status && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__DownloadResponse_Status(soap, "Status", &a->Status, "cwmp:DownloadResponse-Status"))
				{	soap_flag_Status--;
					continue;
				}
			}
			if (soap_flag_StartTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "StartTime", &a->StartTime, "xsd:dateTime"))
				{	soap_flag_StartTime--;
					continue;
				}
			}
			if (soap_flag_CompleteTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "CompleteTime", &a->CompleteTime, "xsd:dateTime"))
				{	soap_flag_CompleteTime--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_Status > 0 || soap_flag_StartTime > 0 || soap_flag_CompleteTime > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__DownloadResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__DownloadResponse, SOAP_TYPE__cwmp__DownloadResponse, sizeof(struct _cwmp__DownloadResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__DownloadResponse * SOAP_FMAC2 soap_instantiate__cwmp__DownloadResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__DownloadResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__DownloadResponse *p;
	size_t k = sizeof(struct _cwmp__DownloadResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__DownloadResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__DownloadResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__DownloadResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__DownloadResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__DownloadResponse(struct soap *soap, const struct _cwmp__DownloadResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__DownloadResponse(soap, tag ? tag : "cwmp:DownloadResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DownloadResponse * SOAP_FMAC4 soap_get__cwmp__DownloadResponse(struct soap *soap, struct _cwmp__DownloadResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__DownloadResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__Download(struct soap *soap, struct _cwmp__Download *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
	soap_default_cwmp__DownloadFileType(soap, &a->FileType);
	soap_default_string(soap, &a->URL);
	soap_default_string(soap, &a->Username);
	soap_default_string(soap, &a->Password);
	soap_default_unsignedInt(soap, &a->FileSize);
	soap_default_string(soap, &a->TargetFileName);
	soap_default_unsignedInt(soap, &a->DelaySeconds);
	soap_default_string(soap, &a->SuccessURL);
	soap_default_string(soap, &a->FailureURL);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__Download(struct soap *soap, const struct _cwmp__Download *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
	soap_serialize_cwmp__DownloadFileType(soap, (char*const*)&a->FileType);
	soap_serialize_string(soap, (char*const*)&a->URL);
	soap_serialize_string(soap, (char*const*)&a->Username);
	soap_serialize_string(soap, (char*const*)&a->Password);
	soap_serialize_string(soap, (char*const*)&a->TargetFileName);
	soap_serialize_string(soap, (char*const*)&a->SuccessURL);
	soap_serialize_string(soap, (char*const*)&a->FailureURL);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__Download(struct soap *soap, const char *tag, int id, const struct _cwmp__Download *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__Download), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	if (!a->FileType)
	{	if (soap_element_empty(soap, "FileType"))
			return soap->error;
	}
	else if (soap_out_cwmp__DownloadFileType(soap, "FileType", -1, (char*const*)&a->FileType, ""))
		return soap->error;
	if (!a->URL)
	{	if (soap_element_empty(soap, "URL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "URL", -1, (char*const*)&a->URL, ""))
		return soap->error;
	if (!a->Username)
	{	if (soap_element_empty(soap, "Username"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Username", -1, (char*const*)&a->Username, ""))
		return soap->error;
	if (!a->Password)
	{	if (soap_element_empty(soap, "Password"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Password", -1, (char*const*)&a->Password, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "FileSize", -1, &a->FileSize, ""))
		return soap->error;
	if (!a->TargetFileName)
	{	if (soap_element_empty(soap, "TargetFileName"))
			return soap->error;
	}
	else if (soap_out_string(soap, "TargetFileName", -1, (char*const*)&a->TargetFileName, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "DelaySeconds", -1, &a->DelaySeconds, ""))
		return soap->error;
	if (!a->SuccessURL)
	{	if (soap_element_empty(soap, "SuccessURL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "SuccessURL", -1, (char*const*)&a->SuccessURL, ""))
		return soap->error;
	if (!a->FailureURL)
	{	if (soap_element_empty(soap, "FailureURL"))
			return soap->error;
	}
	else if (soap_out_string(soap, "FailureURL", -1, (char*const*)&a->FailureURL, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__Download * SOAP_FMAC4 soap_in__cwmp__Download(struct soap *soap, const char *tag, struct _cwmp__Download *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	size_t soap_flag_FileType = 1;
	size_t soap_flag_URL = 1;
	size_t soap_flag_Username = 1;
	size_t soap_flag_Password = 1;
	size_t soap_flag_FileSize = 1;
	size_t soap_flag_TargetFileName = 1;
	size_t soap_flag_DelaySeconds = 1;
	size_t soap_flag_SuccessURL = 1;
	size_t soap_flag_FailureURL = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__Download*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__Download, sizeof(struct _cwmp__Download), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__Download(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					continue;
				}
			}
			if (soap_flag_FileType && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DownloadFileType(soap, "FileType", (char**)&a->FileType, "cwmp:DownloadFileType"))
				{	soap_flag_FileType--;
					continue;
				}
			}
			if (soap_flag_URL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "URL", (char**)&a->URL, "xsd:string"))
				{	soap_flag_URL--;
					continue;
				}
			}
			if (soap_flag_Username && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Username", (char**)&a->Username, "xsd:string"))
				{	soap_flag_Username--;
					continue;
				}
			}
			if (soap_flag_Password && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Password", (char**)&a->Password, "xsd:string"))
				{	soap_flag_Password--;
					continue;
				}
			}
			if (soap_flag_FileSize && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "FileSize", &a->FileSize, "xsd:unsignedInt"))
				{	soap_flag_FileSize--;
					continue;
				}
			}
			if (soap_flag_TargetFileName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "TargetFileName", (char**)&a->TargetFileName, "xsd:string"))
				{	soap_flag_TargetFileName--;
					continue;
				}
			}
			if (soap_flag_DelaySeconds && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "DelaySeconds", &a->DelaySeconds, "xsd:unsignedInt"))
				{	soap_flag_DelaySeconds--;
					continue;
				}
			}
			if (soap_flag_SuccessURL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "SuccessURL", (char**)&a->SuccessURL, "xsd:string"))
				{	soap_flag_SuccessURL--;
					continue;
				}
			}
			if (soap_flag_FailureURL && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FailureURL", (char**)&a->FailureURL, "xsd:string"))
				{	soap_flag_FailureURL--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey || !a->FileType || !a->URL || !a->Username || !a->Password || soap_flag_FileSize > 0 || !a->TargetFileName || soap_flag_DelaySeconds > 0 || !a->SuccessURL || !a->FailureURL))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__Download *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__Download, SOAP_TYPE__cwmp__Download, sizeof(struct _cwmp__Download), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__Download * SOAP_FMAC2 soap_instantiate__cwmp__Download(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__Download(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__Download *p;
	size_t k = sizeof(struct _cwmp__Download);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__Download, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__Download);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__Download, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__Download location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__Download(struct soap *soap, const struct _cwmp__Download *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__Download(soap, tag ? tag : "cwmp:Download", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Download * SOAP_FMAC4 soap_get__cwmp__Download(struct soap *soap, struct _cwmp__Download *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__Download(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__DeleteObjectResponse(struct soap *soap, struct _cwmp__DeleteObjectResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default__cwmp__DeleteObjectResponse_Status(soap, &a->Status);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__DeleteObjectResponse(struct soap *soap, const struct _cwmp__DeleteObjectResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__DeleteObjectResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__DeleteObjectResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__DeleteObjectResponse), type))
		return soap->error;
	if (soap_out__cwmp__DeleteObjectResponse_Status(soap, "Status", -1, &a->Status, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__DeleteObjectResponse * SOAP_FMAC4 soap_in__cwmp__DeleteObjectResponse(struct soap *soap, const char *tag, struct _cwmp__DeleteObjectResponse *a, const char *type)
{
	size_t soap_flag_Status = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__DeleteObjectResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__DeleteObjectResponse, sizeof(struct _cwmp__DeleteObjectResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__DeleteObjectResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Status && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__DeleteObjectResponse_Status(soap, "Status", &a->Status, "cwmp:DeleteObjectResponse-Status"))
				{	soap_flag_Status--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_Status > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__DeleteObjectResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__DeleteObjectResponse, SOAP_TYPE__cwmp__DeleteObjectResponse, sizeof(struct _cwmp__DeleteObjectResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__DeleteObjectResponse * SOAP_FMAC2 soap_instantiate__cwmp__DeleteObjectResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__DeleteObjectResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__DeleteObjectResponse *p;
	size_t k = sizeof(struct _cwmp__DeleteObjectResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__DeleteObjectResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__DeleteObjectResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__DeleteObjectResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__DeleteObjectResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__DeleteObjectResponse(struct soap *soap, const struct _cwmp__DeleteObjectResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__DeleteObjectResponse(soap, tag ? tag : "cwmp:DeleteObjectResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DeleteObjectResponse * SOAP_FMAC4 soap_get__cwmp__DeleteObjectResponse(struct soap *soap, struct _cwmp__DeleteObjectResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__DeleteObjectResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__DeleteObject(struct soap *soap, struct _cwmp__DeleteObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__ObjectNameType(soap, &a->ObjectName);
	soap_default_cwmp__ParameterKeyType(soap, &a->ParameterKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__DeleteObject(struct soap *soap, const struct _cwmp__DeleteObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__ObjectNameType(soap, (char*const*)&a->ObjectName);
	soap_serialize_cwmp__ParameterKeyType(soap, (char*const*)&a->ParameterKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__DeleteObject(struct soap *soap, const char *tag, int id, const struct _cwmp__DeleteObject *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__DeleteObject), type))
		return soap->error;
	if (!a->ObjectName)
	{	if (soap_element_empty(soap, "ObjectName"))
			return soap->error;
	}
	else if (soap_out_cwmp__ObjectNameType(soap, "ObjectName", -1, (char*const*)&a->ObjectName, ""))
		return soap->error;
	if (!a->ParameterKey)
	{	if (soap_element_empty(soap, "ParameterKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__ParameterKeyType(soap, "ParameterKey", -1, (char*const*)&a->ParameterKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__DeleteObject * SOAP_FMAC4 soap_in__cwmp__DeleteObject(struct soap *soap, const char *tag, struct _cwmp__DeleteObject *a, const char *type)
{
	size_t soap_flag_ObjectName = 1;
	size_t soap_flag_ParameterKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__DeleteObject*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__DeleteObject, sizeof(struct _cwmp__DeleteObject), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__DeleteObject(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ObjectName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__ObjectNameType(soap, "ObjectName", (char**)&a->ObjectName, "cwmp:ObjectNameType"))
				{	soap_flag_ObjectName--;
					continue;
				}
			}
			if (soap_flag_ParameterKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__ParameterKeyType(soap, "ParameterKey", (char**)&a->ParameterKey, "cwmp:ParameterKeyType"))
				{	soap_flag_ParameterKey--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ObjectName || !a->ParameterKey))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__DeleteObject *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__DeleteObject, SOAP_TYPE__cwmp__DeleteObject, sizeof(struct _cwmp__DeleteObject), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__DeleteObject * SOAP_FMAC2 soap_instantiate__cwmp__DeleteObject(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__DeleteObject(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__DeleteObject *p;
	size_t k = sizeof(struct _cwmp__DeleteObject);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__DeleteObject, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__DeleteObject);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__DeleteObject, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__DeleteObject location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__DeleteObject(struct soap *soap, const struct _cwmp__DeleteObject *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__DeleteObject(soap, tag ? tag : "cwmp:DeleteObject", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DeleteObject * SOAP_FMAC4 soap_get__cwmp__DeleteObject(struct soap *soap, struct _cwmp__DeleteObject *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__DeleteObject(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__AddObjectResponse(struct soap *soap, struct _cwmp__AddObjectResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_unsignedInt(soap, &a->InstanceNumber);
	soap_default__cwmp__AddObjectResponse_Status(soap, &a->Status);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__AddObjectResponse(struct soap *soap, const struct _cwmp__AddObjectResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__AddObjectResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__AddObjectResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__AddObjectResponse), type))
		return soap->error;
	if (soap_out_unsignedInt(soap, "InstanceNumber", -1, &a->InstanceNumber, ""))
		return soap->error;
	if (soap_out__cwmp__AddObjectResponse_Status(soap, "Status", -1, &a->Status, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__AddObjectResponse * SOAP_FMAC4 soap_in__cwmp__AddObjectResponse(struct soap *soap, const char *tag, struct _cwmp__AddObjectResponse *a, const char *type)
{
	size_t soap_flag_InstanceNumber = 1;
	size_t soap_flag_Status = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__AddObjectResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__AddObjectResponse, sizeof(struct _cwmp__AddObjectResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__AddObjectResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_InstanceNumber && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "InstanceNumber", &a->InstanceNumber, "xsd:unsignedInt"))
				{	soap_flag_InstanceNumber--;
					continue;
				}
			}
			if (soap_flag_Status && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__AddObjectResponse_Status(soap, "Status", &a->Status, "cwmp:AddObjectResponse-Status"))
				{	soap_flag_Status--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_InstanceNumber > 0 || soap_flag_Status > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__AddObjectResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__AddObjectResponse, SOAP_TYPE__cwmp__AddObjectResponse, sizeof(struct _cwmp__AddObjectResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__AddObjectResponse * SOAP_FMAC2 soap_instantiate__cwmp__AddObjectResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__AddObjectResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__AddObjectResponse *p;
	size_t k = sizeof(struct _cwmp__AddObjectResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__AddObjectResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__AddObjectResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__AddObjectResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__AddObjectResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__AddObjectResponse(struct soap *soap, const struct _cwmp__AddObjectResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__AddObjectResponse(soap, tag ? tag : "cwmp:AddObjectResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AddObjectResponse * SOAP_FMAC4 soap_get__cwmp__AddObjectResponse(struct soap *soap, struct _cwmp__AddObjectResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__AddObjectResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__AddObject(struct soap *soap, struct _cwmp__AddObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__ObjectNameType(soap, &a->ObjectName);
	soap_default_cwmp__ParameterKeyType(soap, &a->ParameterKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__AddObject(struct soap *soap, const struct _cwmp__AddObject *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__ObjectNameType(soap, (char*const*)&a->ObjectName);
	soap_serialize_cwmp__ParameterKeyType(soap, (char*const*)&a->ParameterKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__AddObject(struct soap *soap, const char *tag, int id, const struct _cwmp__AddObject *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__AddObject), type))
		return soap->error;
	if (!a->ObjectName)
	{	if (soap_element_empty(soap, "ObjectName"))
			return soap->error;
	}
	else if (soap_out_cwmp__ObjectNameType(soap, "ObjectName", -1, (char*const*)&a->ObjectName, ""))
		return soap->error;
	if (!a->ParameterKey)
	{	if (soap_element_empty(soap, "ParameterKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__ParameterKeyType(soap, "ParameterKey", -1, (char*const*)&a->ParameterKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__AddObject * SOAP_FMAC4 soap_in__cwmp__AddObject(struct soap *soap, const char *tag, struct _cwmp__AddObject *a, const char *type)
{
	size_t soap_flag_ObjectName = 1;
	size_t soap_flag_ParameterKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__AddObject*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__AddObject, sizeof(struct _cwmp__AddObject), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__AddObject(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ObjectName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__ObjectNameType(soap, "ObjectName", (char**)&a->ObjectName, "cwmp:ObjectNameType"))
				{	soap_flag_ObjectName--;
					continue;
				}
			}
			if (soap_flag_ParameterKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__ParameterKeyType(soap, "ParameterKey", (char**)&a->ParameterKey, "cwmp:ParameterKeyType"))
				{	soap_flag_ParameterKey--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ObjectName || !a->ParameterKey))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__AddObject *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__AddObject, SOAP_TYPE__cwmp__AddObject, sizeof(struct _cwmp__AddObject), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__AddObject * SOAP_FMAC2 soap_instantiate__cwmp__AddObject(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__AddObject(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__AddObject *p;
	size_t k = sizeof(struct _cwmp__AddObject);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__AddObject, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__AddObject);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__AddObject, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__AddObject location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__AddObject(struct soap *soap, const struct _cwmp__AddObject *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__AddObject(soap, tag ? tag : "cwmp:AddObject", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AddObject * SOAP_FMAC4 soap_get__cwmp__AddObject(struct soap *soap, struct _cwmp__AddObject *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__AddObject(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_ParameterAttributeList(struct soap *soap, struct ParameterAttributeList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrParameterAttributeStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ParameterAttributeList(struct soap *soap, const struct ParameterAttributeList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrParameterAttributeStruct && !soap_array_reference(soap, a, a->__ptrParameterAttributeStruct, a->__size, SOAP_TYPE_ParameterAttributeList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__ParameterAttributeStruct(soap, a->__ptrParameterAttributeStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_ParameterAttributeList(struct soap *soap, const char *tag, int id, const struct ParameterAttributeList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrParameterAttributeStruct ? soap_putsizesoffsets(soap, "cwmp:ParameterAttributeStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrParameterAttributeStruct, a->__size, type, SOAP_TYPE_ParameterAttributeList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__ParameterAttributeStruct(soap, "ParameterAttributeStruct", -1, &a->__ptrParameterAttributeStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct ParameterAttributeList * SOAP_FMAC4 soap_in_ParameterAttributeList(struct soap *soap, const char *tag, struct ParameterAttributeList *a, const char *type)
{
	int i, j;
	struct cwmp__ParameterAttributeStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct ParameterAttributeList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ParameterAttributeList, sizeof(struct ParameterAttributeList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_ParameterAttributeList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrParameterAttributeStruct = (struct cwmp__ParameterAttributeStruct **)soap_malloc(soap, sizeof(struct cwmp__ParameterAttributeStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrParameterAttributeStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__ParameterAttributeStruct(soap, NULL, a->__ptrParameterAttributeStruct + i, "cwmp:ParameterAttributeStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__ParameterAttributeStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__ParameterAttributeStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__ParameterAttributeStruct(soap, NULL, p, "cwmp:ParameterAttributeStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrParameterAttributeStruct = (struct cwmp__ParameterAttributeStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct ParameterAttributeList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ParameterAttributeList, SOAP_TYPE_ParameterAttributeList, sizeof(struct ParameterAttributeList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct ParameterAttributeList * SOAP_FMAC2 soap_instantiate_ParameterAttributeList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ParameterAttributeList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct ParameterAttributeList *p;
	size_t k = sizeof(struct ParameterAttributeList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_ParameterAttributeList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct ParameterAttributeList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct ParameterAttributeList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct ParameterAttributeList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_ParameterAttributeList(struct soap *soap, const struct ParameterAttributeList *a, const char *tag, const char *type)
{
	if (soap_out_ParameterAttributeList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterAttributeList * SOAP_FMAC4 soap_get_ParameterAttributeList(struct soap *soap, struct ParameterAttributeList *p, const char *tag, const char *type)
{
	if ((p = soap_in_ParameterAttributeList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetParameterAttributesResponse(struct soap *soap, struct _cwmp__GetParameterAttributesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->ParameterList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetParameterAttributesResponse(struct soap *soap, const struct _cwmp__GetParameterAttributesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToParameterAttributeList(soap, &a->ParameterList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetParameterAttributesResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__GetParameterAttributesResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetParameterAttributesResponse), type))
		return soap->error;
	if (!a->ParameterList)
	{	if (soap_element_empty(soap, "ParameterList"))
			return soap->error;
	}
	else if (soap_out_PointerToParameterAttributeList(soap, "ParameterList", -1, &a->ParameterList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributesResponse * SOAP_FMAC4 soap_in__cwmp__GetParameterAttributesResponse(struct soap *soap, const char *tag, struct _cwmp__GetParameterAttributesResponse *a, const char *type)
{
	size_t soap_flag_ParameterList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetParameterAttributesResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetParameterAttributesResponse, sizeof(struct _cwmp__GetParameterAttributesResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetParameterAttributesResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToParameterAttributeList(soap, "ParameterList", &a->ParameterList, "cwmp:ParameterAttributeStruct"))
				{	soap_flag_ParameterList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterAttributesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetParameterAttributesResponse, SOAP_TYPE__cwmp__GetParameterAttributesResponse, sizeof(struct _cwmp__GetParameterAttributesResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetParameterAttributesResponse * SOAP_FMAC2 soap_instantiate__cwmp__GetParameterAttributesResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetParameterAttributesResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetParameterAttributesResponse *p;
	size_t k = sizeof(struct _cwmp__GetParameterAttributesResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetParameterAttributesResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetParameterAttributesResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetParameterAttributesResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetParameterAttributesResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetParameterAttributesResponse(struct soap *soap, const struct _cwmp__GetParameterAttributesResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetParameterAttributesResponse(soap, tag ? tag : "cwmp:GetParameterAttributesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributesResponse * SOAP_FMAC4 soap_get__cwmp__GetParameterAttributesResponse(struct soap *soap, struct _cwmp__GetParameterAttributesResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetParameterAttributesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetParameterAttributes(struct soap *soap, struct _cwmp__GetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->ParameterNames = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetParameterAttributes(struct soap *soap, const struct _cwmp__GetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToParameterNames(soap, &a->ParameterNames);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetParameterAttributes(struct soap *soap, const char *tag, int id, const struct _cwmp__GetParameterAttributes *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetParameterAttributes), type))
		return soap->error;
	if (!a->ParameterNames)
	{	if (soap_element_empty(soap, "ParameterNames"))
			return soap->error;
	}
	else if (soap_out_PointerToParameterNames(soap, "ParameterNames", -1, &a->ParameterNames, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributes * SOAP_FMAC4 soap_in__cwmp__GetParameterAttributes(struct soap *soap, const char *tag, struct _cwmp__GetParameterAttributes *a, const char *type)
{
	size_t soap_flag_ParameterNames = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetParameterAttributes*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetParameterAttributes, sizeof(struct _cwmp__GetParameterAttributes), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetParameterAttributes(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterNames && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToParameterNames(soap, "ParameterNames", &a->ParameterNames, "xsd:string"))
				{	soap_flag_ParameterNames--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterNames))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterAttributes *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetParameterAttributes, SOAP_TYPE__cwmp__GetParameterAttributes, sizeof(struct _cwmp__GetParameterAttributes), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetParameterAttributes * SOAP_FMAC2 soap_instantiate__cwmp__GetParameterAttributes(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetParameterAttributes(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetParameterAttributes *p;
	size_t k = sizeof(struct _cwmp__GetParameterAttributes);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetParameterAttributes, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetParameterAttributes);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetParameterAttributes, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetParameterAttributes location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetParameterAttributes(struct soap *soap, const struct _cwmp__GetParameterAttributes *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetParameterAttributes(soap, tag ? tag : "cwmp:GetParameterAttributes", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributes * SOAP_FMAC4 soap_get__cwmp__GetParameterAttributes(struct soap *soap, struct _cwmp__GetParameterAttributes *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetParameterAttributes(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SetParameterAttributesResponse(struct soap *soap, struct _cwmp__SetParameterAttributesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SetParameterAttributesResponse(struct soap *soap, const struct _cwmp__SetParameterAttributesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SetParameterAttributesResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__SetParameterAttributesResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__SetParameterAttributesResponse), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributesResponse * SOAP_FMAC4 soap_in__cwmp__SetParameterAttributesResponse(struct soap *soap, const char *tag, struct _cwmp__SetParameterAttributesResponse *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__SetParameterAttributesResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SetParameterAttributesResponse, sizeof(struct _cwmp__SetParameterAttributesResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__SetParameterAttributesResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__SetParameterAttributesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__SetParameterAttributesResponse, SOAP_TYPE__cwmp__SetParameterAttributesResponse, sizeof(struct _cwmp__SetParameterAttributesResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__SetParameterAttributesResponse * SOAP_FMAC2 soap_instantiate__cwmp__SetParameterAttributesResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SetParameterAttributesResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SetParameterAttributesResponse *p;
	size_t k = sizeof(struct _cwmp__SetParameterAttributesResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SetParameterAttributesResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SetParameterAttributesResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SetParameterAttributesResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SetParameterAttributesResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SetParameterAttributesResponse(struct soap *soap, const struct _cwmp__SetParameterAttributesResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SetParameterAttributesResponse(soap, tag ? tag : "cwmp:SetParameterAttributesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributesResponse * SOAP_FMAC4 soap_get__cwmp__SetParameterAttributesResponse(struct soap *soap, struct _cwmp__SetParameterAttributesResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SetParameterAttributesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_SetParameterAttributesList(struct soap *soap, struct SetParameterAttributesList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrSetParameterAttributesStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SetParameterAttributesList(struct soap *soap, const struct SetParameterAttributesList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrSetParameterAttributesStruct && !soap_array_reference(soap, a, a->__ptrSetParameterAttributesStruct, a->__size, SOAP_TYPE_SetParameterAttributesList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__SetParameterAttributesStruct(soap, a->__ptrSetParameterAttributesStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SetParameterAttributesList(struct soap *soap, const char *tag, int id, const struct SetParameterAttributesList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrSetParameterAttributesStruct ? soap_putsizesoffsets(soap, "cwmp:SetParameterAttributesStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrSetParameterAttributesStruct, a->__size, type, SOAP_TYPE_SetParameterAttributesList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__SetParameterAttributesStruct(soap, "SetParameterAttributesStruct", -1, &a->__ptrSetParameterAttributesStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct SetParameterAttributesList * SOAP_FMAC4 soap_in_SetParameterAttributesList(struct soap *soap, const char *tag, struct SetParameterAttributesList *a, const char *type)
{
	int i, j;
	struct cwmp__SetParameterAttributesStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct SetParameterAttributesList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SetParameterAttributesList, sizeof(struct SetParameterAttributesList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_SetParameterAttributesList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrSetParameterAttributesStruct = (struct cwmp__SetParameterAttributesStruct **)soap_malloc(soap, sizeof(struct cwmp__SetParameterAttributesStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrSetParameterAttributesStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__SetParameterAttributesStruct(soap, NULL, a->__ptrSetParameterAttributesStruct + i, "cwmp:SetParameterAttributesStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__SetParameterAttributesStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__SetParameterAttributesStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__SetParameterAttributesStruct(soap, NULL, p, "cwmp:SetParameterAttributesStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrSetParameterAttributesStruct = (struct cwmp__SetParameterAttributesStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct SetParameterAttributesList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SetParameterAttributesList, SOAP_TYPE_SetParameterAttributesList, sizeof(struct SetParameterAttributesList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct SetParameterAttributesList * SOAP_FMAC2 soap_instantiate_SetParameterAttributesList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SetParameterAttributesList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct SetParameterAttributesList *p;
	size_t k = sizeof(struct SetParameterAttributesList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SetParameterAttributesList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct SetParameterAttributesList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct SetParameterAttributesList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SetParameterAttributesList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_SetParameterAttributesList(struct soap *soap, const struct SetParameterAttributesList *a, const char *tag, const char *type)
{
	if (soap_out_SetParameterAttributesList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SetParameterAttributesList * SOAP_FMAC4 soap_get_SetParameterAttributesList(struct soap *soap, struct SetParameterAttributesList *p, const char *tag, const char *type)
{
	if ((p = soap_in_SetParameterAttributesList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SetParameterAttributes(struct soap *soap, struct _cwmp__SetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->ParameterList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SetParameterAttributes(struct soap *soap, const struct _cwmp__SetParameterAttributes *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToSetParameterAttributesList(soap, &a->ParameterList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SetParameterAttributes(struct soap *soap, const char *tag, int id, const struct _cwmp__SetParameterAttributes *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__SetParameterAttributes), type))
		return soap->error;
	if (!a->ParameterList)
	{	if (soap_element_empty(soap, "ParameterList"))
			return soap->error;
	}
	else if (soap_out_PointerToSetParameterAttributesList(soap, "ParameterList", -1, &a->ParameterList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributes * SOAP_FMAC4 soap_in__cwmp__SetParameterAttributes(struct soap *soap, const char *tag, struct _cwmp__SetParameterAttributes *a, const char *type)
{
	size_t soap_flag_ParameterList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__SetParameterAttributes*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SetParameterAttributes, sizeof(struct _cwmp__SetParameterAttributes), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__SetParameterAttributes(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToSetParameterAttributesList(soap, "ParameterList", &a->ParameterList, "cwmp:SetParameterAttributesStruct"))
				{	soap_flag_ParameterList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__SetParameterAttributes *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__SetParameterAttributes, SOAP_TYPE__cwmp__SetParameterAttributes, sizeof(struct _cwmp__SetParameterAttributes), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__SetParameterAttributes * SOAP_FMAC2 soap_instantiate__cwmp__SetParameterAttributes(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SetParameterAttributes(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SetParameterAttributes *p;
	size_t k = sizeof(struct _cwmp__SetParameterAttributes);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SetParameterAttributes, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SetParameterAttributes);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SetParameterAttributes, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SetParameterAttributes location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SetParameterAttributes(struct soap *soap, const struct _cwmp__SetParameterAttributes *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SetParameterAttributes(soap, tag ? tag : "cwmp:SetParameterAttributes", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributes * SOAP_FMAC4 soap_get__cwmp__SetParameterAttributes(struct soap *soap, struct _cwmp__SetParameterAttributes *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SetParameterAttributes(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_ParameterInfoList(struct soap *soap, struct ParameterInfoList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrParameterInfoStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ParameterInfoList(struct soap *soap, const struct ParameterInfoList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrParameterInfoStruct && !soap_array_reference(soap, a, a->__ptrParameterInfoStruct, a->__size, SOAP_TYPE_ParameterInfoList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__ParameterInfoStruct(soap, a->__ptrParameterInfoStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_ParameterInfoList(struct soap *soap, const char *tag, int id, const struct ParameterInfoList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrParameterInfoStruct ? soap_putsizesoffsets(soap, "cwmp:ParameterInfoStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrParameterInfoStruct, a->__size, type, SOAP_TYPE_ParameterInfoList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__ParameterInfoStruct(soap, "ParameterInfoStruct", -1, &a->__ptrParameterInfoStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct ParameterInfoList * SOAP_FMAC4 soap_in_ParameterInfoList(struct soap *soap, const char *tag, struct ParameterInfoList *a, const char *type)
{
	int i, j;
	struct cwmp__ParameterInfoStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct ParameterInfoList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ParameterInfoList, sizeof(struct ParameterInfoList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_ParameterInfoList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrParameterInfoStruct = (struct cwmp__ParameterInfoStruct **)soap_malloc(soap, sizeof(struct cwmp__ParameterInfoStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrParameterInfoStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__ParameterInfoStruct(soap, NULL, a->__ptrParameterInfoStruct + i, "cwmp:ParameterInfoStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__ParameterInfoStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__ParameterInfoStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__ParameterInfoStruct(soap, NULL, p, "cwmp:ParameterInfoStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrParameterInfoStruct = (struct cwmp__ParameterInfoStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct ParameterInfoList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ParameterInfoList, SOAP_TYPE_ParameterInfoList, sizeof(struct ParameterInfoList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct ParameterInfoList * SOAP_FMAC2 soap_instantiate_ParameterInfoList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ParameterInfoList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct ParameterInfoList *p;
	size_t k = sizeof(struct ParameterInfoList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_ParameterInfoList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct ParameterInfoList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct ParameterInfoList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct ParameterInfoList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_ParameterInfoList(struct soap *soap, const struct ParameterInfoList *a, const char *tag, const char *type)
{
	if (soap_out_ParameterInfoList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterInfoList * SOAP_FMAC4 soap_get_ParameterInfoList(struct soap *soap, struct ParameterInfoList *p, const char *tag, const char *type)
{
	if ((p = soap_in_ParameterInfoList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetParameterNamesResponse(struct soap *soap, struct _cwmp__GetParameterNamesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->ParameterList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetParameterNamesResponse(struct soap *soap, const struct _cwmp__GetParameterNamesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToParameterInfoList(soap, &a->ParameterList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetParameterNamesResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__GetParameterNamesResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetParameterNamesResponse), type))
		return soap->error;
	if (!a->ParameterList)
	{	if (soap_element_empty(soap, "ParameterList"))
			return soap->error;
	}
	else if (soap_out_PointerToParameterInfoList(soap, "ParameterList", -1, &a->ParameterList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetParameterNamesResponse * SOAP_FMAC4 soap_in__cwmp__GetParameterNamesResponse(struct soap *soap, const char *tag, struct _cwmp__GetParameterNamesResponse *a, const char *type)
{
	size_t soap_flag_ParameterList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetParameterNamesResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetParameterNamesResponse, sizeof(struct _cwmp__GetParameterNamesResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetParameterNamesResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToParameterInfoList(soap, "ParameterList", &a->ParameterList, "cwmp:ParameterInfoStruct"))
				{	soap_flag_ParameterList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterNamesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetParameterNamesResponse, SOAP_TYPE__cwmp__GetParameterNamesResponse, sizeof(struct _cwmp__GetParameterNamesResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetParameterNamesResponse * SOAP_FMAC2 soap_instantiate__cwmp__GetParameterNamesResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetParameterNamesResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetParameterNamesResponse *p;
	size_t k = sizeof(struct _cwmp__GetParameterNamesResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetParameterNamesResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetParameterNamesResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetParameterNamesResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetParameterNamesResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetParameterNamesResponse(struct soap *soap, const struct _cwmp__GetParameterNamesResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetParameterNamesResponse(soap, tag ? tag : "cwmp:GetParameterNamesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterNamesResponse * SOAP_FMAC4 soap_get__cwmp__GetParameterNamesResponse(struct soap *soap, struct _cwmp__GetParameterNamesResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetParameterNamesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetParameterNames(struct soap *soap, struct _cwmp__GetParameterNames *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->ParameterPath);
	soap_default_xsd__boolean(soap, &a->NextLevel);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetParameterNames(struct soap *soap, const struct _cwmp__GetParameterNames *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->ParameterPath);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetParameterNames(struct soap *soap, const char *tag, int id, const struct _cwmp__GetParameterNames *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetParameterNames), type))
		return soap->error;
	if (!a->ParameterPath)
	{	if (soap_element_empty(soap, "ParameterPath"))
			return soap->error;
	}
	else if (soap_out_string(soap, "ParameterPath", -1, (char*const*)&a->ParameterPath, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "NextLevel", -1, &a->NextLevel, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetParameterNames * SOAP_FMAC4 soap_in__cwmp__GetParameterNames(struct soap *soap, const char *tag, struct _cwmp__GetParameterNames *a, const char *type)
{
	size_t soap_flag_ParameterPath = 1;
	size_t soap_flag_NextLevel = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetParameterNames*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetParameterNames, sizeof(struct _cwmp__GetParameterNames), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetParameterNames(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterPath && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "ParameterPath", (char**)&a->ParameterPath, "xsd:string"))
				{	soap_flag_ParameterPath--;
					continue;
				}
			}
			if (soap_flag_NextLevel && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "NextLevel", &a->NextLevel, "xsd:boolean"))
				{	soap_flag_NextLevel--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterPath || soap_flag_NextLevel > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterNames *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetParameterNames, SOAP_TYPE__cwmp__GetParameterNames, sizeof(struct _cwmp__GetParameterNames), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetParameterNames * SOAP_FMAC2 soap_instantiate__cwmp__GetParameterNames(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetParameterNames(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetParameterNames *p;
	size_t k = sizeof(struct _cwmp__GetParameterNames);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetParameterNames, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetParameterNames);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetParameterNames, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetParameterNames location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetParameterNames(struct soap *soap, const struct _cwmp__GetParameterNames *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetParameterNames(soap, tag ? tag : "cwmp:GetParameterNames", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterNames * SOAP_FMAC4 soap_get__cwmp__GetParameterNames(struct soap *soap, struct _cwmp__GetParameterNames *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetParameterNames(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetParameterValuesResponse(struct soap *soap, struct _cwmp__GetParameterValuesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->ParameterList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetParameterValuesResponse(struct soap *soap, const struct _cwmp__GetParameterValuesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToParameterValueList(soap, &a->ParameterList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetParameterValuesResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__GetParameterValuesResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetParameterValuesResponse), type))
		return soap->error;
	if (!a->ParameterList)
	{	if (soap_element_empty(soap, "ParameterList"))
			return soap->error;
	}
	else if (soap_out_PointerToParameterValueList(soap, "ParameterList", -1, &a->ParameterList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetParameterValuesResponse * SOAP_FMAC4 soap_in__cwmp__GetParameterValuesResponse(struct soap *soap, const char *tag, struct _cwmp__GetParameterValuesResponse *a, const char *type)
{
	size_t soap_flag_ParameterList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetParameterValuesResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetParameterValuesResponse, sizeof(struct _cwmp__GetParameterValuesResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetParameterValuesResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToParameterValueList(soap, "ParameterList", &a->ParameterList, "cwmp:ParameterValueStruct"))
				{	soap_flag_ParameterList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterValuesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetParameterValuesResponse, SOAP_TYPE__cwmp__GetParameterValuesResponse, sizeof(struct _cwmp__GetParameterValuesResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetParameterValuesResponse * SOAP_FMAC2 soap_instantiate__cwmp__GetParameterValuesResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetParameterValuesResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetParameterValuesResponse *p;
	size_t k = sizeof(struct _cwmp__GetParameterValuesResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetParameterValuesResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetParameterValuesResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetParameterValuesResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetParameterValuesResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetParameterValuesResponse(struct soap *soap, const struct _cwmp__GetParameterValuesResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetParameterValuesResponse(soap, tag ? tag : "cwmp:GetParameterValuesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterValuesResponse * SOAP_FMAC4 soap_get__cwmp__GetParameterValuesResponse(struct soap *soap, struct _cwmp__GetParameterValuesResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetParameterValuesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_ParameterNames(struct soap *soap, struct ParameterNames *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrstring = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ParameterNames(struct soap *soap, const struct ParameterNames *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrstring && !soap_array_reference(soap, a, a->__ptrstring, a->__size, SOAP_TYPE_ParameterNames))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_string(soap, (char*const*)(a->__ptrstring + i));
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_ParameterNames(struct soap *soap, const char *tag, int id, const struct ParameterNames *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrstring ? soap_putsizesoffsets(soap, "xsd:string", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrstring, a->__size, type, SOAP_TYPE_ParameterNames, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_string(soap, "string", -1, (char*const*)&a->__ptrstring[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct ParameterNames * SOAP_FMAC4 soap_in_ParameterNames(struct soap *soap, const char *tag, struct ParameterNames *a, const char *type)
{
	int i, j;
	char **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct ParameterNames*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ParameterNames, sizeof(struct ParameterNames), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_ParameterNames(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrstring = (char **)soap_malloc(soap, sizeof(char *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrstring[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_string(soap, NULL, (char**)(a->__ptrstring + i), "xsd:string"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (char **)soap_push_block(soap, NULL, sizeof(char *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_string(soap, NULL, p, "xsd:string"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrstring = (char **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct ParameterNames *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ParameterNames, SOAP_TYPE_ParameterNames, sizeof(struct ParameterNames), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct ParameterNames * SOAP_FMAC2 soap_instantiate_ParameterNames(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ParameterNames(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct ParameterNames *p;
	size_t k = sizeof(struct ParameterNames);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_ParameterNames, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct ParameterNames);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct ParameterNames, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct ParameterNames location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_ParameterNames(struct soap *soap, const struct ParameterNames *a, const char *tag, const char *type)
{
	if (soap_out_ParameterNames(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterNames * SOAP_FMAC4 soap_get_ParameterNames(struct soap *soap, struct ParameterNames *p, const char *tag, const char *type)
{
	if ((p = soap_in_ParameterNames(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetParameterValues(struct soap *soap, struct _cwmp__GetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->ParameterNames = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetParameterValues(struct soap *soap, const struct _cwmp__GetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToParameterNames(soap, &a->ParameterNames);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetParameterValues(struct soap *soap, const char *tag, int id, const struct _cwmp__GetParameterValues *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetParameterValues), type))
		return soap->error;
	if (!a->ParameterNames)
	{	if (soap_element_empty(soap, "ParameterNames"))
			return soap->error;
	}
	else if (soap_out_PointerToParameterNames(soap, "ParameterNames", -1, &a->ParameterNames, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetParameterValues * SOAP_FMAC4 soap_in__cwmp__GetParameterValues(struct soap *soap, const char *tag, struct _cwmp__GetParameterValues *a, const char *type)
{
	size_t soap_flag_ParameterNames = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetParameterValues*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetParameterValues, sizeof(struct _cwmp__GetParameterValues), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetParameterValues(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterNames && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToParameterNames(soap, "ParameterNames", &a->ParameterNames, "xsd:string"))
				{	soap_flag_ParameterNames--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterNames))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterValues *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetParameterValues, SOAP_TYPE__cwmp__GetParameterValues, sizeof(struct _cwmp__GetParameterValues), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetParameterValues * SOAP_FMAC2 soap_instantiate__cwmp__GetParameterValues(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetParameterValues(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetParameterValues *p;
	size_t k = sizeof(struct _cwmp__GetParameterValues);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetParameterValues, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetParameterValues);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetParameterValues, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetParameterValues location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetParameterValues(struct soap *soap, const struct _cwmp__GetParameterValues *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetParameterValues(soap, tag ? tag : "cwmp:GetParameterValues", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterValues * SOAP_FMAC4 soap_get__cwmp__GetParameterValues(struct soap *soap, struct _cwmp__GetParameterValues *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetParameterValues(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SetParameterValuesResponse(struct soap *soap, struct _cwmp__SetParameterValuesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default__cwmp__SetParameterValuesResponse_Status(soap, &a->Status);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SetParameterValuesResponse(struct soap *soap, const struct _cwmp__SetParameterValuesResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SetParameterValuesResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__SetParameterValuesResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__SetParameterValuesResponse), type))
		return soap->error;
	if (soap_out__cwmp__SetParameterValuesResponse_Status(soap, "Status", -1, &a->Status, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__SetParameterValuesResponse * SOAP_FMAC4 soap_in__cwmp__SetParameterValuesResponse(struct soap *soap, const char *tag, struct _cwmp__SetParameterValuesResponse *a, const char *type)
{
	size_t soap_flag_Status = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__SetParameterValuesResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SetParameterValuesResponse, sizeof(struct _cwmp__SetParameterValuesResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__SetParameterValuesResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Status && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__SetParameterValuesResponse_Status(soap, "Status", &a->Status, "cwmp:SetParameterValuesResponse-Status"))
				{	soap_flag_Status--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_Status > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__SetParameterValuesResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__SetParameterValuesResponse, SOAP_TYPE__cwmp__SetParameterValuesResponse, sizeof(struct _cwmp__SetParameterValuesResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__SetParameterValuesResponse * SOAP_FMAC2 soap_instantiate__cwmp__SetParameterValuesResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SetParameterValuesResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SetParameterValuesResponse *p;
	size_t k = sizeof(struct _cwmp__SetParameterValuesResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SetParameterValuesResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SetParameterValuesResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SetParameterValuesResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SetParameterValuesResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SetParameterValuesResponse(struct soap *soap, const struct _cwmp__SetParameterValuesResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SetParameterValuesResponse(soap, tag ? tag : "cwmp:SetParameterValuesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterValuesResponse * SOAP_FMAC4 soap_get__cwmp__SetParameterValuesResponse(struct soap *soap, struct _cwmp__SetParameterValuesResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SetParameterValuesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_ParameterValueList(struct soap *soap, struct ParameterValueList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrParameterValueStruct = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ParameterValueList(struct soap *soap, const struct ParameterValueList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrParameterValueStruct && !soap_array_reference(soap, a, a->__ptrParameterValueStruct, a->__size, SOAP_TYPE_ParameterValueList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_PointerTocwmp__ParameterValueStruct(soap, a->__ptrParameterValueStruct + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_ParameterValueList(struct soap *soap, const char *tag, int id, const struct ParameterValueList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrParameterValueStruct ? soap_putsizesoffsets(soap, "cwmp:ParameterValueStruct", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrParameterValueStruct, a->__size, type, SOAP_TYPE_ParameterValueList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_PointerTocwmp__ParameterValueStruct(soap, "ParameterValueStruct", -1, &a->__ptrParameterValueStruct[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct ParameterValueList * SOAP_FMAC4 soap_in_ParameterValueList(struct soap *soap, const char *tag, struct ParameterValueList *a, const char *type)
{
	int i, j;
	struct cwmp__ParameterValueStruct **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct ParameterValueList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ParameterValueList, sizeof(struct ParameterValueList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_ParameterValueList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrParameterValueStruct = (struct cwmp__ParameterValueStruct **)soap_malloc(soap, sizeof(struct cwmp__ParameterValueStruct *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrParameterValueStruct[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_PointerTocwmp__ParameterValueStruct(soap, NULL, a->__ptrParameterValueStruct + i, "cwmp:ParameterValueStruct"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (struct cwmp__ParameterValueStruct **)soap_push_block(soap, NULL, sizeof(struct cwmp__ParameterValueStruct *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_PointerTocwmp__ParameterValueStruct(soap, NULL, p, "cwmp:ParameterValueStruct"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrParameterValueStruct = (struct cwmp__ParameterValueStruct **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct ParameterValueList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ParameterValueList, SOAP_TYPE_ParameterValueList, sizeof(struct ParameterValueList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct ParameterValueList * SOAP_FMAC2 soap_instantiate_ParameterValueList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ParameterValueList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct ParameterValueList *p;
	size_t k = sizeof(struct ParameterValueList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_ParameterValueList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct ParameterValueList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct ParameterValueList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct ParameterValueList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_ParameterValueList(struct soap *soap, const struct ParameterValueList *a, const char *tag, const char *type)
{
	if (soap_out_ParameterValueList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterValueList * SOAP_FMAC4 soap_get_ParameterValueList(struct soap *soap, struct ParameterValueList *p, const char *tag, const char *type)
{
	if ((p = soap_in_ParameterValueList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__SetParameterValues(struct soap *soap, struct _cwmp__SetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->ParameterList = NULL;
	soap_default_cwmp__ParameterKeyType(soap, &a->ParameterKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__SetParameterValues(struct soap *soap, const struct _cwmp__SetParameterValues *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToParameterValueList(soap, &a->ParameterList);
	soap_serialize_cwmp__ParameterKeyType(soap, (char*const*)&a->ParameterKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__SetParameterValues(struct soap *soap, const char *tag, int id, const struct _cwmp__SetParameterValues *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__SetParameterValues), type))
		return soap->error;
	if (!a->ParameterList)
	{	if (soap_element_empty(soap, "ParameterList"))
			return soap->error;
	}
	else if (soap_out_PointerToParameterValueList(soap, "ParameterList", -1, &a->ParameterList, ""))
		return soap->error;
	if (!a->ParameterKey)
	{	if (soap_element_empty(soap, "ParameterKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__ParameterKeyType(soap, "ParameterKey", -1, (char*const*)&a->ParameterKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__SetParameterValues * SOAP_FMAC4 soap_in__cwmp__SetParameterValues(struct soap *soap, const char *tag, struct _cwmp__SetParameterValues *a, const char *type)
{
	size_t soap_flag_ParameterList = 1;
	size_t soap_flag_ParameterKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__SetParameterValues*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__SetParameterValues, sizeof(struct _cwmp__SetParameterValues), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__SetParameterValues(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToParameterValueList(soap, "ParameterList", &a->ParameterList, "cwmp:ParameterValueStruct"))
				{	soap_flag_ParameterList--;
					continue;
				}
			}
			if (soap_flag_ParameterKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__ParameterKeyType(soap, "ParameterKey", (char**)&a->ParameterKey, "cwmp:ParameterKeyType"))
				{	soap_flag_ParameterKey--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterList || !a->ParameterKey))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__SetParameterValues *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__SetParameterValues, SOAP_TYPE__cwmp__SetParameterValues, sizeof(struct _cwmp__SetParameterValues), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__SetParameterValues * SOAP_FMAC2 soap_instantiate__cwmp__SetParameterValues(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__SetParameterValues(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__SetParameterValues *p;
	size_t k = sizeof(struct _cwmp__SetParameterValues);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__SetParameterValues, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__SetParameterValues);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__SetParameterValues, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__SetParameterValues location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__SetParameterValues(struct soap *soap, const struct _cwmp__SetParameterValues *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__SetParameterValues(soap, tag ? tag : "cwmp:SetParameterValues", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterValues * SOAP_FMAC4 soap_get__cwmp__SetParameterValues(struct soap *soap, struct _cwmp__SetParameterValues *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__SetParameterValues(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_MethodList(struct soap *soap, struct MethodList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrstring = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_MethodList(struct soap *soap, const struct MethodList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrstring && !soap_array_reference(soap, a, a->__ptrstring, a->__size, SOAP_TYPE_MethodList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{
			soap_serialize_string(soap, (char*const*)(a->__ptrstring + i));
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_MethodList(struct soap *soap, const char *tag, int id, const struct MethodList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrstring ? soap_putsizesoffsets(soap, "xsd:string", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrstring, a->__size, type, SOAP_TYPE_MethodList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_string(soap, "string", -1, (char*const*)&a->__ptrstring[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct MethodList * SOAP_FMAC4 soap_in_MethodList(struct soap *soap, const char *tag, struct MethodList *a, const char *type)
{
	int i, j;
	char **p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct MethodList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_MethodList, sizeof(struct MethodList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_MethodList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrstring = (char **)soap_malloc(soap, sizeof(char *) * a->__size);
			for (i = 0; i < a->__size; i++)
				a->__ptrstring[i] = NULL;
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_string(soap, NULL, (char**)(a->__ptrstring + i), "xsd:string"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (char **)soap_push_block(soap, NULL, sizeof(char *));
				if (!p)
					break;
				*p = NULL;
				if (!soap_in_string(soap, NULL, p, "xsd:string"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrstring = (char **)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct MethodList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_MethodList, SOAP_TYPE_MethodList, sizeof(struct MethodList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct MethodList * SOAP_FMAC2 soap_instantiate_MethodList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_MethodList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct MethodList *p;
	size_t k = sizeof(struct MethodList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_MethodList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct MethodList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct MethodList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct MethodList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_MethodList(struct soap *soap, const struct MethodList *a, const char *tag, const char *type)
{
	if (soap_out_MethodList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct MethodList * SOAP_FMAC4 soap_get_MethodList(struct soap *soap, struct MethodList *p, const char *tag, const char *type)
{
	if ((p = soap_in_MethodList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetRPCMethodsResponse(struct soap *soap, struct _cwmp__GetRPCMethodsResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	a->MethodList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetRPCMethodsResponse(struct soap *soap, const struct _cwmp__GetRPCMethodsResponse *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_PointerToMethodList(soap, &a->MethodList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetRPCMethodsResponse(struct soap *soap, const char *tag, int id, const struct _cwmp__GetRPCMethodsResponse *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetRPCMethodsResponse), type))
		return soap->error;
	if (!a->MethodList)
	{	if (soap_element_empty(soap, "MethodList"))
			return soap->error;
	}
	else if (soap_out_PointerToMethodList(soap, "MethodList", -1, &a->MethodList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethodsResponse * SOAP_FMAC4 soap_in__cwmp__GetRPCMethodsResponse(struct soap *soap, const char *tag, struct _cwmp__GetRPCMethodsResponse *a, const char *type)
{
	size_t soap_flag_MethodList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetRPCMethodsResponse*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetRPCMethodsResponse, sizeof(struct _cwmp__GetRPCMethodsResponse), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetRPCMethodsResponse(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_MethodList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToMethodList(soap, "MethodList", &a->MethodList, "xsd:string"))
				{	soap_flag_MethodList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->MethodList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__GetRPCMethodsResponse *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetRPCMethodsResponse, SOAP_TYPE__cwmp__GetRPCMethodsResponse, sizeof(struct _cwmp__GetRPCMethodsResponse), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetRPCMethodsResponse * SOAP_FMAC2 soap_instantiate__cwmp__GetRPCMethodsResponse(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetRPCMethodsResponse(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetRPCMethodsResponse *p;
	size_t k = sizeof(struct _cwmp__GetRPCMethodsResponse);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetRPCMethodsResponse, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetRPCMethodsResponse);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetRPCMethodsResponse, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetRPCMethodsResponse location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetRPCMethodsResponse(struct soap *soap, const struct _cwmp__GetRPCMethodsResponse *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetRPCMethodsResponse(soap, tag ? tag : "cwmp:GetRPCMethodsResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethodsResponse * SOAP_FMAC4 soap_get__cwmp__GetRPCMethodsResponse(struct soap *soap, struct _cwmp__GetRPCMethodsResponse *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetRPCMethodsResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__GetRPCMethods(struct soap *soap, struct _cwmp__GetRPCMethods *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__GetRPCMethods(struct soap *soap, const struct _cwmp__GetRPCMethods *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__GetRPCMethods(struct soap *soap, const char *tag, int id, const struct _cwmp__GetRPCMethods *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__GetRPCMethods), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethods * SOAP_FMAC4 soap_in__cwmp__GetRPCMethods(struct soap *soap, const char *tag, struct _cwmp__GetRPCMethods *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__GetRPCMethods*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__GetRPCMethods, sizeof(struct _cwmp__GetRPCMethods), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__GetRPCMethods(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 _cwmp__GetRPCMethods *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__GetRPCMethods, SOAP_TYPE__cwmp__GetRPCMethods, sizeof(struct _cwmp__GetRPCMethods), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__GetRPCMethods * SOAP_FMAC2 soap_instantiate__cwmp__GetRPCMethods(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__GetRPCMethods(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__GetRPCMethods *p;
	size_t k = sizeof(struct _cwmp__GetRPCMethods);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__GetRPCMethods, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__GetRPCMethods);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__GetRPCMethods, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__GetRPCMethods location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__GetRPCMethods(struct soap *soap, const struct _cwmp__GetRPCMethods *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__GetRPCMethods(soap, tag ? tag : "cwmp:GetRPCMethods", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethods * SOAP_FMAC4 soap_get__cwmp__GetRPCMethods(struct soap *soap, struct _cwmp__GetRPCMethods *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__GetRPCMethods(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__Fault_SetParameterValuesFault(struct soap *soap, struct _cwmp__Fault_SetParameterValuesFault *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->ParameterName);
	soap_default_string(soap, &a->FaultCode);
	soap_default_string(soap, &a->FaultString);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__Fault_SetParameterValuesFault(struct soap *soap, const struct _cwmp__Fault_SetParameterValuesFault *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->ParameterName);
	soap_serialize_string(soap, (char*const*)&a->FaultCode);
	soap_serialize_string(soap, (char*const*)&a->FaultString);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__Fault_SetParameterValuesFault(struct soap *soap, const char *tag, int id, const struct _cwmp__Fault_SetParameterValuesFault *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault), type))
		return soap->error;
	if (!a->ParameterName)
	{	if (soap_element_empty(soap, "ParameterName"))
			return soap->error;
	}
	else if (soap_out_string(soap, "ParameterName", -1, (char*const*)&a->ParameterName, ""))
		return soap->error;
	if (!a->FaultCode)
	{	if (soap_element_empty(soap, "FaultCode"))
			return soap->error;
	}
	else if (soap_out_string(soap, "FaultCode", -1, (char*const*)&a->FaultCode, ""))
		return soap->error;
	if (soap_out_string(soap, "FaultString", -1, (char*const*)&a->FaultString, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__Fault_SetParameterValuesFault * SOAP_FMAC4 soap_in__cwmp__Fault_SetParameterValuesFault(struct soap *soap, const char *tag, struct _cwmp__Fault_SetParameterValuesFault *a, const char *type)
{
	size_t soap_flag_ParameterName = 1;
	size_t soap_flag_FaultCode = 1;
	size_t soap_flag_FaultString = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__Fault_SetParameterValuesFault*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault, sizeof(struct _cwmp__Fault_SetParameterValuesFault), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__Fault_SetParameterValuesFault(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_ParameterName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "ParameterName", (char**)&a->ParameterName, "xsd:string"))
				{	soap_flag_ParameterName--;
					continue;
				}
			}
			if (soap_flag_FaultCode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultCode", (char**)&a->FaultCode, "xsd:string"))
				{	soap_flag_FaultCode--;
					continue;
				}
			}
			if (soap_flag_FaultString && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultString", (char**)&a->FaultString, "xsd:string"))
				{	soap_flag_FaultString--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->ParameterName || !a->FaultCode))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__Fault_SetParameterValuesFault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault, sizeof(struct _cwmp__Fault_SetParameterValuesFault), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__Fault_SetParameterValuesFault * SOAP_FMAC2 soap_instantiate__cwmp__Fault_SetParameterValuesFault(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__Fault_SetParameterValuesFault(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__Fault_SetParameterValuesFault *p;
	size_t k = sizeof(struct _cwmp__Fault_SetParameterValuesFault);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__Fault_SetParameterValuesFault);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__Fault_SetParameterValuesFault, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__Fault_SetParameterValuesFault location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__Fault_SetParameterValuesFault(struct soap *soap, const struct _cwmp__Fault_SetParameterValuesFault *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__Fault_SetParameterValuesFault(soap, tag ? tag : "cwmp:Fault-SetParameterValuesFault", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Fault_SetParameterValuesFault * SOAP_FMAC4 soap_get__cwmp__Fault_SetParameterValuesFault(struct soap *soap, struct _cwmp__Fault_SetParameterValuesFault *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__Fault_SetParameterValuesFault(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default__cwmp__Fault(struct soap *soap, struct _cwmp__Fault *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->FaultCode);
	soap_default_string(soap, &a->FaultString);
	a->__sizeSetParameterValuesFault = 0;
	a->SetParameterValuesFault = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__cwmp__Fault(struct soap *soap, const struct _cwmp__Fault *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->FaultCode);
	soap_serialize_string(soap, (char*const*)&a->FaultString);
	if (a->SetParameterValuesFault)
	{	int i;
		for (i = 0; i < (int)a->__sizeSetParameterValuesFault; i++)
		{
			soap_embedded(soap, a->SetParameterValuesFault + i, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault);
			soap_serialize__cwmp__Fault_SetParameterValuesFault(soap, a->SetParameterValuesFault + i);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out__cwmp__Fault(struct soap *soap, const char *tag, int id, const struct _cwmp__Fault *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE__cwmp__Fault), type))
		return soap->error;
	if (!a->FaultCode)
	{	if (soap_element_empty(soap, "FaultCode"))
			return soap->error;
	}
	else if (soap_out_string(soap, "FaultCode", -1, (char*const*)&a->FaultCode, ""))
		return soap->error;
	if (soap_out_string(soap, "FaultString", -1, (char*const*)&a->FaultString, ""))
		return soap->error;
	if (a->SetParameterValuesFault)
	{	int i;
		for (i = 0; i < (int)a->__sizeSetParameterValuesFault; i++)
			if (soap_out__cwmp__Fault_SetParameterValuesFault(soap, "SetParameterValuesFault", -1, a->SetParameterValuesFault + i, ""))
				return soap->error;
	}
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct _cwmp__Fault * SOAP_FMAC4 soap_in__cwmp__Fault(struct soap *soap, const char *tag, struct _cwmp__Fault *a, const char *type)
{
	size_t soap_flag_FaultCode = 1;
	size_t soap_flag_FaultString = 1;
	struct soap_blist *soap_blist_SetParameterValuesFault = NULL;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct _cwmp__Fault*)soap_id_enter(soap, soap->id, a, SOAP_TYPE__cwmp__Fault, sizeof(struct _cwmp__Fault), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default__cwmp__Fault(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_FaultCode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultCode", (char**)&a->FaultCode, "xsd:string"))
				{	soap_flag_FaultCode--;
					continue;
				}
			}
			if (soap_flag_FaultString && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultString", (char**)&a->FaultString, "xsd:string"))
				{	soap_flag_FaultString--;
					continue;
				}
			}
			if (soap->error == SOAP_TAG_MISMATCH && !soap_element_begin_in(soap, "SetParameterValuesFault", 1, NULL))
			{	if (a->SetParameterValuesFault == NULL)
				{	if (soap_blist_SetParameterValuesFault == NULL)
						soap_blist_SetParameterValuesFault = soap_alloc_block(soap);
					a->SetParameterValuesFault = soap_block<struct _cwmp__Fault_SetParameterValuesFault>::push(soap, soap_blist_SetParameterValuesFault);
					if (a->SetParameterValuesFault == NULL)
						return NULL;
					soap_default__cwmp__Fault_SetParameterValuesFault(soap, a->SetParameterValuesFault);
				}
				soap_revert(soap);
				if (soap_in__cwmp__Fault_SetParameterValuesFault(soap, "SetParameterValuesFault", a->SetParameterValuesFault, ""))
				{	a->__sizeSetParameterValuesFault++;
					a->SetParameterValuesFault = NULL;
					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 (a->SetParameterValuesFault)
			soap_block<struct _cwmp__Fault_SetParameterValuesFault>::pop(soap, soap_blist_SetParameterValuesFault);
		if (a->__sizeSetParameterValuesFault)
		{	a->SetParameterValuesFault = soap_new__cwmp__Fault_SetParameterValuesFault(soap, a->__sizeSetParameterValuesFault);
			if (!a->SetParameterValuesFault)
				return NULL;
			soap_block<struct _cwmp__Fault_SetParameterValuesFault>::save(soap, soap_blist_SetParameterValuesFault, a->SetParameterValuesFault);
		}
		else
		{	a->SetParameterValuesFault = NULL;
			if (soap_blist_SetParameterValuesFault)
				soap_block<struct _cwmp__Fault_SetParameterValuesFault>::end(soap, soap_blist_SetParameterValuesFault);
		}
		if (soap_element_end_in(soap, tag))
			return NULL;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->FaultCode))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct _cwmp__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE__cwmp__Fault, SOAP_TYPE__cwmp__Fault, sizeof(struct _cwmp__Fault), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct _cwmp__Fault * SOAP_FMAC2 soap_instantiate__cwmp__Fault(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate__cwmp__Fault(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct _cwmp__Fault *p;
	size_t k = sizeof(struct _cwmp__Fault);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE__cwmp__Fault, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct _cwmp__Fault);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct _cwmp__Fault, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct _cwmp__Fault location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__cwmp__Fault(struct soap *soap, const struct _cwmp__Fault *a, const char *tag, const char *type)
{
	if (soap_out__cwmp__Fault(soap, tag ? tag : "cwmp:Fault", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Fault * SOAP_FMAC4 soap_get__cwmp__Fault(struct soap *soap, struct _cwmp__Fault *p, const char *tag, const char *type)
{
	if ((p = soap_in__cwmp__Fault(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->Name);
	soap_default_string(soap, &a->Value);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__ArgStruct(struct soap *soap, const struct cwmp__ArgStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->Name);
	soap_serialize_string(soap, (char*const*)&a->Value);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ArgStruct(struct soap *soap, const char *tag, int id, const struct cwmp__ArgStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__ArgStruct), type))
		return soap->error;
	if (!a->Name)
	{	if (soap_element_empty(soap, "Name"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Name", -1, (char*const*)&a->Name, ""))
		return soap->error;
	if (!a->Value)
	{	if (soap_element_empty(soap, "Value"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Value", -1, (char*const*)&a->Value, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__ArgStruct * SOAP_FMAC4 soap_in_cwmp__ArgStruct(struct soap *soap, const char *tag, struct cwmp__ArgStruct *a, const char *type)
{
	size_t soap_flag_Name = 1;
	size_t soap_flag_Value = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__ArgStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__ArgStruct, sizeof(struct cwmp__ArgStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__ArgStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Name", (char**)&a->Name, "xsd:string"))
				{	soap_flag_Name--;
					continue;
				}
			}
			if (soap_flag_Value && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Value", (char**)&a->Value, "xsd:string"))
				{	soap_flag_Value--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->Name || !a->Value))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__ArgStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__ArgStruct, SOAP_TYPE_cwmp__ArgStruct, sizeof(struct cwmp__ArgStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__ArgStruct * SOAP_FMAC2 soap_instantiate_cwmp__ArgStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__ArgStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__ArgStruct *p;
	size_t k = sizeof(struct cwmp__ArgStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__ArgStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__ArgStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__ArgStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__ArgStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ArgStruct(struct soap *soap, const struct cwmp__ArgStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ArgStruct(soap, tag ? tag : "cwmp:ArgStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ArgStruct * SOAP_FMAC4 soap_get_cwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ArgStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->OptionName);
	soap_default_unsignedInt(soap, &a->VoucherSN);
	soap_default__cwmp__OptionStruct_State(soap, &a->State);
	soap_default__cwmp__OptionStruct_Mode(soap, &a->Mode);
	soap_default_dateTime(soap, &a->StartDate);
	a->ExpirationDate = NULL;
	soap_default__cwmp__OptionStruct_IsTransferable(soap, &a->IsTransferable);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__OptionStruct(struct soap *soap, const struct cwmp__OptionStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->OptionName);
	soap_embedded(soap, &a->StartDate, SOAP_TYPE_dateTime);
	soap_serialize_PointerTodateTime(soap, &a->ExpirationDate);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__OptionStruct(struct soap *soap, const char *tag, int id, const struct cwmp__OptionStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__OptionStruct), type))
		return soap->error;
	if (!a->OptionName)
	{	if (soap_element_empty(soap, "OptionName"))
			return soap->error;
	}
	else if (soap_out_string(soap, "OptionName", -1, (char*const*)&a->OptionName, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "VoucherSN", -1, &a->VoucherSN, ""))
		return soap->error;
	if (soap_out__cwmp__OptionStruct_State(soap, "State", -1, &a->State, ""))
		return soap->error;
	if (soap_out__cwmp__OptionStruct_Mode(soap, "Mode", -1, &a->Mode, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "StartDate", -1, &a->StartDate, ""))
		return soap->error;
	if (soap_out_PointerTodateTime(soap, "ExpirationDate", -1, &a->ExpirationDate, ""))
		return soap->error;
	if (soap_out__cwmp__OptionStruct_IsTransferable(soap, "IsTransferable", -1, &a->IsTransferable, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__OptionStruct * SOAP_FMAC4 soap_in_cwmp__OptionStruct(struct soap *soap, const char *tag, struct cwmp__OptionStruct *a, const char *type)
{
	size_t soap_flag_OptionName = 1;
	size_t soap_flag_VoucherSN = 1;
	size_t soap_flag_State = 1;
	size_t soap_flag_Mode = 1;
	size_t soap_flag_StartDate = 1;
	size_t soap_flag_ExpirationDate = 1;
	size_t soap_flag_IsTransferable = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__OptionStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__OptionStruct, sizeof(struct cwmp__OptionStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__OptionStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_OptionName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "OptionName", (char**)&a->OptionName, "xsd:string"))
				{	soap_flag_OptionName--;
					continue;
				}
			}
			if (soap_flag_VoucherSN && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "VoucherSN", &a->VoucherSN, "xsd:unsignedInt"))
				{	soap_flag_VoucherSN--;
					continue;
				}
			}
			if (soap_flag_State && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__OptionStruct_State(soap, "State", &a->State, "cwmp:OptionStruct-State"))
				{	soap_flag_State--;
					continue;
				}
			}
			if (soap_flag_Mode && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__OptionStruct_Mode(soap, "Mode", &a->Mode, "cwmp:OptionStruct-Mode"))
				{	soap_flag_Mode--;
					continue;
				}
			}
			if (soap_flag_StartDate && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "StartDate", &a->StartDate, "xsd:dateTime"))
				{	soap_flag_StartDate--;
					continue;
				}
			}
			if (soap_flag_ExpirationDate && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTodateTime(soap, "ExpirationDate", &a->ExpirationDate, "xsd:dateTime"))
				{	soap_flag_ExpirationDate--;
					continue;
				}
			}
			if (soap_flag_IsTransferable && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in__cwmp__OptionStruct_IsTransferable(soap, "IsTransferable", &a->IsTransferable, "cwmp:OptionStruct-IsTransferable"))
				{	soap_flag_IsTransferable--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->OptionName || soap_flag_VoucherSN > 0 || soap_flag_State > 0 || soap_flag_Mode > 0 || soap_flag_StartDate > 0 || soap_flag_IsTransferable > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__OptionStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__OptionStruct, SOAP_TYPE_cwmp__OptionStruct, sizeof(struct cwmp__OptionStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__OptionStruct * SOAP_FMAC2 soap_instantiate_cwmp__OptionStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__OptionStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__OptionStruct *p;
	size_t k = sizeof(struct cwmp__OptionStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__OptionStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__OptionStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__OptionStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__OptionStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__OptionStruct(struct soap *soap, const struct cwmp__OptionStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__OptionStruct(soap, tag ? tag : "cwmp:OptionStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__OptionStruct * SOAP_FMAC4 soap_get_cwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__OptionStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__OpResultStruct(struct soap *soap, struct cwmp__OpResultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__DeploymentUnitUUID(soap, &a->UUID);
	soap_default_string(soap, &a->DeploymentUnitRef);
	soap_default_string(soap, &a->Version);
	soap_default_cwmp__DeploymentUnitState(soap, &a->CurrentState);
	soap_default_xsd__boolean(soap, &a->Resolved);
	soap_default_string(soap, &a->ExecutionUnitRefList);
	soap_default_dateTime(soap, &a->StartTime);
	soap_default_dateTime(soap, &a->CompleteTime);
	a->Fault = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__OpResultStruct(struct soap *soap, const struct cwmp__OpResultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__DeploymentUnitUUID(soap, (char*const*)&a->UUID);
	soap_serialize_string(soap, (char*const*)&a->DeploymentUnitRef);
	soap_serialize_string(soap, (char*const*)&a->Version);
	soap_serialize_string(soap, (char*const*)&a->ExecutionUnitRefList);
	soap_embedded(soap, &a->StartTime, SOAP_TYPE_dateTime);
	soap_embedded(soap, &a->CompleteTime, SOAP_TYPE_dateTime);
	soap_serialize_PointerTocwmp__DeploymentUnitFaultStruct(soap, &a->Fault);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__OpResultStruct(struct soap *soap, const char *tag, int id, const struct cwmp__OpResultStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__OpResultStruct), type))
		return soap->error;
	if (!a->UUID)
	{	if (soap_element_empty(soap, "UUID"))
			return soap->error;
	}
	else if (soap_out_cwmp__DeploymentUnitUUID(soap, "UUID", -1, (char*const*)&a->UUID, ""))
		return soap->error;
	if (!a->DeploymentUnitRef)
	{	if (soap_element_empty(soap, "DeploymentUnitRef"))
			return soap->error;
	}
	else if (soap_out_string(soap, "DeploymentUnitRef", -1, (char*const*)&a->DeploymentUnitRef, ""))
		return soap->error;
	if (!a->Version)
	{	if (soap_element_empty(soap, "Version"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Version", -1, (char*const*)&a->Version, ""))
		return soap->error;
	if (soap_out_cwmp__DeploymentUnitState(soap, "CurrentState", -1, &a->CurrentState, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "Resolved", -1, &a->Resolved, ""))
		return soap->error;
	if (!a->ExecutionUnitRefList)
	{	if (soap_element_empty(soap, "ExecutionUnitRefList"))
			return soap->error;
	}
	else if (soap_out_string(soap, "ExecutionUnitRefList", -1, (char*const*)&a->ExecutionUnitRefList, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "StartTime", -1, &a->StartTime, ""))
		return soap->error;
	if (soap_out_dateTime(soap, "CompleteTime", -1, &a->CompleteTime, ""))
		return soap->error;
	if (!a->Fault)
	{	if (soap_element_empty(soap, "Fault"))
			return soap->error;
	}
	else if (soap_out_PointerTocwmp__DeploymentUnitFaultStruct(soap, "Fault", -1, &a->Fault, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__OpResultStruct * SOAP_FMAC4 soap_in_cwmp__OpResultStruct(struct soap *soap, const char *tag, struct cwmp__OpResultStruct *a, const char *type)
{
	size_t soap_flag_UUID = 1;
	size_t soap_flag_DeploymentUnitRef = 1;
	size_t soap_flag_Version = 1;
	size_t soap_flag_CurrentState = 1;
	size_t soap_flag_Resolved = 1;
	size_t soap_flag_ExecutionUnitRefList = 1;
	size_t soap_flag_StartTime = 1;
	size_t soap_flag_CompleteTime = 1;
	size_t soap_flag_Fault = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__OpResultStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__OpResultStruct, sizeof(struct cwmp__OpResultStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__OpResultStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_UUID && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__DeploymentUnitUUID(soap, "UUID", (char**)&a->UUID, "cwmp:DeploymentUnitUUID"))
				{	soap_flag_UUID--;
					continue;
				}
			}
			if (soap_flag_DeploymentUnitRef && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "DeploymentUnitRef", (char**)&a->DeploymentUnitRef, "xsd:string"))
				{	soap_flag_DeploymentUnitRef--;
					continue;
				}
			}
			if (soap_flag_Version && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Version", (char**)&a->Version, "xsd:string"))
				{	soap_flag_Version--;
					continue;
				}
			}
			if (soap_flag_CurrentState && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_cwmp__DeploymentUnitState(soap, "CurrentState", &a->CurrentState, "cwmp:DeploymentUnitState"))
				{	soap_flag_CurrentState--;
					continue;
				}
			}
			if (soap_flag_Resolved && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "Resolved", &a->Resolved, "xsd:boolean"))
				{	soap_flag_Resolved--;
					continue;
				}
			}
			if (soap_flag_ExecutionUnitRefList && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "ExecutionUnitRefList", (char**)&a->ExecutionUnitRefList, "xsd:string"))
				{	soap_flag_ExecutionUnitRefList--;
					continue;
				}
			}
			if (soap_flag_StartTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "StartTime", &a->StartTime, "xsd:dateTime"))
				{	soap_flag_StartTime--;
					continue;
				}
			}
			if (soap_flag_CompleteTime && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_dateTime(soap, "CompleteTime", &a->CompleteTime, "xsd:dateTime"))
				{	soap_flag_CompleteTime--;
					continue;
				}
			}
			if (soap_flag_Fault && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerTocwmp__DeploymentUnitFaultStruct(soap, "Fault", &a->Fault, "cwmp:DeploymentUnitFaultStruct"))
				{	soap_flag_Fault--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->UUID || !a->DeploymentUnitRef || !a->Version || soap_flag_CurrentState > 0 || soap_flag_Resolved > 0 || !a->ExecutionUnitRefList || soap_flag_StartTime > 0 || soap_flag_CompleteTime > 0 || !a->Fault))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__OpResultStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__OpResultStruct, SOAP_TYPE_cwmp__OpResultStruct, sizeof(struct cwmp__OpResultStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__OpResultStruct * SOAP_FMAC2 soap_instantiate_cwmp__OpResultStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__OpResultStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__OpResultStruct *p;
	size_t k = sizeof(struct cwmp__OpResultStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__OpResultStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__OpResultStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__OpResultStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__OpResultStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__OpResultStruct(struct soap *soap, const struct cwmp__OpResultStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__OpResultStruct(soap, tag ? tag : "cwmp:OpResultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__OpResultStruct * SOAP_FMAC4 soap_get_cwmp__OpResultStruct(struct soap *soap, struct cwmp__OpResultStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__OpResultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__OperationStruct(struct soap *soap, struct cwmp__OperationStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__OperationStruct(struct soap *soap, const struct cwmp__OperationStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__OperationStruct(struct soap *soap, const char *tag, int id, const struct cwmp__OperationStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__OperationStruct), type))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__OperationStruct * SOAP_FMAC4 soap_in_cwmp__OperationStruct(struct soap *soap, const char *tag, struct cwmp__OperationStruct *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__OperationStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__OperationStruct, sizeof(struct cwmp__OperationStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__OperationStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			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 cwmp__OperationStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__OperationStruct, SOAP_TYPE_cwmp__OperationStruct, sizeof(struct cwmp__OperationStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__OperationStruct * SOAP_FMAC2 soap_instantiate_cwmp__OperationStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__OperationStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__OperationStruct *p;
	size_t k = sizeof(struct cwmp__OperationStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__OperationStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__OperationStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__OperationStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__OperationStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__OperationStruct(struct soap *soap, const struct cwmp__OperationStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__OperationStruct(soap, tag ? tag : "cwmp:OperationStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__OperationStruct * SOAP_FMAC4 soap_get_cwmp__OperationStruct(struct soap *soap, struct cwmp__OperationStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__OperationStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
	soap_default_cwmp__TransferStateType(soap, &a->State);
	soap_default_xsd__boolean(soap, &a->IsDownload);
	soap_default_cwmp__TransferFileType(soap, &a->FileType);
	soap_default_unsignedInt(soap, &a->FileSize);
	soap_default_string(soap, &a->TargetFileName);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__AllQueuedTransferStruct(struct soap *soap, const struct cwmp__AllQueuedTransferStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
	soap_serialize_cwmp__TransferFileType(soap, (char*const*)&a->FileType);
	soap_serialize_string(soap, (char*const*)&a->TargetFileName);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__AllQueuedTransferStruct(struct soap *soap, const char *tag, int id, const struct cwmp__AllQueuedTransferStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__AllQueuedTransferStruct), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	if (soap_out_cwmp__TransferStateType(soap, "State", -1, &a->State, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "IsDownload", -1, &a->IsDownload, ""))
		return soap->error;
	if (!a->FileType)
	{	if (soap_element_empty(soap, "FileType"))
			return soap->error;
	}
	else if (soap_out_cwmp__TransferFileType(soap, "FileType", -1, (char*const*)&a->FileType, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "FileSize", -1, &a->FileSize, ""))
		return soap->error;
	if (!a->TargetFileName)
	{	if (soap_element_empty(soap, "TargetFileName"))
			return soap->error;
	}
	else if (soap_out_string(soap, "TargetFileName", -1, (char*const*)&a->TargetFileName, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__AllQueuedTransferStruct * SOAP_FMAC4 soap_in_cwmp__AllQueuedTransferStruct(struct soap *soap, const char *tag, struct cwmp__AllQueuedTransferStruct *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	size_t soap_flag_State = 1;
	size_t soap_flag_IsDownload = 1;
	size_t soap_flag_FileType = 1;
	size_t soap_flag_FileSize = 1;
	size_t soap_flag_TargetFileName = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__AllQueuedTransferStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__AllQueuedTransferStruct, sizeof(struct cwmp__AllQueuedTransferStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__AllQueuedTransferStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					continue;
				}
			}
			if (soap_flag_State && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_cwmp__TransferStateType(soap, "State", &a->State, "cwmp:TransferStateType"))
				{	soap_flag_State--;
					continue;
				}
			}
			if (soap_flag_IsDownload && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "IsDownload", &a->IsDownload, "xsd:boolean"))
				{	soap_flag_IsDownload--;
					continue;
				}
			}
			if (soap_flag_FileType && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__TransferFileType(soap, "FileType", (char**)&a->FileType, "cwmp:TransferFileType"))
				{	soap_flag_FileType--;
					continue;
				}
			}
			if (soap_flag_FileSize && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "FileSize", &a->FileSize, "xsd:unsignedInt"))
				{	soap_flag_FileSize--;
					continue;
				}
			}
			if (soap_flag_TargetFileName && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "TargetFileName", (char**)&a->TargetFileName, "xsd:string"))
				{	soap_flag_TargetFileName--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey || soap_flag_State > 0 || soap_flag_IsDownload > 0 || !a->FileType || soap_flag_FileSize > 0 || !a->TargetFileName))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__AllQueuedTransferStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__AllQueuedTransferStruct, SOAP_TYPE_cwmp__AllQueuedTransferStruct, sizeof(struct cwmp__AllQueuedTransferStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__AllQueuedTransferStruct * SOAP_FMAC2 soap_instantiate_cwmp__AllQueuedTransferStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__AllQueuedTransferStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__AllQueuedTransferStruct *p;
	size_t k = sizeof(struct cwmp__AllQueuedTransferStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__AllQueuedTransferStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__AllQueuedTransferStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__AllQueuedTransferStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__AllQueuedTransferStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__AllQueuedTransferStruct(struct soap *soap, const struct cwmp__AllQueuedTransferStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__AllQueuedTransferStruct(soap, tag ? tag : "cwmp:AllQueuedTransferStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__AllQueuedTransferStruct * SOAP_FMAC4 soap_get_cwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__AllQueuedTransferStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
	soap_default_cwmp__TransferStateType(soap, &a->State);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__QueuedTransferStruct(struct soap *soap, const struct cwmp__QueuedTransferStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__QueuedTransferStruct(struct soap *soap, const char *tag, int id, const struct cwmp__QueuedTransferStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__QueuedTransferStruct), type))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	if (soap_out_cwmp__TransferStateType(soap, "State", -1, &a->State, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__QueuedTransferStruct * SOAP_FMAC4 soap_in_cwmp__QueuedTransferStruct(struct soap *soap, const char *tag, struct cwmp__QueuedTransferStruct *a, const char *type)
{
	size_t soap_flag_CommandKey = 1;
	size_t soap_flag_State = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__QueuedTransferStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__QueuedTransferStruct, sizeof(struct cwmp__QueuedTransferStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__QueuedTransferStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					continue;
				}
			}
			if (soap_flag_State && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_cwmp__TransferStateType(soap, "State", &a->State, "cwmp:TransferStateType"))
				{	soap_flag_State--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->CommandKey || soap_flag_State > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__QueuedTransferStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__QueuedTransferStruct, SOAP_TYPE_cwmp__QueuedTransferStruct, sizeof(struct cwmp__QueuedTransferStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__QueuedTransferStruct * SOAP_FMAC2 soap_instantiate_cwmp__QueuedTransferStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__QueuedTransferStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__QueuedTransferStruct *p;
	size_t k = sizeof(struct cwmp__QueuedTransferStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__QueuedTransferStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__QueuedTransferStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__QueuedTransferStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__QueuedTransferStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__QueuedTransferStruct(struct soap *soap, const struct cwmp__QueuedTransferStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__QueuedTransferStruct(soap, tag ? tag : "cwmp:QueuedTransferStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__QueuedTransferStruct * SOAP_FMAC4 soap_get_cwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__QueuedTransferStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_unsignedInt(soap, &a->WindowStart);
	soap_default_unsignedInt(soap, &a->WindowEnd);
	soap_default_cwmp__TimeWindowModeValueType(soap, &a->WindowMode);
	soap_default_string(soap, &a->UserMessage);
	soap_default_int(soap, &a->MaxRetries);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__TimeWindowStruct(struct soap *soap, const struct cwmp__TimeWindowStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__TimeWindowModeValueType(soap, (char*const*)&a->WindowMode);
	soap_serialize_string(soap, (char*const*)&a->UserMessage);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__TimeWindowStruct(struct soap *soap, const char *tag, int id, const struct cwmp__TimeWindowStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__TimeWindowStruct), type))
		return soap->error;
	if (soap_out_unsignedInt(soap, "WindowStart", -1, &a->WindowStart, ""))
		return soap->error;
	if (soap_out_unsignedInt(soap, "WindowEnd", -1, &a->WindowEnd, ""))
		return soap->error;
	if (!a->WindowMode)
	{	if (soap_element_empty(soap, "WindowMode"))
			return soap->error;
	}
	else if (soap_out_cwmp__TimeWindowModeValueType(soap, "WindowMode", -1, (char*const*)&a->WindowMode, ""))
		return soap->error;
	if (!a->UserMessage)
	{	if (soap_element_empty(soap, "UserMessage"))
			return soap->error;
	}
	else if (soap_out_string(soap, "UserMessage", -1, (char*const*)&a->UserMessage, ""))
		return soap->error;
	if (soap_out_int(soap, "MaxRetries", -1, &a->MaxRetries, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__TimeWindowStruct * SOAP_FMAC4 soap_in_cwmp__TimeWindowStruct(struct soap *soap, const char *tag, struct cwmp__TimeWindowStruct *a, const char *type)
{
	size_t soap_flag_WindowStart = 1;
	size_t soap_flag_WindowEnd = 1;
	size_t soap_flag_WindowMode = 1;
	size_t soap_flag_UserMessage = 1;
	size_t soap_flag_MaxRetries = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__TimeWindowStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__TimeWindowStruct, sizeof(struct cwmp__TimeWindowStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__TimeWindowStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_WindowStart && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "WindowStart", &a->WindowStart, "xsd:unsignedInt"))
				{	soap_flag_WindowStart--;
					continue;
				}
			}
			if (soap_flag_WindowEnd && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_unsignedInt(soap, "WindowEnd", &a->WindowEnd, "xsd:unsignedInt"))
				{	soap_flag_WindowEnd--;
					continue;
				}
			}
			if (soap_flag_WindowMode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__TimeWindowModeValueType(soap, "WindowMode", (char**)&a->WindowMode, "cwmp:TimeWindowModeValueType"))
				{	soap_flag_WindowMode--;
					continue;
				}
			}
			if (soap_flag_UserMessage && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "UserMessage", (char**)&a->UserMessage, "xsd:string"))
				{	soap_flag_UserMessage--;
					continue;
				}
			}
			if (soap_flag_MaxRetries && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_int(soap, "MaxRetries", &a->MaxRetries, "xsd:int"))
				{	soap_flag_MaxRetries--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_WindowStart > 0 || soap_flag_WindowEnd > 0 || !a->WindowMode || !a->UserMessage || soap_flag_MaxRetries > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__TimeWindowStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__TimeWindowStruct, SOAP_TYPE_cwmp__TimeWindowStruct, sizeof(struct cwmp__TimeWindowStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__TimeWindowStruct * SOAP_FMAC2 soap_instantiate_cwmp__TimeWindowStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__TimeWindowStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__TimeWindowStruct *p;
	size_t k = sizeof(struct cwmp__TimeWindowStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__TimeWindowStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__TimeWindowStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__TimeWindowStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__TimeWindowStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__TimeWindowStruct(struct soap *soap, const struct cwmp__TimeWindowStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__TimeWindowStruct(soap, tag ? tag : "cwmp:TimeWindowStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__TimeWindowStruct * SOAP_FMAC4 soap_get_cwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__TimeWindowStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->Name);
	soap_default_cwmp__ParameterAttributeNotificationValueType(soap, &a->Notification);
	a->AccessList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__ParameterAttributeStruct(struct soap *soap, const struct cwmp__ParameterAttributeStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->Name);
	soap_serialize_PointerToAccessList(soap, &a->AccessList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ParameterAttributeStruct(struct soap *soap, const char *tag, int id, const struct cwmp__ParameterAttributeStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__ParameterAttributeStruct), type))
		return soap->error;
	if (!a->Name)
	{	if (soap_element_empty(soap, "Name"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Name", -1, (char*const*)&a->Name, ""))
		return soap->error;
	if (soap_out_cwmp__ParameterAttributeNotificationValueType(soap, "Notification", -1, &a->Notification, ""))
		return soap->error;
	if (!a->AccessList)
	{	if (soap_element_empty(soap, "AccessList"))
			return soap->error;
	}
	else if (soap_out_PointerToAccessList(soap, "AccessList", -1, &a->AccessList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__ParameterAttributeStruct * SOAP_FMAC4 soap_in_cwmp__ParameterAttributeStruct(struct soap *soap, const char *tag, struct cwmp__ParameterAttributeStruct *a, const char *type)
{
	size_t soap_flag_Name = 1;
	size_t soap_flag_Notification = 1;
	size_t soap_flag_AccessList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__ParameterAttributeStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__ParameterAttributeStruct, sizeof(struct cwmp__ParameterAttributeStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__ParameterAttributeStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Name", (char**)&a->Name, "xsd:string"))
				{	soap_flag_Name--;
					continue;
				}
			}
			if (soap_flag_Notification && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_cwmp__ParameterAttributeNotificationValueType(soap, "Notification", &a->Notification, "cwmp:ParameterAttributeNotificationValueType"))
				{	soap_flag_Notification--;
					continue;
				}
			}
			if (soap_flag_AccessList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToAccessList(soap, "AccessList", &a->AccessList, "cwmp:AccessListValueType"))
				{	soap_flag_AccessList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->Name || soap_flag_Notification > 0 || !a->AccessList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__ParameterAttributeStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__ParameterAttributeStruct, SOAP_TYPE_cwmp__ParameterAttributeStruct, sizeof(struct cwmp__ParameterAttributeStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__ParameterAttributeStruct * SOAP_FMAC2 soap_instantiate_cwmp__ParameterAttributeStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__ParameterAttributeStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__ParameterAttributeStruct *p;
	size_t k = sizeof(struct cwmp__ParameterAttributeStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__ParameterAttributeStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__ParameterAttributeStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__ParameterAttributeStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__ParameterAttributeStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ParameterAttributeStruct(struct soap *soap, const struct cwmp__ParameterAttributeStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ParameterAttributeStruct(soap, tag ? tag : "cwmp:ParameterAttributeStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterAttributeStruct * SOAP_FMAC4 soap_get_cwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ParameterAttributeStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_AccessList(struct soap *soap, struct AccessList *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptrstring = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_AccessList(struct soap *soap, const struct AccessList *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptrstring && !soap_array_reference(soap, a, a->__ptrstring, a->__size, SOAP_TYPE_AccessList))
	{	int i;
		for (i = 0; i < a->__size; i++)
		{	soap_embedded(soap, a->__ptrstring + i, SOAP_TYPE_cwmp__AccessListValueType);
		}
	}
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_AccessList(struct soap *soap, const char *tag, int id, const struct AccessList *a, const char *type)
{
	int i, n = a->__size;
	char *t = a->__ptrstring ? soap_putsizesoffsets(soap, "cwmp:AccessListValueType", &a->__size, NULL, 1) : NULL;
	id = soap_element_id(soap, tag, id, a, a->__ptrstring, a->__size, type, SOAP_TYPE_AccessList, NULL);
	if (id < 0)
		return soap->error;
	if (soap_array_begin_out(soap, tag, id, t, NULL))
		return soap->error;
	for (i = 0; i < n; i++)
	{
		soap->position = 1;
		soap->positions[0] = i;
		if (soap_out_cwmp__AccessListValueType(soap, "string", -1, &a->__ptrstring[i], ""))
			return soap->error;
	}
	soap->position = 0;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct AccessList * SOAP_FMAC4 soap_in_AccessList(struct soap *soap, const char *tag, struct AccessList *a, const char *type)
{
	int i, j;
	enum cwmp__AccessListValueType *p;
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (soap_match_array(soap, type))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct AccessList*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_AccessList, sizeof(struct AccessList), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_AccessList(soap, a);
	if (soap->body && *soap->href != '#')
	{
		if (*soap->arraySize)
		{
			soap_getsizes(soap->arraySize, &a->__size, 1);
			a->__size -= j = soap_getoffsets(soap->arrayOffset, &a->__size, NULL, 1);
			if ((size_t)a->__size > soap->maxoccurs)
			{	soap->error = SOAP_OCCURS;
				return NULL;
			}
			a->__ptrstring = (enum cwmp__AccessListValueType *)soap_malloc(soap, sizeof(enum cwmp__AccessListValueType) * a->__size);
			for (i = 0; i < a->__size; i++)
				soap_default_cwmp__AccessListValueType(soap, a->__ptrstring+i);
			for (i = 0; i < a->__size; i++)
			{	soap_peek_element(soap);
				if (soap->position)
				{	i = soap->positions[0]-j;
					if (i < 0 || i >= a->__size)
					{	soap->error = SOAP_IOB;
						return NULL;
					}
				}
				if (!soap_in_cwmp__AccessListValueType(soap, NULL, a->__ptrstring + i, "cwmp:AccessListValueType"))
				{	if (soap->error != SOAP_NO_TAG)
						return NULL;
					soap->error = SOAP_OK;
					break;
				}
			}
		}
		else
		{	if (soap_alloc_block(soap) == NULL)
				return NULL;
			for (a->__size = 0; ; a->__size++)
			{	p = (enum cwmp__AccessListValueType *)soap_push_block(soap, NULL, sizeof(enum cwmp__AccessListValueType));
				if (!p)
					break;
				soap_default_cwmp__AccessListValueType(soap, p);
				if (!soap_in_cwmp__AccessListValueType(soap, NULL, p, "cwmp:AccessListValueType"))
				{	if (soap->error == SOAP_NO_TAG)
						soap->error = SOAP_OK;
					soap_pop_block(soap, NULL);
					break;
				}
				if ((size_t)a->__size > soap->maxoccurs)
				{	soap->error = SOAP_OCCURS;
					return NULL;
				}
			}
			a->__ptrstring = (enum cwmp__AccessListValueType *)soap_save_block(soap, NULL, NULL, 1);
		}
		if (soap->error || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct AccessList *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_AccessList, SOAP_TYPE_AccessList, sizeof(struct AccessList), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct AccessList * SOAP_FMAC2 soap_instantiate_AccessList(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_AccessList(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct AccessList *p;
	size_t k = sizeof(struct AccessList);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_AccessList, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct AccessList);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct AccessList, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct AccessList location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_AccessList(struct soap *soap, const struct AccessList *a, const char *tag, const char *type)
{
	if (soap_out_AccessList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct AccessList * SOAP_FMAC4 soap_get_AccessList(struct soap *soap, struct AccessList *p, const char *tag, const char *type)
{
	if ((p = soap_in_AccessList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->Name);
	soap_default_xsd__boolean(soap, &a->NotificationChange);
	soap_default_cwmp__ParameterAttributeNotificationValueType(soap, &a->Notification);
	soap_default_xsd__boolean(soap, &a->AccessListChange);
	a->AccessList = NULL;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__SetParameterAttributesStruct(struct soap *soap, const struct cwmp__SetParameterAttributesStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->Name);
	soap_serialize_PointerToAccessList(soap, &a->AccessList);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__SetParameterAttributesStruct(struct soap *soap, const char *tag, int id, const struct cwmp__SetParameterAttributesStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__SetParameterAttributesStruct), type))
		return soap->error;
	if (!a->Name)
	{	if (soap_element_empty(soap, "Name"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Name", -1, (char*const*)&a->Name, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "NotificationChange", -1, &a->NotificationChange, ""))
		return soap->error;
	if (soap_out_cwmp__ParameterAttributeNotificationValueType(soap, "Notification", -1, &a->Notification, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "AccessListChange", -1, &a->AccessListChange, ""))
		return soap->error;
	if (!a->AccessList)
	{	if (soap_element_empty(soap, "AccessList"))
			return soap->error;
	}
	else if (soap_out_PointerToAccessList(soap, "AccessList", -1, &a->AccessList, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__SetParameterAttributesStruct * SOAP_FMAC4 soap_in_cwmp__SetParameterAttributesStruct(struct soap *soap, const char *tag, struct cwmp__SetParameterAttributesStruct *a, const char *type)
{
	size_t soap_flag_Name = 1;
	size_t soap_flag_NotificationChange = 1;
	size_t soap_flag_Notification = 1;
	size_t soap_flag_AccessListChange = 1;
	size_t soap_flag_AccessList = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__SetParameterAttributesStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__SetParameterAttributesStruct, sizeof(struct cwmp__SetParameterAttributesStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__SetParameterAttributesStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Name", (char**)&a->Name, "xsd:string"))
				{	soap_flag_Name--;
					continue;
				}
			}
			if (soap_flag_NotificationChange && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "NotificationChange", &a->NotificationChange, "xsd:boolean"))
				{	soap_flag_NotificationChange--;
					continue;
				}
			}
			if (soap_flag_Notification && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_cwmp__ParameterAttributeNotificationValueType(soap, "Notification", &a->Notification, "cwmp:ParameterAttributeNotificationValueType"))
				{	soap_flag_Notification--;
					continue;
				}
			}
			if (soap_flag_AccessListChange && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "AccessListChange", &a->AccessListChange, "xsd:boolean"))
				{	soap_flag_AccessListChange--;
					continue;
				}
			}
			if (soap_flag_AccessList && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_PointerToAccessList(soap, "AccessList", &a->AccessList, "cwmp:AccessListValueType"))
				{	soap_flag_AccessList--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->Name || soap_flag_NotificationChange > 0 || soap_flag_Notification > 0 || soap_flag_AccessListChange > 0 || !a->AccessList))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__SetParameterAttributesStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__SetParameterAttributesStruct, SOAP_TYPE_cwmp__SetParameterAttributesStruct, sizeof(struct cwmp__SetParameterAttributesStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__SetParameterAttributesStruct * SOAP_FMAC2 soap_instantiate_cwmp__SetParameterAttributesStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__SetParameterAttributesStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__SetParameterAttributesStruct *p;
	size_t k = sizeof(struct cwmp__SetParameterAttributesStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__SetParameterAttributesStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__SetParameterAttributesStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__SetParameterAttributesStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__SetParameterAttributesStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__SetParameterAttributesStruct(struct soap *soap, const struct cwmp__SetParameterAttributesStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__SetParameterAttributesStruct(soap, tag ? tag : "cwmp:SetParameterAttributesStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__SetParameterAttributesStruct * SOAP_FMAC4 soap_get_cwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__SetParameterAttributesStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->Name);
	soap_default_xsd__boolean(soap, &a->Writable);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__ParameterInfoStruct(struct soap *soap, const struct cwmp__ParameterInfoStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->Name);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ParameterInfoStruct(struct soap *soap, const char *tag, int id, const struct cwmp__ParameterInfoStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__ParameterInfoStruct), type))
		return soap->error;
	if (!a->Name)
	{	if (soap_element_empty(soap, "Name"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Name", -1, (char*const*)&a->Name, ""))
		return soap->error;
	if (soap_out_xsd__boolean(soap, "Writable", -1, &a->Writable, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__ParameterInfoStruct * SOAP_FMAC4 soap_in_cwmp__ParameterInfoStruct(struct soap *soap, const char *tag, struct cwmp__ParameterInfoStruct *a, const char *type)
{
	size_t soap_flag_Name = 1;
	size_t soap_flag_Writable = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__ParameterInfoStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__ParameterInfoStruct, sizeof(struct cwmp__ParameterInfoStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__ParameterInfoStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Name", (char**)&a->Name, "xsd:string"))
				{	soap_flag_Name--;
					continue;
				}
			}
			if (soap_flag_Writable && soap->error == SOAP_TAG_MISMATCH)
			{	if (soap_in_xsd__boolean(soap, "Writable", &a->Writable, "xsd:boolean"))
				{	soap_flag_Writable--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->Name || soap_flag_Writable > 0))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__ParameterInfoStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__ParameterInfoStruct, SOAP_TYPE_cwmp__ParameterInfoStruct, sizeof(struct cwmp__ParameterInfoStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__ParameterInfoStruct * SOAP_FMAC2 soap_instantiate_cwmp__ParameterInfoStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__ParameterInfoStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__ParameterInfoStruct *p;
	size_t k = sizeof(struct cwmp__ParameterInfoStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__ParameterInfoStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__ParameterInfoStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__ParameterInfoStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__ParameterInfoStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ParameterInfoStruct(struct soap *soap, const struct cwmp__ParameterInfoStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ParameterInfoStruct(soap, tag ? tag : "cwmp:ParameterInfoStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterInfoStruct * SOAP_FMAC4 soap_get_cwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ParameterInfoStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_cwmp__EventCodeType(soap, &a->EventCode);
	soap_default_cwmp__CommandKeyType(soap, &a->CommandKey);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__EventStruct(struct soap *soap, const struct cwmp__EventStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_cwmp__EventCodeType(soap, (char*const*)&a->EventCode);
	soap_serialize_cwmp__CommandKeyType(soap, (char*const*)&a->CommandKey);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__EventStruct(struct soap *soap, const char *tag, int id, const struct cwmp__EventStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__EventStruct), type))
		return soap->error;
	if (!a->EventCode)
	{	if (soap_element_empty(soap, "EventCode"))
			return soap->error;
	}
	else if (soap_out_cwmp__EventCodeType(soap, "EventCode", -1, (char*const*)&a->EventCode, ""))
		return soap->error;
	if (!a->CommandKey)
	{	if (soap_element_empty(soap, "CommandKey"))
			return soap->error;
	}
	else if (soap_out_cwmp__CommandKeyType(soap, "CommandKey", -1, (char*const*)&a->CommandKey, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__EventStruct * SOAP_FMAC4 soap_in_cwmp__EventStruct(struct soap *soap, const char *tag, struct cwmp__EventStruct *a, const char *type)
{
	size_t soap_flag_EventCode = 1;
	size_t soap_flag_CommandKey = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__EventStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__EventStruct, sizeof(struct cwmp__EventStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__EventStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_EventCode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__EventCodeType(soap, "EventCode", (char**)&a->EventCode, "cwmp:EventCodeType"))
				{	soap_flag_EventCode--;
					continue;
				}
			}
			if (soap_flag_CommandKey && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_cwmp__CommandKeyType(soap, "CommandKey", (char**)&a->CommandKey, "cwmp:CommandKeyType"))
				{	soap_flag_CommandKey--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->EventCode || !a->CommandKey))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__EventStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__EventStruct, SOAP_TYPE_cwmp__EventStruct, sizeof(struct cwmp__EventStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__EventStruct * SOAP_FMAC2 soap_instantiate_cwmp__EventStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__EventStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__EventStruct *p;
	size_t k = sizeof(struct cwmp__EventStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__EventStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__EventStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__EventStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__EventStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__EventStruct(struct soap *soap, const struct cwmp__EventStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__EventStruct(soap, tag ? tag : "cwmp:EventStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__EventStruct * SOAP_FMAC4 soap_get_cwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__EventStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__DeviceIdStruct(struct soap *soap, struct cwmp__DeviceIdStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->Manufacturer);
	soap_default_string(soap, &a->OUI);
	soap_default_string(soap, &a->ProductClass);
	soap_default_string(soap, &a->SerialNumber);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__DeviceIdStruct(struct soap *soap, const struct cwmp__DeviceIdStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->Manufacturer);
	soap_serialize_string(soap, (char*const*)&a->OUI);
	soap_serialize_string(soap, (char*const*)&a->ProductClass);
	soap_serialize_string(soap, (char*const*)&a->SerialNumber);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DeviceIdStruct(struct soap *soap, const char *tag, int id, const struct cwmp__DeviceIdStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__DeviceIdStruct), type))
		return soap->error;
	if (!a->Manufacturer)
	{	if (soap_element_empty(soap, "Manufacturer"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Manufacturer", -1, (char*const*)&a->Manufacturer, ""))
		return soap->error;
	if (!a->OUI)
	{	if (soap_element_empty(soap, "OUI"))
			return soap->error;
	}
	else if (soap_out_string(soap, "OUI", -1, (char*const*)&a->OUI, ""))
		return soap->error;
	if (!a->ProductClass)
	{	if (soap_element_empty(soap, "ProductClass"))
			return soap->error;
	}
	else if (soap_out_string(soap, "ProductClass", -1, (char*const*)&a->ProductClass, ""))
		return soap->error;
	if (!a->SerialNumber)
	{	if (soap_element_empty(soap, "SerialNumber"))
			return soap->error;
	}
	else if (soap_out_string(soap, "SerialNumber", -1, (char*const*)&a->SerialNumber, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__DeviceIdStruct * SOAP_FMAC4 soap_in_cwmp__DeviceIdStruct(struct soap *soap, const char *tag, struct cwmp__DeviceIdStruct *a, const char *type)
{
	size_t soap_flag_Manufacturer = 1;
	size_t soap_flag_OUI = 1;
	size_t soap_flag_ProductClass = 1;
	size_t soap_flag_SerialNumber = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__DeviceIdStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__DeviceIdStruct, sizeof(struct cwmp__DeviceIdStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__DeviceIdStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Manufacturer && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Manufacturer", (char**)&a->Manufacturer, "xsd:string"))
				{	soap_flag_Manufacturer--;
					continue;
				}
			}
			if (soap_flag_OUI && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "OUI", (char**)&a->OUI, "xsd:string"))
				{	soap_flag_OUI--;
					continue;
				}
			}
			if (soap_flag_ProductClass && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "ProductClass", (char**)&a->ProductClass, "xsd:string"))
				{	soap_flag_ProductClass--;
					continue;
				}
			}
			if (soap_flag_SerialNumber && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "SerialNumber", (char**)&a->SerialNumber, "xsd:string"))
				{	soap_flag_SerialNumber--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->Manufacturer || !a->OUI || !a->ProductClass || !a->SerialNumber))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__DeviceIdStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__DeviceIdStruct, SOAP_TYPE_cwmp__DeviceIdStruct, sizeof(struct cwmp__DeviceIdStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__DeviceIdStruct * SOAP_FMAC2 soap_instantiate_cwmp__DeviceIdStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__DeviceIdStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__DeviceIdStruct *p;
	size_t k = sizeof(struct cwmp__DeviceIdStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__DeviceIdStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__DeviceIdStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__DeviceIdStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__DeviceIdStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DeviceIdStruct(struct soap *soap, const struct cwmp__DeviceIdStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DeviceIdStruct(soap, tag ? tag : "cwmp:DeviceIdStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__DeviceIdStruct * SOAP_FMAC4 soap_get_cwmp__DeviceIdStruct(struct soap *soap, struct cwmp__DeviceIdStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DeviceIdStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->Name);
	soap_default_xsd__anySimpleType(soap, &a->Value);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__ParameterValueStruct(struct soap *soap, const struct cwmp__ParameterValueStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->Name);
	soap_serialize_xsd__anySimpleType(soap, (char*const*)&a->Value);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ParameterValueStruct(struct soap *soap, const char *tag, int id, const struct cwmp__ParameterValueStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__ParameterValueStruct), type))
		return soap->error;
	if (!a->Name)
	{	if (soap_element_empty(soap, "Name"))
			return soap->error;
	}
	else if (soap_out_string(soap, "Name", -1, (char*const*)&a->Name, ""))
		return soap->error;
	if (!a->Value)
	{	if (soap_element_empty(soap, "Value"))
			return soap->error;
	}
	else if (soap_out_xsd__anySimpleType(soap, "Value", -1, (char*const*)&a->Value, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__ParameterValueStruct * SOAP_FMAC4 soap_in_cwmp__ParameterValueStruct(struct soap *soap, const char *tag, struct cwmp__ParameterValueStruct *a, const char *type)
{
	size_t soap_flag_Name = 1;
	size_t soap_flag_Value = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__ParameterValueStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__ParameterValueStruct, sizeof(struct cwmp__ParameterValueStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__ParameterValueStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_Name && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "Name", (char**)&a->Name, "xsd:string"))
				{	soap_flag_Name--;
					continue;
				}
			}
			if (soap_flag_Value && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_xsd__anySimpleType(soap, "Value", (char**)&a->Value, "xsd:anySimpleType"))
				{	soap_flag_Value--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->Name || !a->Value))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__ParameterValueStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__ParameterValueStruct, SOAP_TYPE_cwmp__ParameterValueStruct, sizeof(struct cwmp__ParameterValueStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__ParameterValueStruct * SOAP_FMAC2 soap_instantiate_cwmp__ParameterValueStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__ParameterValueStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__ParameterValueStruct *p;
	size_t k = sizeof(struct cwmp__ParameterValueStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__ParameterValueStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__ParameterValueStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__ParameterValueStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__ParameterValueStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ParameterValueStruct(struct soap *soap, const struct cwmp__ParameterValueStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ParameterValueStruct(soap, tag ? tag : "cwmp:ParameterValueStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterValueStruct * SOAP_FMAC4 soap_get_cwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ParameterValueStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__DeploymentUnitFaultStruct(struct soap *soap, struct cwmp__DeploymentUnitFaultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->FaultCode);
	soap_default_string(soap, &a->FaultString);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__DeploymentUnitFaultStruct(struct soap *soap, const struct cwmp__DeploymentUnitFaultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->FaultCode);
	soap_serialize_string(soap, (char*const*)&a->FaultString);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DeploymentUnitFaultStruct(struct soap *soap, const char *tag, int id, const struct cwmp__DeploymentUnitFaultStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct), type))
		return soap->error;
	if (!a->FaultCode)
	{	if (soap_element_empty(soap, "FaultCode"))
			return soap->error;
	}
	else if (soap_out_string(soap, "FaultCode", -1, (char*const*)&a->FaultCode, ""))
		return soap->error;
	if (soap_out_string(soap, "FaultString", -1, (char*const*)&a->FaultString, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__DeploymentUnitFaultStruct * SOAP_FMAC4 soap_in_cwmp__DeploymentUnitFaultStruct(struct soap *soap, const char *tag, struct cwmp__DeploymentUnitFaultStruct *a, const char *type)
{
	size_t soap_flag_FaultCode = 1;
	size_t soap_flag_FaultString = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__DeploymentUnitFaultStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct, sizeof(struct cwmp__DeploymentUnitFaultStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__DeploymentUnitFaultStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_FaultCode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultCode", (char**)&a->FaultCode, "xsd:string"))
				{	soap_flag_FaultCode--;
					continue;
				}
			}
			if (soap_flag_FaultString && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultString", (char**)&a->FaultString, "xsd:string"))
				{	soap_flag_FaultString--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->FaultCode))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__DeploymentUnitFaultStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct, sizeof(struct cwmp__DeploymentUnitFaultStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__DeploymentUnitFaultStruct * SOAP_FMAC2 soap_instantiate_cwmp__DeploymentUnitFaultStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__DeploymentUnitFaultStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__DeploymentUnitFaultStruct *p;
	size_t k = sizeof(struct cwmp__DeploymentUnitFaultStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__DeploymentUnitFaultStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__DeploymentUnitFaultStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__DeploymentUnitFaultStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DeploymentUnitFaultStruct(struct soap *soap, const struct cwmp__DeploymentUnitFaultStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DeploymentUnitFaultStruct(soap, tag ? tag : "cwmp:DeploymentUnitFaultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__DeploymentUnitFaultStruct * SOAP_FMAC4 soap_get_cwmp__DeploymentUnitFaultStruct(struct soap *soap, struct cwmp__DeploymentUnitFaultStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DeploymentUnitFaultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_cwmp__TransferCompleteFaultStruct(struct soap *soap, struct cwmp__TransferCompleteFaultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
	soap_default_string(soap, &a->FaultCode);
	soap_default_string(soap, &a->FaultString);
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__TransferCompleteFaultStruct(struct soap *soap, const struct cwmp__TransferCompleteFaultStruct *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	soap_serialize_string(soap, (char*const*)&a->FaultCode);
	soap_serialize_string(soap, (char*const*)&a->FaultString);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__TransferCompleteFaultStruct(struct soap *soap, const char *tag, int id, const struct cwmp__TransferCompleteFaultStruct *a, const char *type)
{
	(void)soap; (void)tag; (void)id; (void)a; (void)type; /* appease -Wall -Werror */
	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_cwmp__TransferCompleteFaultStruct), type))
		return soap->error;
	if (!a->FaultCode)
	{	if (soap_element_empty(soap, "FaultCode"))
			return soap->error;
	}
	else if (soap_out_string(soap, "FaultCode", -1, (char*const*)&a->FaultCode, ""))
		return soap->error;
	if (!a->FaultString)
	{	if (soap_element_empty(soap, "FaultString"))
			return soap->error;
	}
	else if (soap_out_string(soap, "FaultString", -1, (char*const*)&a->FaultString, ""))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3 struct cwmp__TransferCompleteFaultStruct * SOAP_FMAC4 soap_in_cwmp__TransferCompleteFaultStruct(struct soap *soap, const char *tag, struct cwmp__TransferCompleteFaultStruct *a, const char *type)
{
	size_t soap_flag_FaultCode = 1;
	size_t soap_flag_FaultString = 1;
	if (soap_element_begin_in(soap, tag, 0, NULL))
		return NULL;
	(void)type; /* appease -Wall -Werror */
	a = (struct cwmp__TransferCompleteFaultStruct*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_cwmp__TransferCompleteFaultStruct, sizeof(struct cwmp__TransferCompleteFaultStruct), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_cwmp__TransferCompleteFaultStruct(soap, a);
	if (soap->body && *soap->href != '#')
	{
		for (;;)
		{	soap->error = SOAP_TAG_MISMATCH;
			if (soap_flag_FaultCode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultCode", (char**)&a->FaultCode, "xsd:string"))
				{	soap_flag_FaultCode--;
					continue;
				}
			}
			if (soap_flag_FaultString && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
			{	if (soap_in_string(soap, "FaultString", (char**)&a->FaultString, "xsd:string"))
				{	soap_flag_FaultString--;
					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;
		if ((soap->mode & SOAP_XML_STRICT) && (!a->FaultCode || !a->FaultString))
		{	soap->error = SOAP_OCCURS;
			return NULL;
		}
	}
	else if ((soap->mode & SOAP_XML_STRICT) && *soap->href != '#')
	{	soap->error = SOAP_OCCURS;
		return NULL;
	}
	else
	{	a = (struct cwmp__TransferCompleteFaultStruct *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_cwmp__TransferCompleteFaultStruct, SOAP_TYPE_cwmp__TransferCompleteFaultStruct, sizeof(struct cwmp__TransferCompleteFaultStruct), 0, soap_finsert, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct cwmp__TransferCompleteFaultStruct * SOAP_FMAC2 soap_instantiate_cwmp__TransferCompleteFaultStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_cwmp__TransferCompleteFaultStruct(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct cwmp__TransferCompleteFaultStruct *p;
	size_t k = sizeof(struct cwmp__TransferCompleteFaultStruct);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_cwmp__TransferCompleteFaultStruct, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct cwmp__TransferCompleteFaultStruct);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct cwmp__TransferCompleteFaultStruct, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct cwmp__TransferCompleteFaultStruct location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__TransferCompleteFaultStruct(struct soap *soap, const struct cwmp__TransferCompleteFaultStruct *a, const char *tag, const char *type)
{
	if (soap_out_cwmp__TransferCompleteFaultStruct(soap, tag ? tag : "cwmp:TransferCompleteFaultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__TransferCompleteFaultStruct * SOAP_FMAC4 soap_get_cwmp__TransferCompleteFaultStruct(struct soap *soap, struct cwmp__TransferCompleteFaultStruct *p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__TransferCompleteFaultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENC__base64(struct soap *soap, struct SOAP_ENC__base64 *a)
{
	(void)soap; /* appease -Wall -Werror */
	a->__ptr = NULL;
	a->__size = 0;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENC__base64(struct soap *soap, const struct SOAP_ENC__base64 *a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (a->__ptr)
		(void)soap_array_reference(soap, a, a->__ptr, a->__size, SOAP_TYPE_SOAP_ENC__base64);
#endif
}

SOAP_FMAC3S const char* SOAP_FMAC4S soap_SOAP_ENC__base642s(struct soap *soap, struct SOAP_ENC__base64 a)
{
	return soap_s2base64(soap, a.__ptr, NULL, a.__size);
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENC__base64(struct soap *soap, const char *tag, int id, const struct SOAP_ENC__base64 *a, const char *type)
{
	id = soap_element_id(soap, tag, id, a, a->__ptr, a->__size, type, SOAP_TYPE_SOAP_ENC__base64, NULL);
	if (id < 0)
		return soap->error;
	if (soap_element_begin_out(soap, tag, id, type))
		return soap->error;
	if (soap_putbase64(soap, a->__ptr, a->__size))
		return soap->error;
	return soap_element_end_out(soap, tag);
}

SOAP_FMAC3S int SOAP_FMAC4S soap_s2SOAP_ENC__base64(struct soap *soap, const char *s, struct SOAP_ENC__base64 *a)
{
	a->__ptr = (unsigned char*)soap_base642s(soap, s, NULL, 0, &a->__size);
	if (!a->__ptr)
		return soap->error;
	return SOAP_OK;
}

SOAP_FMAC3 struct SOAP_ENC__base64 * SOAP_FMAC4 soap_in_SOAP_ENC__base64(struct soap *soap, const char *tag, struct SOAP_ENC__base64 *a, const char *type)
{
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (*soap->type && soap_match_tag(soap, soap->type, type) && soap_match_tag(soap, soap->type, ":base64Binary") && soap_match_tag(soap, soap->type, ":base64"))
	{	soap->error = SOAP_TYPE;
		return NULL;
	}
	a = (struct SOAP_ENC__base64*)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENC__base64, sizeof(struct SOAP_ENC__base64), NULL, NULL, NULL, NULL);
	if (!a)
		return NULL;
	soap_default_SOAP_ENC__base64(soap, a);
	if (soap->body && *soap->href != '#')
	{
		a->__ptr = soap_getbase64(soap, &a->__size, 0);
		if ((!a->__ptr && soap->error) || soap_element_end_in(soap, tag))
			return NULL;
	}
	else
	{	a = (struct SOAP_ENC__base64 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENC__base64, SOAP_TYPE_SOAP_ENC__base64, sizeof(struct SOAP_ENC__base64), 0, soap_finsert, soap_fbase);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC1 struct SOAP_ENC__base64 * SOAP_FMAC2 soap_instantiate_SOAP_ENC__base64(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
{
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENC__base64(%p, %d, %s, %s)\n", (void*)soap, n, type?type:"", arrayType?arrayType:""));
	(void)type; (void)arrayType; /* appease -Wall -Werror */
	struct SOAP_ENC__base64 *p;
	size_t k = sizeof(struct SOAP_ENC__base64);
	struct soap_clist *cp = soap_link(soap, SOAP_TYPE_SOAP_ENC__base64, n, soap_fdelete);
	if (!cp && soap && n != SOAP_NO_LINK_TO_DELETE)
		return NULL;
	if (n < 0)
	{	p = SOAP_NEW(soap, struct SOAP_ENC__base64);
	}
	else
	{	p = SOAP_NEW_ARRAY(soap, struct SOAP_ENC__base64, n);
		k *= n;
	}
	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated struct SOAP_ENC__base64 location=%p n=%d\n", (void*)p, n));
	if (size)
		*size = k;
	if (!p)
		soap->error = SOAP_EOM;
	else if (cp)
		cp->ptr = (void*)p;
	return p;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENC__base64(struct soap *soap, const struct SOAP_ENC__base64 *a, const char *tag, const char *type)
{
	if (soap_out_SOAP_ENC__base64(soap, tag ? tag : "SOAP-ENC:base64", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENC__base64 * SOAP_FMAC4 soap_get_SOAP_ENC__base64(struct soap *soap, struct SOAP_ENC__base64 *p, const char *tag, const char *type)
{
	if ((p = soap_in_SOAP_ENC__base64(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Reason))
		soap_serialize_SOAP_ENV__Reason(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Reason *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Reason, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_SOAP_ENV__Reason(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct SOAP_ENV__Reason **)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_SOAP_ENV__Reason(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct SOAP_ENV__Reason **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToSOAP_ENV__Reason(soap, tag ? tag : "SOAP-ENV:Reason", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToSOAP_ENV__Reason(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Detail))
		soap_serialize_SOAP_ENV__Detail(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Detail *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Detail, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_SOAP_ENV__Detail(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct SOAP_ENV__Detail **)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_SOAP_ENV__Detail(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct SOAP_ENV__Detail **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToSOAP_ENV__Detail(soap, tag ? tag : "SOAP-ENV:Detail", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToSOAP_ENV__Detail(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

#ifndef WITH_NOGLOBAL

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code))
		soap_serialize_SOAP_ENV__Code(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type)
{
	char *mark;
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Code, &mark);
	if (id < 0)
		return soap->error;
	(void)soap_out_SOAP_ENV__Code(soap, tag, id, *a, type);
	soap_unmark(soap, mark);
	return soap->error;
}

SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct SOAP_ENV__Code **)soap_malloc(soap, sizeof(struct SOAP_ENV__Code *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_SOAP_ENV__Code(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToSOAP_ENV__Code(soap, tag ? tag : "SOAP-ENV:Code", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 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)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#endif

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__InformResponse(struct soap *soap, struct _cwmp__InformResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__InformResponse))
		soap_serialize__cwmp__InformResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__InformResponse(struct soap *soap, const char *tag, int id, struct _cwmp__InformResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__InformResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__InformResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__InformResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__InformResponse(struct soap *soap, const char *tag, struct _cwmp__InformResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__InformResponse **)soap_malloc(soap, sizeof(struct _cwmp__InformResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__InformResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__InformResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__InformResponse, sizeof(struct _cwmp__InformResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__InformResponse(struct soap *soap, struct _cwmp__InformResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__InformResponse(soap, tag ? tag : "cwmp:InformResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__InformResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__InformResponse(struct soap *soap, struct _cwmp__InformResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__InformResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__Inform(struct soap *soap, struct _cwmp__Inform *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__Inform))
		soap_serialize__cwmp__Inform(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__Inform(struct soap *soap, const char *tag, int id, struct _cwmp__Inform *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__Inform, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__Inform(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__Inform ** SOAP_FMAC4 soap_in_PointerTo_cwmp__Inform(struct soap *soap, const char *tag, struct _cwmp__Inform **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__Inform **)soap_malloc(soap, sizeof(struct _cwmp__Inform *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__Inform(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__Inform **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__Inform, sizeof(struct _cwmp__Inform), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__Inform(struct soap *soap, struct _cwmp__Inform *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__Inform(soap, tag ? tag : "cwmp:Inform", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Inform ** SOAP_FMAC4 soap_get_PointerTo_cwmp__Inform(struct soap *soap, struct _cwmp__Inform **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__Inform(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetRPCMethodsResponse(struct soap *soap, struct _cwmp__GetRPCMethodsResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetRPCMethodsResponse))
		soap_serialize__cwmp__GetRPCMethodsResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetRPCMethodsResponse(struct soap *soap, const char *tag, int id, struct _cwmp__GetRPCMethodsResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetRPCMethodsResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetRPCMethodsResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethodsResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetRPCMethodsResponse(struct soap *soap, const char *tag, struct _cwmp__GetRPCMethodsResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetRPCMethodsResponse **)soap_malloc(soap, sizeof(struct _cwmp__GetRPCMethodsResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetRPCMethodsResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetRPCMethodsResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetRPCMethodsResponse, sizeof(struct _cwmp__GetRPCMethodsResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetRPCMethodsResponse(struct soap *soap, struct _cwmp__GetRPCMethodsResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetRPCMethodsResponse(soap, tag ? tag : "cwmp:GetRPCMethodsResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethodsResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetRPCMethodsResponse(struct soap *soap, struct _cwmp__GetRPCMethodsResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetRPCMethodsResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetRPCMethods(struct soap *soap, struct _cwmp__GetRPCMethods *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetRPCMethods))
		soap_serialize__cwmp__GetRPCMethods(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetRPCMethods(struct soap *soap, const char *tag, int id, struct _cwmp__GetRPCMethods *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetRPCMethods, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetRPCMethods(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethods ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetRPCMethods(struct soap *soap, const char *tag, struct _cwmp__GetRPCMethods **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetRPCMethods **)soap_malloc(soap, sizeof(struct _cwmp__GetRPCMethods *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetRPCMethods(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetRPCMethods **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetRPCMethods, sizeof(struct _cwmp__GetRPCMethods), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetRPCMethods(struct soap *soap, struct _cwmp__GetRPCMethods *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetRPCMethods(soap, tag ? tag : "cwmp:GetRPCMethods", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetRPCMethods ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetRPCMethods(struct soap *soap, struct _cwmp__GetRPCMethods **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetRPCMethods(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__DeleteObjectResponse(struct soap *soap, struct _cwmp__DeleteObjectResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__DeleteObjectResponse))
		soap_serialize__cwmp__DeleteObjectResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__DeleteObjectResponse(struct soap *soap, const char *tag, int id, struct _cwmp__DeleteObjectResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__DeleteObjectResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__DeleteObjectResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__DeleteObjectResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__DeleteObjectResponse(struct soap *soap, const char *tag, struct _cwmp__DeleteObjectResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__DeleteObjectResponse **)soap_malloc(soap, sizeof(struct _cwmp__DeleteObjectResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__DeleteObjectResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__DeleteObjectResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__DeleteObjectResponse, sizeof(struct _cwmp__DeleteObjectResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__DeleteObjectResponse(struct soap *soap, struct _cwmp__DeleteObjectResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__DeleteObjectResponse(soap, tag ? tag : "cwmp:DeleteObjectResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DeleteObjectResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__DeleteObjectResponse(struct soap *soap, struct _cwmp__DeleteObjectResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__DeleteObjectResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__DeleteObject(struct soap *soap, struct _cwmp__DeleteObject *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__DeleteObject))
		soap_serialize__cwmp__DeleteObject(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__DeleteObject(struct soap *soap, const char *tag, int id, struct _cwmp__DeleteObject *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__DeleteObject, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__DeleteObject(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__DeleteObject ** SOAP_FMAC4 soap_in_PointerTo_cwmp__DeleteObject(struct soap *soap, const char *tag, struct _cwmp__DeleteObject **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__DeleteObject **)soap_malloc(soap, sizeof(struct _cwmp__DeleteObject *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__DeleteObject(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__DeleteObject **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__DeleteObject, sizeof(struct _cwmp__DeleteObject), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__DeleteObject(struct soap *soap, struct _cwmp__DeleteObject *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__DeleteObject(soap, tag ? tag : "cwmp:DeleteObject", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DeleteObject ** SOAP_FMAC4 soap_get_PointerTo_cwmp__DeleteObject(struct soap *soap, struct _cwmp__DeleteObject **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__DeleteObject(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__AddObjectResponse(struct soap *soap, struct _cwmp__AddObjectResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__AddObjectResponse))
		soap_serialize__cwmp__AddObjectResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__AddObjectResponse(struct soap *soap, const char *tag, int id, struct _cwmp__AddObjectResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__AddObjectResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__AddObjectResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__AddObjectResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__AddObjectResponse(struct soap *soap, const char *tag, struct _cwmp__AddObjectResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__AddObjectResponse **)soap_malloc(soap, sizeof(struct _cwmp__AddObjectResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__AddObjectResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__AddObjectResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__AddObjectResponse, sizeof(struct _cwmp__AddObjectResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__AddObjectResponse(struct soap *soap, struct _cwmp__AddObjectResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__AddObjectResponse(soap, tag ? tag : "cwmp:AddObjectResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AddObjectResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__AddObjectResponse(struct soap *soap, struct _cwmp__AddObjectResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__AddObjectResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__AddObject(struct soap *soap, struct _cwmp__AddObject *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__AddObject))
		soap_serialize__cwmp__AddObject(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__AddObject(struct soap *soap, const char *tag, int id, struct _cwmp__AddObject *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__AddObject, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__AddObject(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__AddObject ** SOAP_FMAC4 soap_in_PointerTo_cwmp__AddObject(struct soap *soap, const char *tag, struct _cwmp__AddObject **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__AddObject **)soap_malloc(soap, sizeof(struct _cwmp__AddObject *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__AddObject(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__AddObject **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__AddObject, sizeof(struct _cwmp__AddObject), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__AddObject(struct soap *soap, struct _cwmp__AddObject *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__AddObject(soap, tag ? tag : "cwmp:AddObject", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__AddObject ** SOAP_FMAC4 soap_get_PointerTo_cwmp__AddObject(struct soap *soap, struct _cwmp__AddObject **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__AddObject(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__UploadResponse(struct soap *soap, struct _cwmp__UploadResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__UploadResponse))
		soap_serialize__cwmp__UploadResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__UploadResponse(struct soap *soap, const char *tag, int id, struct _cwmp__UploadResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__UploadResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__UploadResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__UploadResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__UploadResponse(struct soap *soap, const char *tag, struct _cwmp__UploadResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__UploadResponse **)soap_malloc(soap, sizeof(struct _cwmp__UploadResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__UploadResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__UploadResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__UploadResponse, sizeof(struct _cwmp__UploadResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__UploadResponse(struct soap *soap, struct _cwmp__UploadResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__UploadResponse(soap, tag ? tag : "cwmp:UploadResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__UploadResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__UploadResponse(struct soap *soap, struct _cwmp__UploadResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__UploadResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__Upload(struct soap *soap, struct _cwmp__Upload *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__Upload))
		soap_serialize__cwmp__Upload(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__Upload(struct soap *soap, const char *tag, int id, struct _cwmp__Upload *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__Upload, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__Upload(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__Upload ** SOAP_FMAC4 soap_in_PointerTo_cwmp__Upload(struct soap *soap, const char *tag, struct _cwmp__Upload **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__Upload **)soap_malloc(soap, sizeof(struct _cwmp__Upload *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__Upload(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__Upload **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__Upload, sizeof(struct _cwmp__Upload), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__Upload(struct soap *soap, struct _cwmp__Upload *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__Upload(soap, tag ? tag : "cwmp:Upload", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Upload ** SOAP_FMAC4 soap_get_PointerTo_cwmp__Upload(struct soap *soap, struct _cwmp__Upload **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__Upload(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__DownloadResponse(struct soap *soap, struct _cwmp__DownloadResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__DownloadResponse))
		soap_serialize__cwmp__DownloadResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__DownloadResponse(struct soap *soap, const char *tag, int id, struct _cwmp__DownloadResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__DownloadResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__DownloadResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__DownloadResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__DownloadResponse(struct soap *soap, const char *tag, struct _cwmp__DownloadResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__DownloadResponse **)soap_malloc(soap, sizeof(struct _cwmp__DownloadResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__DownloadResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__DownloadResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__DownloadResponse, sizeof(struct _cwmp__DownloadResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__DownloadResponse(struct soap *soap, struct _cwmp__DownloadResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__DownloadResponse(soap, tag ? tag : "cwmp:DownloadResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__DownloadResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__DownloadResponse(struct soap *soap, struct _cwmp__DownloadResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__DownloadResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__Download(struct soap *soap, struct _cwmp__Download *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__Download))
		soap_serialize__cwmp__Download(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__Download(struct soap *soap, const char *tag, int id, struct _cwmp__Download *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__Download, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__Download(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__Download ** SOAP_FMAC4 soap_in_PointerTo_cwmp__Download(struct soap *soap, const char *tag, struct _cwmp__Download **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__Download **)soap_malloc(soap, sizeof(struct _cwmp__Download *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__Download(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__Download **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__Download, sizeof(struct _cwmp__Download), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__Download(struct soap *soap, struct _cwmp__Download *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__Download(soap, tag ? tag : "cwmp:Download", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Download ** SOAP_FMAC4 soap_get_PointerTo_cwmp__Download(struct soap *soap, struct _cwmp__Download **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__Download(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__SetParameterAttributesResponse(struct soap *soap, struct _cwmp__SetParameterAttributesResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__SetParameterAttributesResponse))
		soap_serialize__cwmp__SetParameterAttributesResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__SetParameterAttributesResponse(struct soap *soap, const char *tag, int id, struct _cwmp__SetParameterAttributesResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__SetParameterAttributesResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__SetParameterAttributesResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributesResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__SetParameterAttributesResponse(struct soap *soap, const char *tag, struct _cwmp__SetParameterAttributesResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__SetParameterAttributesResponse **)soap_malloc(soap, sizeof(struct _cwmp__SetParameterAttributesResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__SetParameterAttributesResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__SetParameterAttributesResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__SetParameterAttributesResponse, sizeof(struct _cwmp__SetParameterAttributesResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__SetParameterAttributesResponse(struct soap *soap, struct _cwmp__SetParameterAttributesResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__SetParameterAttributesResponse(soap, tag ? tag : "cwmp:SetParameterAttributesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributesResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__SetParameterAttributesResponse(struct soap *soap, struct _cwmp__SetParameterAttributesResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__SetParameterAttributesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__SetParameterAttributes(struct soap *soap, struct _cwmp__SetParameterAttributes *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__SetParameterAttributes))
		soap_serialize__cwmp__SetParameterAttributes(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__SetParameterAttributes(struct soap *soap, const char *tag, int id, struct _cwmp__SetParameterAttributes *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__SetParameterAttributes, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__SetParameterAttributes(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributes ** SOAP_FMAC4 soap_in_PointerTo_cwmp__SetParameterAttributes(struct soap *soap, const char *tag, struct _cwmp__SetParameterAttributes **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__SetParameterAttributes **)soap_malloc(soap, sizeof(struct _cwmp__SetParameterAttributes *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__SetParameterAttributes(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__SetParameterAttributes **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__SetParameterAttributes, sizeof(struct _cwmp__SetParameterAttributes), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__SetParameterAttributes(struct soap *soap, struct _cwmp__SetParameterAttributes *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__SetParameterAttributes(soap, tag ? tag : "cwmp:SetParameterAttributes", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterAttributes ** SOAP_FMAC4 soap_get_PointerTo_cwmp__SetParameterAttributes(struct soap *soap, struct _cwmp__SetParameterAttributes **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__SetParameterAttributes(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetParameterAttributesResponse(struct soap *soap, struct _cwmp__GetParameterAttributesResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetParameterAttributesResponse))
		soap_serialize__cwmp__GetParameterAttributesResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetParameterAttributesResponse(struct soap *soap, const char *tag, int id, struct _cwmp__GetParameterAttributesResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetParameterAttributesResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetParameterAttributesResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributesResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetParameterAttributesResponse(struct soap *soap, const char *tag, struct _cwmp__GetParameterAttributesResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetParameterAttributesResponse **)soap_malloc(soap, sizeof(struct _cwmp__GetParameterAttributesResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetParameterAttributesResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterAttributesResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetParameterAttributesResponse, sizeof(struct _cwmp__GetParameterAttributesResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetParameterAttributesResponse(struct soap *soap, struct _cwmp__GetParameterAttributesResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetParameterAttributesResponse(soap, tag ? tag : "cwmp:GetParameterAttributesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributesResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetParameterAttributesResponse(struct soap *soap, struct _cwmp__GetParameterAttributesResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetParameterAttributesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetParameterAttributes(struct soap *soap, struct _cwmp__GetParameterAttributes *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetParameterAttributes))
		soap_serialize__cwmp__GetParameterAttributes(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetParameterAttributes(struct soap *soap, const char *tag, int id, struct _cwmp__GetParameterAttributes *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetParameterAttributes, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetParameterAttributes(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributes ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetParameterAttributes(struct soap *soap, const char *tag, struct _cwmp__GetParameterAttributes **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetParameterAttributes **)soap_malloc(soap, sizeof(struct _cwmp__GetParameterAttributes *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetParameterAttributes(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterAttributes **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetParameterAttributes, sizeof(struct _cwmp__GetParameterAttributes), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetParameterAttributes(struct soap *soap, struct _cwmp__GetParameterAttributes *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetParameterAttributes(soap, tag ? tag : "cwmp:GetParameterAttributes", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterAttributes ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetParameterAttributes(struct soap *soap, struct _cwmp__GetParameterAttributes **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetParameterAttributes(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__SetParameterValuesResponse(struct soap *soap, struct _cwmp__SetParameterValuesResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__SetParameterValuesResponse))
		soap_serialize__cwmp__SetParameterValuesResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__SetParameterValuesResponse(struct soap *soap, const char *tag, int id, struct _cwmp__SetParameterValuesResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__SetParameterValuesResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__SetParameterValuesResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__SetParameterValuesResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__SetParameterValuesResponse(struct soap *soap, const char *tag, struct _cwmp__SetParameterValuesResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__SetParameterValuesResponse **)soap_malloc(soap, sizeof(struct _cwmp__SetParameterValuesResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__SetParameterValuesResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__SetParameterValuesResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__SetParameterValuesResponse, sizeof(struct _cwmp__SetParameterValuesResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__SetParameterValuesResponse(struct soap *soap, struct _cwmp__SetParameterValuesResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__SetParameterValuesResponse(soap, tag ? tag : "cwmp:SetParameterValuesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterValuesResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__SetParameterValuesResponse(struct soap *soap, struct _cwmp__SetParameterValuesResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__SetParameterValuesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__SetParameterValues(struct soap *soap, struct _cwmp__SetParameterValues *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__SetParameterValues))
		soap_serialize__cwmp__SetParameterValues(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__SetParameterValues(struct soap *soap, const char *tag, int id, struct _cwmp__SetParameterValues *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__SetParameterValues, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__SetParameterValues(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__SetParameterValues ** SOAP_FMAC4 soap_in_PointerTo_cwmp__SetParameterValues(struct soap *soap, const char *tag, struct _cwmp__SetParameterValues **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__SetParameterValues **)soap_malloc(soap, sizeof(struct _cwmp__SetParameterValues *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__SetParameterValues(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__SetParameterValues **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__SetParameterValues, sizeof(struct _cwmp__SetParameterValues), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__SetParameterValues(struct soap *soap, struct _cwmp__SetParameterValues *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__SetParameterValues(soap, tag ? tag : "cwmp:SetParameterValues", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SetParameterValues ** SOAP_FMAC4 soap_get_PointerTo_cwmp__SetParameterValues(struct soap *soap, struct _cwmp__SetParameterValues **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__SetParameterValues(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetParameterValuesResponse(struct soap *soap, struct _cwmp__GetParameterValuesResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetParameterValuesResponse))
		soap_serialize__cwmp__GetParameterValuesResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetParameterValuesResponse(struct soap *soap, const char *tag, int id, struct _cwmp__GetParameterValuesResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetParameterValuesResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetParameterValuesResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetParameterValuesResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetParameterValuesResponse(struct soap *soap, const char *tag, struct _cwmp__GetParameterValuesResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetParameterValuesResponse **)soap_malloc(soap, sizeof(struct _cwmp__GetParameterValuesResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetParameterValuesResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterValuesResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetParameterValuesResponse, sizeof(struct _cwmp__GetParameterValuesResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetParameterValuesResponse(struct soap *soap, struct _cwmp__GetParameterValuesResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetParameterValuesResponse(soap, tag ? tag : "cwmp:GetParameterValuesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterValuesResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetParameterValuesResponse(struct soap *soap, struct _cwmp__GetParameterValuesResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetParameterValuesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetParameterValues(struct soap *soap, struct _cwmp__GetParameterValues *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetParameterValues))
		soap_serialize__cwmp__GetParameterValues(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetParameterValues(struct soap *soap, const char *tag, int id, struct _cwmp__GetParameterValues *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetParameterValues, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetParameterValues(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetParameterValues ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetParameterValues(struct soap *soap, const char *tag, struct _cwmp__GetParameterValues **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetParameterValues **)soap_malloc(soap, sizeof(struct _cwmp__GetParameterValues *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetParameterValues(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterValues **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetParameterValues, sizeof(struct _cwmp__GetParameterValues), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetParameterValues(struct soap *soap, struct _cwmp__GetParameterValues *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetParameterValues(soap, tag ? tag : "cwmp:GetParameterValues", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterValues ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetParameterValues(struct soap *soap, struct _cwmp__GetParameterValues **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetParameterValues(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetParameterNamesResponse(struct soap *soap, struct _cwmp__GetParameterNamesResponse *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetParameterNamesResponse))
		soap_serialize__cwmp__GetParameterNamesResponse(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetParameterNamesResponse(struct soap *soap, const char *tag, int id, struct _cwmp__GetParameterNamesResponse *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetParameterNamesResponse, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetParameterNamesResponse(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetParameterNamesResponse ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetParameterNamesResponse(struct soap *soap, const char *tag, struct _cwmp__GetParameterNamesResponse **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetParameterNamesResponse **)soap_malloc(soap, sizeof(struct _cwmp__GetParameterNamesResponse *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetParameterNamesResponse(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterNamesResponse **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetParameterNamesResponse, sizeof(struct _cwmp__GetParameterNamesResponse), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetParameterNamesResponse(struct soap *soap, struct _cwmp__GetParameterNamesResponse *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetParameterNamesResponse(soap, tag ? tag : "cwmp:GetParameterNamesResponse", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterNamesResponse ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetParameterNamesResponse(struct soap *soap, struct _cwmp__GetParameterNamesResponse **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetParameterNamesResponse(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__GetParameterNames(struct soap *soap, struct _cwmp__GetParameterNames *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__GetParameterNames))
		soap_serialize__cwmp__GetParameterNames(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__GetParameterNames(struct soap *soap, const char *tag, int id, struct _cwmp__GetParameterNames *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__GetParameterNames, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__GetParameterNames(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__GetParameterNames ** SOAP_FMAC4 soap_in_PointerTo_cwmp__GetParameterNames(struct soap *soap, const char *tag, struct _cwmp__GetParameterNames **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__GetParameterNames **)soap_malloc(soap, sizeof(struct _cwmp__GetParameterNames *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__GetParameterNames(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__GetParameterNames **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__GetParameterNames, sizeof(struct _cwmp__GetParameterNames), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__GetParameterNames(struct soap *soap, struct _cwmp__GetParameterNames *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__GetParameterNames(soap, tag ? tag : "cwmp:GetParameterNames", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__GetParameterNames ** SOAP_FMAC4 soap_get_PointerTo_cwmp__GetParameterNames(struct soap *soap, struct _cwmp__GetParameterNames **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__GetParameterNames(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__Fault(struct soap *soap, struct _cwmp__Fault *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__Fault))
		soap_serialize__cwmp__Fault(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__Fault(struct soap *soap, const char *tag, int id, struct _cwmp__Fault *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__Fault, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__Fault(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__Fault ** SOAP_FMAC4 soap_in_PointerTo_cwmp__Fault(struct soap *soap, const char *tag, struct _cwmp__Fault **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__Fault **)soap_malloc(soap, sizeof(struct _cwmp__Fault *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__Fault(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__Fault **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__Fault, sizeof(struct _cwmp__Fault), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__Fault(struct soap *soap, struct _cwmp__Fault *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__Fault(soap, tag ? tag : "cwmp:Fault", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Fault ** SOAP_FMAC4 soap_get_PointerTo_cwmp__Fault(struct soap *soap, struct _cwmp__Fault **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__Fault(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__HoldRequests(struct soap *soap, struct _cwmp__HoldRequests *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__HoldRequests))
		soap_serialize__cwmp__HoldRequests(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__HoldRequests(struct soap *soap, const char *tag, int id, struct _cwmp__HoldRequests *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__HoldRequests, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__HoldRequests(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__HoldRequests ** SOAP_FMAC4 soap_in_PointerTo_cwmp__HoldRequests(struct soap *soap, const char *tag, struct _cwmp__HoldRequests **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__HoldRequests **)soap_malloc(soap, sizeof(struct _cwmp__HoldRequests *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__HoldRequests(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__HoldRequests **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__HoldRequests, sizeof(struct _cwmp__HoldRequests), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__HoldRequests(struct soap *soap, struct _cwmp__HoldRequests *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__HoldRequests(soap, tag ? tag : "cwmp:HoldRequests", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__HoldRequests ** SOAP_FMAC4 soap_get_PointerTo_cwmp__HoldRequests(struct soap *soap, struct _cwmp__HoldRequests **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__HoldRequests(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__ID(struct soap *soap, struct _cwmp__ID *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__ID))
		soap_serialize__cwmp__ID(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__ID(struct soap *soap, const char *tag, int id, struct _cwmp__ID *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__ID, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__ID(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__ID ** SOAP_FMAC4 soap_in_PointerTo_cwmp__ID(struct soap *soap, const char *tag, struct _cwmp__ID **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__ID **)soap_malloc(soap, sizeof(struct _cwmp__ID *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__ID(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__ID **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__ID, sizeof(struct _cwmp__ID), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__ID(struct soap *soap, struct _cwmp__ID *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__ID(soap, tag ? tag : "cwmp:ID", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__ID ** SOAP_FMAC4 soap_get_PointerTo_cwmp__ID(struct soap *soap, struct _cwmp__ID **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__ID(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__SessionTimeout(struct soap *soap, struct _cwmp__SessionTimeout *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__SessionTimeout))
		soap_serialize__cwmp__SessionTimeout(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__SessionTimeout(struct soap *soap, const char *tag, int id, struct _cwmp__SessionTimeout *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__SessionTimeout, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__SessionTimeout(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__SessionTimeout ** SOAP_FMAC4 soap_in_PointerTo_cwmp__SessionTimeout(struct soap *soap, const char *tag, struct _cwmp__SessionTimeout **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__SessionTimeout **)soap_malloc(soap, sizeof(struct _cwmp__SessionTimeout *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__SessionTimeout(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__SessionTimeout **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__SessionTimeout, sizeof(struct _cwmp__SessionTimeout), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__SessionTimeout(struct soap *soap, struct _cwmp__SessionTimeout *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__SessionTimeout(soap, tag ? tag : "cwmp:SessionTimeout", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SessionTimeout ** SOAP_FMAC4 soap_get_PointerTo_cwmp__SessionTimeout(struct soap *soap, struct _cwmp__SessionTimeout **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__SessionTimeout(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__UseCWMPVersion(struct soap *soap, struct _cwmp__UseCWMPVersion *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__UseCWMPVersion))
		soap_serialize__cwmp__UseCWMPVersion(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__UseCWMPVersion(struct soap *soap, const char *tag, int id, struct _cwmp__UseCWMPVersion *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__UseCWMPVersion, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__UseCWMPVersion(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__UseCWMPVersion ** SOAP_FMAC4 soap_in_PointerTo_cwmp__UseCWMPVersion(struct soap *soap, const char *tag, struct _cwmp__UseCWMPVersion **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__UseCWMPVersion **)soap_malloc(soap, sizeof(struct _cwmp__UseCWMPVersion *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__UseCWMPVersion(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__UseCWMPVersion **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__UseCWMPVersion, sizeof(struct _cwmp__UseCWMPVersion), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__UseCWMPVersion(struct soap *soap, struct _cwmp__UseCWMPVersion *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__UseCWMPVersion(soap, tag ? tag : "cwmp:UseCWMPVersion", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__UseCWMPVersion ** SOAP_FMAC4 soap_get_PointerTo_cwmp__UseCWMPVersion(struct soap *soap, struct _cwmp__UseCWMPVersion **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__UseCWMPVersion(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__SupportedCWMPVersions(struct soap *soap, struct _cwmp__SupportedCWMPVersions *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__SupportedCWMPVersions))
		soap_serialize__cwmp__SupportedCWMPVersions(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__SupportedCWMPVersions(struct soap *soap, const char *tag, int id, struct _cwmp__SupportedCWMPVersions *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__SupportedCWMPVersions, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__SupportedCWMPVersions(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__SupportedCWMPVersions ** SOAP_FMAC4 soap_in_PointerTo_cwmp__SupportedCWMPVersions(struct soap *soap, const char *tag, struct _cwmp__SupportedCWMPVersions **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__SupportedCWMPVersions **)soap_malloc(soap, sizeof(struct _cwmp__SupportedCWMPVersions *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__SupportedCWMPVersions(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__SupportedCWMPVersions **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__SupportedCWMPVersions, sizeof(struct _cwmp__SupportedCWMPVersions), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__SupportedCWMPVersions(struct soap *soap, struct _cwmp__SupportedCWMPVersions *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__SupportedCWMPVersions(soap, tag ? tag : "cwmp:SupportedCWMPVersions", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__SupportedCWMPVersions ** SOAP_FMAC4 soap_get_PointerTo_cwmp__SupportedCWMPVersions(struct soap *soap, struct _cwmp__SupportedCWMPVersions **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__SupportedCWMPVersions(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__ArgStruct))
		soap_serialize_PointerTocwmp__ArgStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__ArgStruct(struct soap *soap, const char *tag, int id, struct cwmp__ArgStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__ArgStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__ArgStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ArgStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__ArgStruct(struct soap *soap, const char *tag, struct cwmp__ArgStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ArgStruct ***)soap_malloc(soap, sizeof(struct cwmp__ArgStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__ArgStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ArgStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ArgStruct, sizeof(struct cwmp__ArgStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__ArgStruct(soap, tag ? tag : "cwmp:ArgStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ArgStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__ArgStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__ArgStruct))
		soap_serialize_cwmp__ArgStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__ArgStruct(struct soap *soap, const char *tag, int id, struct cwmp__ArgStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__ArgStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__ArgStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ArgStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__ArgStruct(struct soap *soap, const char *tag, struct cwmp__ArgStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ArgStruct **)soap_malloc(soap, sizeof(struct cwmp__ArgStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__ArgStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ArgStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ArgStruct, sizeof(struct cwmp__ArgStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__ArgStruct(soap, tag ? tag : "cwmp:ArgStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ArgStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__ArgStruct(struct soap *soap, struct cwmp__ArgStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__ArgStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__OptionStruct))
		soap_serialize_PointerTocwmp__OptionStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__OptionStruct(struct soap *soap, const char *tag, int id, struct cwmp__OptionStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__OptionStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__OptionStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__OptionStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__OptionStruct(struct soap *soap, const char *tag, struct cwmp__OptionStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__OptionStruct ***)soap_malloc(soap, sizeof(struct cwmp__OptionStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__OptionStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__OptionStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__OptionStruct, sizeof(struct cwmp__OptionStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__OptionStruct(soap, tag ? tag : "cwmp:OptionStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__OptionStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__OptionStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__OptionStruct))
		soap_serialize_cwmp__OptionStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__OptionStruct(struct soap *soap, const char *tag, int id, struct cwmp__OptionStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__OptionStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__OptionStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__OptionStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__OptionStruct(struct soap *soap, const char *tag, struct cwmp__OptionStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__OptionStruct **)soap_malloc(soap, sizeof(struct cwmp__OptionStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__OptionStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__OptionStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__OptionStruct, sizeof(struct cwmp__OptionStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__OptionStruct(soap, tag ? tag : "cwmp:OptionStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__OptionStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__OptionStruct(struct soap *soap, struct cwmp__OptionStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__OptionStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENC__base64(struct soap *soap, struct SOAP_ENC__base64 *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_SOAP_ENC__base64(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENC__base64(struct soap *soap, const char *tag, int id, struct SOAP_ENC__base64 *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptr : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_SOAP_ENC__base64, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_SOAP_ENC__base64(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct SOAP_ENC__base64 ** SOAP_FMAC4 soap_in_PointerToSOAP_ENC__base64(struct soap *soap, const char *tag, struct SOAP_ENC__base64 **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct SOAP_ENC__base64 **)soap_malloc(soap, sizeof(struct SOAP_ENC__base64 *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_SOAP_ENC__base64(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct SOAP_ENC__base64 **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENC__base64, sizeof(struct SOAP_ENC__base64), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENC__base64(struct soap *soap, struct SOAP_ENC__base64 *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToSOAP_ENC__base64(soap, tag ? tag : "SOAP-ENC:base64", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SOAP_ENC__base64 ** SOAP_FMAC4 soap_get_PointerToSOAP_ENC__base64(struct soap *soap, struct SOAP_ENC__base64 **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToSOAP_ENC__base64(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToxsd__anyURI(struct soap *soap, char **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_xsd__anyURI))
		soap_serialize_xsd__anyURI(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToxsd__anyURI(struct soap *soap, const char *tag, int id, char **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_xsd__anyURI, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_xsd__anyURI(soap, tag, id, *a, type);
}

SOAP_FMAC3 char *** SOAP_FMAC4 soap_in_PointerToxsd__anyURI(struct soap *soap, const char *tag, char ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (char ***)soap_malloc(soap, sizeof(char **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_xsd__anyURI(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (char ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_xsd__anyURI, sizeof(char *), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToxsd__anyURI(struct soap *soap, char **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToxsd__anyURI(soap, tag ? tag : "xsd:anyURI", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char *** SOAP_FMAC4 soap_get_PointerToxsd__anyURI(struct soap *soap, char ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToxsd__anyURI(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__AllQueuedTransferStruct))
		soap_serialize_PointerTocwmp__AllQueuedTransferStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__AllQueuedTransferStruct(struct soap *soap, const char *tag, int id, struct cwmp__AllQueuedTransferStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__AllQueuedTransferStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__AllQueuedTransferStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__AllQueuedTransferStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__AllQueuedTransferStruct(struct soap *soap, const char *tag, struct cwmp__AllQueuedTransferStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__AllQueuedTransferStruct ***)soap_malloc(soap, sizeof(struct cwmp__AllQueuedTransferStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__AllQueuedTransferStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__AllQueuedTransferStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__AllQueuedTransferStruct, sizeof(struct cwmp__AllQueuedTransferStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__AllQueuedTransferStruct(soap, tag ? tag : "cwmp:AllQueuedTransferStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__AllQueuedTransferStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__AllQueuedTransferStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__AllQueuedTransferStruct))
		soap_serialize_cwmp__AllQueuedTransferStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__AllQueuedTransferStruct(struct soap *soap, const char *tag, int id, struct cwmp__AllQueuedTransferStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__AllQueuedTransferStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__AllQueuedTransferStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__AllQueuedTransferStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__AllQueuedTransferStruct(struct soap *soap, const char *tag, struct cwmp__AllQueuedTransferStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__AllQueuedTransferStruct **)soap_malloc(soap, sizeof(struct cwmp__AllQueuedTransferStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__AllQueuedTransferStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__AllQueuedTransferStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__AllQueuedTransferStruct, sizeof(struct cwmp__AllQueuedTransferStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__AllQueuedTransferStruct(soap, tag ? tag : "cwmp:AllQueuedTransferStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__AllQueuedTransferStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__AllQueuedTransferStruct(struct soap *soap, struct cwmp__AllQueuedTransferStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__AllQueuedTransferStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__QueuedTransferStruct))
		soap_serialize_PointerTocwmp__QueuedTransferStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__QueuedTransferStruct(struct soap *soap, const char *tag, int id, struct cwmp__QueuedTransferStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__QueuedTransferStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__QueuedTransferStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__QueuedTransferStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__QueuedTransferStruct(struct soap *soap, const char *tag, struct cwmp__QueuedTransferStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__QueuedTransferStruct ***)soap_malloc(soap, sizeof(struct cwmp__QueuedTransferStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__QueuedTransferStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__QueuedTransferStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__QueuedTransferStruct, sizeof(struct cwmp__QueuedTransferStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__QueuedTransferStruct(soap, tag ? tag : "cwmp:QueuedTransferStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__QueuedTransferStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__QueuedTransferStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__QueuedTransferStruct))
		soap_serialize_cwmp__QueuedTransferStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__QueuedTransferStruct(struct soap *soap, const char *tag, int id, struct cwmp__QueuedTransferStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__QueuedTransferStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__QueuedTransferStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__QueuedTransferStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__QueuedTransferStruct(struct soap *soap, const char *tag, struct cwmp__QueuedTransferStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__QueuedTransferStruct **)soap_malloc(soap, sizeof(struct cwmp__QueuedTransferStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__QueuedTransferStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__QueuedTransferStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__QueuedTransferStruct, sizeof(struct cwmp__QueuedTransferStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__QueuedTransferStruct(soap, tag ? tag : "cwmp:QueuedTransferStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__QueuedTransferStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__QueuedTransferStruct(struct soap *soap, struct cwmp__QueuedTransferStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__QueuedTransferStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__TimeWindowStruct))
		soap_serialize_PointerTocwmp__TimeWindowStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__TimeWindowStruct(struct soap *soap, const char *tag, int id, struct cwmp__TimeWindowStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__TimeWindowStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__TimeWindowStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__TimeWindowStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__TimeWindowStruct(struct soap *soap, const char *tag, struct cwmp__TimeWindowStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__TimeWindowStruct ***)soap_malloc(soap, sizeof(struct cwmp__TimeWindowStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__TimeWindowStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__TimeWindowStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__TimeWindowStruct, sizeof(struct cwmp__TimeWindowStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__TimeWindowStruct(soap, tag ? tag : "cwmp:TimeWindowStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__TimeWindowStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__TimeWindowStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__TimeWindowStruct))
		soap_serialize_cwmp__TimeWindowStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__TimeWindowStruct(struct soap *soap, const char *tag, int id, struct cwmp__TimeWindowStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__TimeWindowStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__TimeWindowStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__TimeWindowStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__TimeWindowStruct(struct soap *soap, const char *tag, struct cwmp__TimeWindowStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__TimeWindowStruct **)soap_malloc(soap, sizeof(struct cwmp__TimeWindowStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__TimeWindowStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__TimeWindowStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__TimeWindowStruct, sizeof(struct cwmp__TimeWindowStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__TimeWindowStruct(soap, tag ? tag : "cwmp:TimeWindowStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__TimeWindowStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__TimeWindowStruct(struct soap *soap, struct cwmp__TimeWindowStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__TimeWindowStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__ParameterAttributeStruct))
		soap_serialize_PointerTocwmp__ParameterAttributeStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__ParameterAttributeStruct(struct soap *soap, const char *tag, int id, struct cwmp__ParameterAttributeStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__ParameterAttributeStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__ParameterAttributeStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ParameterAttributeStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__ParameterAttributeStruct(struct soap *soap, const char *tag, struct cwmp__ParameterAttributeStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ParameterAttributeStruct ***)soap_malloc(soap, sizeof(struct cwmp__ParameterAttributeStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__ParameterAttributeStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ParameterAttributeStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ParameterAttributeStruct, sizeof(struct cwmp__ParameterAttributeStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__ParameterAttributeStruct(soap, tag ? tag : "cwmp:ParameterAttributeStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterAttributeStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__ParameterAttributeStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__ParameterAttributeStruct))
		soap_serialize_cwmp__ParameterAttributeStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__ParameterAttributeStruct(struct soap *soap, const char *tag, int id, struct cwmp__ParameterAttributeStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__ParameterAttributeStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__ParameterAttributeStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ParameterAttributeStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__ParameterAttributeStruct(struct soap *soap, const char *tag, struct cwmp__ParameterAttributeStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ParameterAttributeStruct **)soap_malloc(soap, sizeof(struct cwmp__ParameterAttributeStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__ParameterAttributeStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ParameterAttributeStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ParameterAttributeStruct, sizeof(struct cwmp__ParameterAttributeStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__ParameterAttributeStruct(soap, tag ? tag : "cwmp:ParameterAttributeStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterAttributeStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__ParameterAttributeStruct(struct soap *soap, struct cwmp__ParameterAttributeStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__ParameterAttributeStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__SetParameterAttributesStruct))
		soap_serialize_PointerTocwmp__SetParameterAttributesStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__SetParameterAttributesStruct(struct soap *soap, const char *tag, int id, struct cwmp__SetParameterAttributesStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__SetParameterAttributesStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__SetParameterAttributesStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__SetParameterAttributesStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__SetParameterAttributesStruct(struct soap *soap, const char *tag, struct cwmp__SetParameterAttributesStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__SetParameterAttributesStruct ***)soap_malloc(soap, sizeof(struct cwmp__SetParameterAttributesStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__SetParameterAttributesStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__SetParameterAttributesStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__SetParameterAttributesStruct, sizeof(struct cwmp__SetParameterAttributesStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__SetParameterAttributesStruct(soap, tag ? tag : "cwmp:SetParameterAttributesStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__SetParameterAttributesStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__SetParameterAttributesStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__SetParameterAttributesStruct))
		soap_serialize_cwmp__SetParameterAttributesStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__SetParameterAttributesStruct(struct soap *soap, const char *tag, int id, struct cwmp__SetParameterAttributesStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__SetParameterAttributesStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__SetParameterAttributesStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__SetParameterAttributesStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__SetParameterAttributesStruct(struct soap *soap, const char *tag, struct cwmp__SetParameterAttributesStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__SetParameterAttributesStruct **)soap_malloc(soap, sizeof(struct cwmp__SetParameterAttributesStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__SetParameterAttributesStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__SetParameterAttributesStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__SetParameterAttributesStruct, sizeof(struct cwmp__SetParameterAttributesStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__SetParameterAttributesStruct(soap, tag ? tag : "cwmp:SetParameterAttributesStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__SetParameterAttributesStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__SetParameterAttributesStruct(struct soap *soap, struct cwmp__SetParameterAttributesStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__SetParameterAttributesStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__AccessListValueType(struct soap *soap, enum cwmp__AccessListValueType *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__AccessListValueType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__AccessListValueType(struct soap *soap, const char *tag, int id, enum cwmp__AccessListValueType *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__AccessListValueType, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__AccessListValueType(soap, tag, id, *a, type);
}

SOAP_FMAC3 enum cwmp__AccessListValueType ** SOAP_FMAC4 soap_in_PointerTocwmp__AccessListValueType(struct soap *soap, const char *tag, enum cwmp__AccessListValueType **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (enum cwmp__AccessListValueType **)soap_malloc(soap, sizeof(enum cwmp__AccessListValueType *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__AccessListValueType(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (enum cwmp__AccessListValueType **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__AccessListValueType, sizeof(enum cwmp__AccessListValueType), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__AccessListValueType(struct soap *soap, enum cwmp__AccessListValueType *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__AccessListValueType(soap, tag ? tag : "cwmp:AccessListValueType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 enum cwmp__AccessListValueType ** SOAP_FMAC4 soap_get_PointerTocwmp__AccessListValueType(struct soap *soap, enum cwmp__AccessListValueType **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__AccessListValueType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__ParameterInfoStruct))
		soap_serialize_PointerTocwmp__ParameterInfoStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__ParameterInfoStruct(struct soap *soap, const char *tag, int id, struct cwmp__ParameterInfoStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__ParameterInfoStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__ParameterInfoStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ParameterInfoStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__ParameterInfoStruct(struct soap *soap, const char *tag, struct cwmp__ParameterInfoStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ParameterInfoStruct ***)soap_malloc(soap, sizeof(struct cwmp__ParameterInfoStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__ParameterInfoStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ParameterInfoStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ParameterInfoStruct, sizeof(struct cwmp__ParameterInfoStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__ParameterInfoStruct(soap, tag ? tag : "cwmp:ParameterInfoStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterInfoStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__ParameterInfoStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__ParameterInfoStruct))
		soap_serialize_cwmp__ParameterInfoStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__ParameterInfoStruct(struct soap *soap, const char *tag, int id, struct cwmp__ParameterInfoStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__ParameterInfoStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__ParameterInfoStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ParameterInfoStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__ParameterInfoStruct(struct soap *soap, const char *tag, struct cwmp__ParameterInfoStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ParameterInfoStruct **)soap_malloc(soap, sizeof(struct cwmp__ParameterInfoStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__ParameterInfoStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ParameterInfoStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ParameterInfoStruct, sizeof(struct cwmp__ParameterInfoStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__ParameterInfoStruct(soap, tag ? tag : "cwmp:ParameterInfoStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterInfoStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__ParameterInfoStruct(struct soap *soap, struct cwmp__ParameterInfoStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__ParameterInfoStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__EventStruct))
		soap_serialize_PointerTocwmp__EventStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__EventStruct(struct soap *soap, const char *tag, int id, struct cwmp__EventStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__EventStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__EventStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__EventStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__EventStruct(struct soap *soap, const char *tag, struct cwmp__EventStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__EventStruct ***)soap_malloc(soap, sizeof(struct cwmp__EventStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__EventStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__EventStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__EventStruct, sizeof(struct cwmp__EventStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__EventStruct(soap, tag ? tag : "cwmp:EventStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__EventStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__EventStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__EventStruct))
		soap_serialize_cwmp__EventStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__EventStruct(struct soap *soap, const char *tag, int id, struct cwmp__EventStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__EventStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__EventStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__EventStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__EventStruct(struct soap *soap, const char *tag, struct cwmp__EventStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__EventStruct **)soap_malloc(soap, sizeof(struct cwmp__EventStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__EventStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__EventStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__EventStruct, sizeof(struct cwmp__EventStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__EventStruct(soap, tag ? tag : "cwmp:EventStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__EventStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__EventStruct(struct soap *soap, struct cwmp__EventStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__EventStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToPointerTocwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_PointerTocwmp__ParameterValueStruct))
		soap_serialize_PointerTocwmp__ParameterValueStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToPointerTocwmp__ParameterValueStruct(struct soap *soap, const char *tag, int id, struct cwmp__ParameterValueStruct **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_PointerTocwmp__ParameterValueStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_PointerTocwmp__ParameterValueStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ParameterValueStruct *** SOAP_FMAC4 soap_in_PointerToPointerTocwmp__ParameterValueStruct(struct soap *soap, const char *tag, struct cwmp__ParameterValueStruct ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ParameterValueStruct ***)soap_malloc(soap, sizeof(struct cwmp__ParameterValueStruct **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_PointerTocwmp__ParameterValueStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ParameterValueStruct ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ParameterValueStruct, sizeof(struct cwmp__ParameterValueStruct), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToPointerTocwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToPointerTocwmp__ParameterValueStruct(soap, tag ? tag : "cwmp:ParameterValueStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterValueStruct *** SOAP_FMAC4 soap_get_PointerToPointerTocwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToPointerTocwmp__ParameterValueStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__ParameterValueStruct))
		soap_serialize_cwmp__ParameterValueStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__ParameterValueStruct(struct soap *soap, const char *tag, int id, struct cwmp__ParameterValueStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__ParameterValueStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__ParameterValueStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__ParameterValueStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__ParameterValueStruct(struct soap *soap, const char *tag, struct cwmp__ParameterValueStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__ParameterValueStruct **)soap_malloc(soap, sizeof(struct cwmp__ParameterValueStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__ParameterValueStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__ParameterValueStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__ParameterValueStruct, sizeof(struct cwmp__ParameterValueStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__ParameterValueStruct(soap, tag ? tag : "cwmp:ParameterValueStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__ParameterValueStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__ParameterValueStruct(struct soap *soap, struct cwmp__ParameterValueStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__ParameterValueStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTostring(struct soap *soap, char **const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_string))
		soap_serialize_string(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTostring(struct soap *soap, const char *tag, int id, char **const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_string, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_string(soap, tag, id, *a, type);
}

SOAP_FMAC3 char *** SOAP_FMAC4 soap_in_PointerTostring(struct soap *soap, const char *tag, char ***a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (char ***)soap_malloc(soap, sizeof(char **))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_string(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (char ***)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_string, sizeof(char *), 1, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTostring(struct soap *soap, char **const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTostring(soap, tag ? tag : "string", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char *** SOAP_FMAC4 soap_get_PointerTostring(struct soap *soap, char ***p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTostring(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__AutonOpResultStruct(struct soap *soap, struct cwmp__AutonOpResultStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__AutonOpResultStruct))
		soap_serialize_cwmp__AutonOpResultStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__AutonOpResultStruct(struct soap *soap, const char *tag, int id, struct cwmp__AutonOpResultStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__AutonOpResultStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__AutonOpResultStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__AutonOpResultStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__AutonOpResultStruct(struct soap *soap, const char *tag, struct cwmp__AutonOpResultStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__AutonOpResultStruct **)soap_malloc(soap, sizeof(struct cwmp__AutonOpResultStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__AutonOpResultStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__AutonOpResultStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__AutonOpResultStruct, sizeof(struct cwmp__AutonOpResultStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__AutonOpResultStruct(struct soap *soap, struct cwmp__AutonOpResultStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__AutonOpResultStruct(soap, tag ? tag : "cwmp:AutonOpResultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__AutonOpResultStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__AutonOpResultStruct(struct soap *soap, struct cwmp__AutonOpResultStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__AutonOpResultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__OpResultStruct(struct soap *soap, struct cwmp__OpResultStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__OpResultStruct))
		soap_serialize_cwmp__OpResultStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__OpResultStruct(struct soap *soap, const char *tag, int id, struct cwmp__OpResultStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__OpResultStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__OpResultStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__OpResultStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__OpResultStruct(struct soap *soap, const char *tag, struct cwmp__OpResultStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__OpResultStruct **)soap_malloc(soap, sizeof(struct cwmp__OpResultStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__OpResultStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__OpResultStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__OpResultStruct, sizeof(struct cwmp__OpResultStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__OpResultStruct(struct soap *soap, struct cwmp__OpResultStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__OpResultStruct(soap, tag ? tag : "cwmp:OpResultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__OpResultStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__OpResultStruct(struct soap *soap, struct cwmp__OpResultStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__OpResultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToFileTypeArg(struct soap *soap, struct FileTypeArg *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_FileTypeArg(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToFileTypeArg(struct soap *soap, const char *tag, int id, struct FileTypeArg *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrArgStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_FileTypeArg, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_FileTypeArg(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct FileTypeArg ** SOAP_FMAC4 soap_in_PointerToFileTypeArg(struct soap *soap, const char *tag, struct FileTypeArg **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct FileTypeArg **)soap_malloc(soap, sizeof(struct FileTypeArg *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_FileTypeArg(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct FileTypeArg **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_FileTypeArg, sizeof(struct FileTypeArg), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToFileTypeArg(struct soap *soap, struct FileTypeArg *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToFileTypeArg(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct FileTypeArg ** SOAP_FMAC4 soap_get_PointerToFileTypeArg(struct soap *soap, struct FileTypeArg **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToFileTypeArg(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__TransferCompleteFaultStruct(struct soap *soap, struct cwmp__TransferCompleteFaultStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__TransferCompleteFaultStruct))
		soap_serialize_cwmp__TransferCompleteFaultStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__TransferCompleteFaultStruct(struct soap *soap, const char *tag, int id, struct cwmp__TransferCompleteFaultStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__TransferCompleteFaultStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__TransferCompleteFaultStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__TransferCompleteFaultStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__TransferCompleteFaultStruct(struct soap *soap, const char *tag, struct cwmp__TransferCompleteFaultStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__TransferCompleteFaultStruct **)soap_malloc(soap, sizeof(struct cwmp__TransferCompleteFaultStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__TransferCompleteFaultStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__TransferCompleteFaultStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__TransferCompleteFaultStruct, sizeof(struct cwmp__TransferCompleteFaultStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__TransferCompleteFaultStruct(struct soap *soap, struct cwmp__TransferCompleteFaultStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__TransferCompleteFaultStruct(soap, tag ? tag : "cwmp:TransferCompleteFaultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__TransferCompleteFaultStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__TransferCompleteFaultStruct(struct soap *soap, struct cwmp__TransferCompleteFaultStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__TransferCompleteFaultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToEventList(struct soap *soap, struct EventList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_EventList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToEventList(struct soap *soap, const char *tag, int id, struct EventList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrEventStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_EventList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_EventList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct EventList ** SOAP_FMAC4 soap_in_PointerToEventList(struct soap *soap, const char *tag, struct EventList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct EventList **)soap_malloc(soap, sizeof(struct EventList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_EventList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct EventList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_EventList, sizeof(struct EventList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToEventList(struct soap *soap, struct EventList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToEventList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct EventList ** SOAP_FMAC4 soap_get_PointerToEventList(struct soap *soap, struct EventList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToEventList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__DeviceIdStruct(struct soap *soap, struct cwmp__DeviceIdStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__DeviceIdStruct))
		soap_serialize_cwmp__DeviceIdStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__DeviceIdStruct(struct soap *soap, const char *tag, int id, struct cwmp__DeviceIdStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__DeviceIdStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__DeviceIdStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__DeviceIdStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__DeviceIdStruct(struct soap *soap, const char *tag, struct cwmp__DeviceIdStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__DeviceIdStruct **)soap_malloc(soap, sizeof(struct cwmp__DeviceIdStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__DeviceIdStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__DeviceIdStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__DeviceIdStruct, sizeof(struct cwmp__DeviceIdStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__DeviceIdStruct(struct soap *soap, struct cwmp__DeviceIdStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__DeviceIdStruct(soap, tag ? tag : "cwmp:DeviceIdStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__DeviceIdStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__DeviceIdStruct(struct soap *soap, struct cwmp__DeviceIdStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__DeviceIdStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__OperationStruct(struct soap *soap, struct cwmp__OperationStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__OperationStruct))
		soap_serialize_cwmp__OperationStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__OperationStruct(struct soap *soap, const char *tag, int id, struct cwmp__OperationStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__OperationStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__OperationStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__OperationStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__OperationStruct(struct soap *soap, const char *tag, struct cwmp__OperationStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__OperationStruct **)soap_malloc(soap, sizeof(struct cwmp__OperationStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__OperationStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__OperationStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__OperationStruct, sizeof(struct cwmp__OperationStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__OperationStruct(struct soap *soap, struct cwmp__OperationStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__OperationStruct(soap, tag ? tag : "cwmp:OperationStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__OperationStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__OperationStruct(struct soap *soap, struct cwmp__OperationStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__OperationStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToTimeWindowList(struct soap *soap, struct TimeWindowList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_TimeWindowList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToTimeWindowList(struct soap *soap, const char *tag, int id, struct TimeWindowList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrTimeWindowStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_TimeWindowList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_TimeWindowList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct TimeWindowList ** SOAP_FMAC4 soap_in_PointerToTimeWindowList(struct soap *soap, const char *tag, struct TimeWindowList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct TimeWindowList **)soap_malloc(soap, sizeof(struct TimeWindowList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_TimeWindowList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct TimeWindowList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_TimeWindowList, sizeof(struct TimeWindowList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToTimeWindowList(struct soap *soap, struct TimeWindowList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToTimeWindowList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct TimeWindowList ** SOAP_FMAC4 soap_get_PointerToTimeWindowList(struct soap *soap, struct TimeWindowList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToTimeWindowList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToAllTransferList(struct soap *soap, struct AllTransferList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_AllTransferList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToAllTransferList(struct soap *soap, const char *tag, int id, struct AllTransferList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrAllQueuedTransferStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_AllTransferList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_AllTransferList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct AllTransferList ** SOAP_FMAC4 soap_in_PointerToAllTransferList(struct soap *soap, const char *tag, struct AllTransferList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct AllTransferList **)soap_malloc(soap, sizeof(struct AllTransferList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_AllTransferList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct AllTransferList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_AllTransferList, sizeof(struct AllTransferList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToAllTransferList(struct soap *soap, struct AllTransferList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToAllTransferList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct AllTransferList ** SOAP_FMAC4 soap_get_PointerToAllTransferList(struct soap *soap, struct AllTransferList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToAllTransferList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToOptionList(struct soap *soap, struct OptionList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_OptionList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToOptionList(struct soap *soap, const char *tag, int id, struct OptionList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrOptionStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_OptionList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_OptionList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct OptionList ** SOAP_FMAC4 soap_in_PointerToOptionList(struct soap *soap, const char *tag, struct OptionList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct OptionList **)soap_malloc(soap, sizeof(struct OptionList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_OptionList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct OptionList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_OptionList, sizeof(struct OptionList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToOptionList(struct soap *soap, struct OptionList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToOptionList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct OptionList ** SOAP_FMAC4 soap_get_PointerToOptionList(struct soap *soap, struct OptionList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToOptionList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToVoucherList(struct soap *soap, struct VoucherList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_VoucherList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToVoucherList(struct soap *soap, const char *tag, int id, struct VoucherList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrbase64 : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_VoucherList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_VoucherList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct VoucherList ** SOAP_FMAC4 soap_in_PointerToVoucherList(struct soap *soap, const char *tag, struct VoucherList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct VoucherList **)soap_malloc(soap, sizeof(struct VoucherList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_VoucherList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct VoucherList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_VoucherList, sizeof(struct VoucherList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToVoucherList(struct soap *soap, struct VoucherList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToVoucherList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct VoucherList ** SOAP_FMAC4 soap_get_PointerToVoucherList(struct soap *soap, struct VoucherList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToVoucherList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToTransferList(struct soap *soap, struct TransferList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_TransferList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToTransferList(struct soap *soap, const char *tag, int id, struct TransferList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrQueuedTransferStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_TransferList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_TransferList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct TransferList ** SOAP_FMAC4 soap_in_PointerToTransferList(struct soap *soap, const char *tag, struct TransferList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct TransferList **)soap_malloc(soap, sizeof(struct TransferList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_TransferList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct TransferList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_TransferList, sizeof(struct TransferList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToTransferList(struct soap *soap, struct TransferList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToTransferList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct TransferList ** SOAP_FMAC4 soap_get_PointerToTransferList(struct soap *soap, struct TransferList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToTransferList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToParameterAttributeList(struct soap *soap, struct ParameterAttributeList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_ParameterAttributeList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToParameterAttributeList(struct soap *soap, const char *tag, int id, struct ParameterAttributeList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrParameterAttributeStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_ParameterAttributeList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_ParameterAttributeList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct ParameterAttributeList ** SOAP_FMAC4 soap_in_PointerToParameterAttributeList(struct soap *soap, const char *tag, struct ParameterAttributeList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct ParameterAttributeList **)soap_malloc(soap, sizeof(struct ParameterAttributeList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_ParameterAttributeList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct ParameterAttributeList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ParameterAttributeList, sizeof(struct ParameterAttributeList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToParameterAttributeList(struct soap *soap, struct ParameterAttributeList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToParameterAttributeList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterAttributeList ** SOAP_FMAC4 soap_get_PointerToParameterAttributeList(struct soap *soap, struct ParameterAttributeList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToParameterAttributeList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSetParameterAttributesList(struct soap *soap, struct SetParameterAttributesList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_SetParameterAttributesList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSetParameterAttributesList(struct soap *soap, const char *tag, int id, struct SetParameterAttributesList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrSetParameterAttributesStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_SetParameterAttributesList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_SetParameterAttributesList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct SetParameterAttributesList ** SOAP_FMAC4 soap_in_PointerToSetParameterAttributesList(struct soap *soap, const char *tag, struct SetParameterAttributesList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct SetParameterAttributesList **)soap_malloc(soap, sizeof(struct SetParameterAttributesList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_SetParameterAttributesList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct SetParameterAttributesList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SetParameterAttributesList, sizeof(struct SetParameterAttributesList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSetParameterAttributesList(struct soap *soap, struct SetParameterAttributesList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToSetParameterAttributesList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct SetParameterAttributesList ** SOAP_FMAC4 soap_get_PointerToSetParameterAttributesList(struct soap *soap, struct SetParameterAttributesList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToSetParameterAttributesList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToParameterInfoList(struct soap *soap, struct ParameterInfoList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_ParameterInfoList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToParameterInfoList(struct soap *soap, const char *tag, int id, struct ParameterInfoList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrParameterInfoStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_ParameterInfoList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_ParameterInfoList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct ParameterInfoList ** SOAP_FMAC4 soap_in_PointerToParameterInfoList(struct soap *soap, const char *tag, struct ParameterInfoList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct ParameterInfoList **)soap_malloc(soap, sizeof(struct ParameterInfoList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_ParameterInfoList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct ParameterInfoList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ParameterInfoList, sizeof(struct ParameterInfoList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToParameterInfoList(struct soap *soap, struct ParameterInfoList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToParameterInfoList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterInfoList ** SOAP_FMAC4 soap_get_PointerToParameterInfoList(struct soap *soap, struct ParameterInfoList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToParameterInfoList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToParameterNames(struct soap *soap, struct ParameterNames *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_ParameterNames(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToParameterNames(struct soap *soap, const char *tag, int id, struct ParameterNames *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrstring : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_ParameterNames, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_ParameterNames(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct ParameterNames ** SOAP_FMAC4 soap_in_PointerToParameterNames(struct soap *soap, const char *tag, struct ParameterNames **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct ParameterNames **)soap_malloc(soap, sizeof(struct ParameterNames *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_ParameterNames(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct ParameterNames **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ParameterNames, sizeof(struct ParameterNames), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToParameterNames(struct soap *soap, struct ParameterNames *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToParameterNames(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterNames ** SOAP_FMAC4 soap_get_PointerToParameterNames(struct soap *soap, struct ParameterNames **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToParameterNames(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToParameterValueList(struct soap *soap, struct ParameterValueList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_ParameterValueList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToParameterValueList(struct soap *soap, const char *tag, int id, struct ParameterValueList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrParameterValueStruct : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_ParameterValueList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_ParameterValueList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct ParameterValueList ** SOAP_FMAC4 soap_in_PointerToParameterValueList(struct soap *soap, const char *tag, struct ParameterValueList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct ParameterValueList **)soap_malloc(soap, sizeof(struct ParameterValueList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_ParameterValueList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct ParameterValueList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_ParameterValueList, sizeof(struct ParameterValueList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToParameterValueList(struct soap *soap, struct ParameterValueList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToParameterValueList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct ParameterValueList ** SOAP_FMAC4 soap_get_PointerToParameterValueList(struct soap *soap, struct ParameterValueList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToParameterValueList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToMethodList(struct soap *soap, struct MethodList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_MethodList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToMethodList(struct soap *soap, const char *tag, int id, struct MethodList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrstring : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_MethodList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_MethodList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct MethodList ** SOAP_FMAC4 soap_in_PointerToMethodList(struct soap *soap, const char *tag, struct MethodList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct MethodList **)soap_malloc(soap, sizeof(struct MethodList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_MethodList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct MethodList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_MethodList, sizeof(struct MethodList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToMethodList(struct soap *soap, struct MethodList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToMethodList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct MethodList ** SOAP_FMAC4 soap_get_PointerToMethodList(struct soap *soap, struct MethodList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToMethodList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTo_cwmp__Fault_SetParameterValuesFault(struct soap *soap, struct _cwmp__Fault_SetParameterValuesFault *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault))
		soap_serialize__cwmp__Fault_SetParameterValuesFault(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTo_cwmp__Fault_SetParameterValuesFault(struct soap *soap, const char *tag, int id, struct _cwmp__Fault_SetParameterValuesFault *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault, NULL);
	if (id < 0)
		return soap->error;
	return soap_out__cwmp__Fault_SetParameterValuesFault(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct _cwmp__Fault_SetParameterValuesFault ** SOAP_FMAC4 soap_in_PointerTo_cwmp__Fault_SetParameterValuesFault(struct soap *soap, const char *tag, struct _cwmp__Fault_SetParameterValuesFault **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct _cwmp__Fault_SetParameterValuesFault **)soap_malloc(soap, sizeof(struct _cwmp__Fault_SetParameterValuesFault *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in__cwmp__Fault_SetParameterValuesFault(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct _cwmp__Fault_SetParameterValuesFault **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE__cwmp__Fault_SetParameterValuesFault, sizeof(struct _cwmp__Fault_SetParameterValuesFault), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTo_cwmp__Fault_SetParameterValuesFault(struct soap *soap, struct _cwmp__Fault_SetParameterValuesFault *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTo_cwmp__Fault_SetParameterValuesFault(soap, tag ? tag : "cwmp:Fault-SetParameterValuesFault", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct _cwmp__Fault_SetParameterValuesFault ** SOAP_FMAC4 soap_get_PointerTo_cwmp__Fault_SetParameterValuesFault(struct soap *soap, struct _cwmp__Fault_SetParameterValuesFault **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTo_cwmp__Fault_SetParameterValuesFault(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTodateTime(struct soap *soap, time_t *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_dateTime);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTodateTime(struct soap *soap, const char *tag, int id, time_t *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_dateTime, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_dateTime(soap, tag, id, *a, type);
}

SOAP_FMAC3 time_t ** SOAP_FMAC4 soap_in_PointerTodateTime(struct soap *soap, const char *tag, time_t **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (time_t **)soap_malloc(soap, sizeof(time_t *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_dateTime(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (time_t **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_dateTime, sizeof(time_t), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTodateTime(struct soap *soap, time_t *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTodateTime(soap, tag ? tag : "dateTime", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 time_t ** SOAP_FMAC4 soap_get_PointerTodateTime(struct soap *soap, time_t **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTodateTime(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTocwmp__DeploymentUnitFaultStruct(struct soap *soap, struct cwmp__DeploymentUnitFaultStruct *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (!soap_reference(soap, *a, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct))
		soap_serialize_cwmp__DeploymentUnitFaultStruct(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTocwmp__DeploymentUnitFaultStruct(struct soap *soap, const char *tag, int id, struct cwmp__DeploymentUnitFaultStruct *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_cwmp__DeploymentUnitFaultStruct(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct cwmp__DeploymentUnitFaultStruct ** SOAP_FMAC4 soap_in_PointerTocwmp__DeploymentUnitFaultStruct(struct soap *soap, const char *tag, struct cwmp__DeploymentUnitFaultStruct **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct cwmp__DeploymentUnitFaultStruct **)soap_malloc(soap, sizeof(struct cwmp__DeploymentUnitFaultStruct *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_cwmp__DeploymentUnitFaultStruct(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct cwmp__DeploymentUnitFaultStruct **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_cwmp__DeploymentUnitFaultStruct, sizeof(struct cwmp__DeploymentUnitFaultStruct), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTocwmp__DeploymentUnitFaultStruct(struct soap *soap, struct cwmp__DeploymentUnitFaultStruct *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTocwmp__DeploymentUnitFaultStruct(soap, tag ? tag : "cwmp:DeploymentUnitFaultStruct", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct cwmp__DeploymentUnitFaultStruct ** SOAP_FMAC4 soap_get_PointerTocwmp__DeploymentUnitFaultStruct(struct soap *soap, struct cwmp__DeploymentUnitFaultStruct **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTocwmp__DeploymentUnitFaultStruct(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToAccessList(struct soap *soap, struct AccessList *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	if (*a)
		soap_serialize_AccessList(soap, *a);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToAccessList(struct soap *soap, const char *tag, int id, struct AccessList *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, *a ? (*a)->__ptrstring : NULL, *a ? (*a)->__size : 0, type, SOAP_TYPE_AccessList, NULL);
	if (!*a || id < 0)
		return soap->error;
	return soap_out_AccessList(soap, tag, id, *a, type);
}

SOAP_FMAC3 struct AccessList ** SOAP_FMAC4 soap_in_PointerToAccessList(struct soap *soap, const char *tag, struct AccessList **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (struct AccessList **)soap_malloc(soap, sizeof(struct AccessList *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_AccessList(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (struct AccessList **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_AccessList, sizeof(struct AccessList), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToAccessList(struct soap *soap, struct AccessList *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerToAccessList(soap, tag ? tag : "SOAP-ENC:Array", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 struct AccessList ** SOAP_FMAC4 soap_get_PointerToAccessList(struct soap *soap, struct AccessList **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerToAccessList(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__DeploymentUnitUUID(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__DeploymentUnitUUID);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DeploymentUnitUUID(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__DeploymentUnitUUID);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__DeploymentUnitUUID(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__DeploymentUnitUUID, 1, 0, -1, "[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}");
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DeploymentUnitUUID(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DeploymentUnitUUID(soap, tag ? tag : "cwmp:DeploymentUnitUUID", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__DeploymentUnitUUID(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DeploymentUnitUUID(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__ParameterKeyType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__ParameterKeyType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ParameterKeyType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__ParameterKeyType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__ParameterKeyType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__ParameterKeyType, 1, 0, 32, NULL);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ParameterKeyType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ParameterKeyType(soap, tag ? tag : "cwmp:ParameterKeyType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__ParameterKeyType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ParameterKeyType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__ObjectNameType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__ObjectNameType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__ObjectNameType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__ObjectNameType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__ObjectNameType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__ObjectNameType, 1, 0, 256, ".*\\.");
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__ObjectNameType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__ObjectNameType(soap, tag ? tag : "cwmp:ObjectNameType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__ObjectNameType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__ObjectNameType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__CommandKeyType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__CommandKeyType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__CommandKeyType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__CommandKeyType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__CommandKeyType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__CommandKeyType, 1, 0, 32, NULL);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__CommandKeyType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__CommandKeyType(soap, tag ? tag : "cwmp:CommandKeyType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__CommandKeyType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__CommandKeyType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__TimeWindowModeValueType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__TimeWindowModeValueType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__TimeWindowModeValueType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__TimeWindowModeValueType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__TimeWindowModeValueType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__TimeWindowModeValueType, 1, 0, 64, "[1-9]\\d*( \\S+)+|X [0-9A-F]{6} .+|X \\S+ .+");
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__TimeWindowModeValueType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__TimeWindowModeValueType(soap, tag ? tag : "cwmp:TimeWindowModeValueType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__TimeWindowModeValueType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__TimeWindowModeValueType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__EventCodeType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__EventCodeType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__EventCodeType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__EventCodeType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__EventCodeType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__EventCodeType, 1, 0, 64, "\\d+( \\S+)+|M \\S+|M X_\\S+|X [0-9A-F]{6} .+|X \\S+ .+");
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__EventCodeType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__EventCodeType(soap, tag ? tag : "cwmp:EventCodeType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__EventCodeType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__EventCodeType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__UploadFileType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__UploadFileType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__UploadFileType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__UploadFileType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__UploadFileType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__UploadFileType, 1, 0, 64, "[1-9]\\d*( \\S+)+|[1-9]\\d*( \\S+)+ [1-9]\\d*|X [0-9A-F]{6} .+|X \\S+ .+");
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__UploadFileType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__UploadFileType(soap, tag ? tag : "cwmp:UploadFileType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__UploadFileType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__UploadFileType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__DownloadFileType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__DownloadFileType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DownloadFileType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__DownloadFileType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__DownloadFileType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__DownloadFileType, 1, 0, 64, "[1-9]\\d*( \\S+)+|X [0-9A-F]{6} .+|X \\S+ .+");
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DownloadFileType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DownloadFileType(soap, tag ? tag : "cwmp:DownloadFileType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__DownloadFileType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DownloadFileType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__TransferFileType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__TransferFileType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__TransferFileType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__TransferFileType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__TransferFileType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__TransferFileType, 1, 0, 64, "[1-9]\\d*( \\S+)+|[1-9]\\d*( \\S+)+ [1-9]\\d*|X [0-9A-F]{6} .+|X \\S+ .+");
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__TransferFileType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__TransferFileType(soap, tag ? tag : "cwmp:TransferFileType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__TransferFileType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__TransferFileType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_cwmp__DeploymentUnitOperationType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_cwmp__DeploymentUnitOperationType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_cwmp__DeploymentUnitOperationType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_cwmp__DeploymentUnitOperationType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_cwmp__DeploymentUnitOperationType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_cwmp__DeploymentUnitOperationType, 1, 0, -1, NULL);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_cwmp__DeploymentUnitOperationType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_cwmp__DeploymentUnitOperationType(soap, tag ? tag : "cwmp:DeploymentUnitOperationType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_cwmp__DeploymentUnitOperationType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_cwmp__DeploymentUnitOperationType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__anyURI(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_xsd__anyURI);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_xsd__anyURI(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_xsd__anyURI);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_xsd__anyURI(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_xsd__anyURI, 4, 0, -1, NULL);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__anyURI(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_xsd__anyURI(soap, tag ? tag : "xsd:anyURI", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_xsd__anyURI(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_xsd__anyURI(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_xsd__anySimpleType(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_xsd__anySimpleType);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_xsd__anySimpleType(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
{
	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_xsd__anySimpleType);
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_xsd__anySimpleType(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_xsd__anySimpleType, 1, 0, -1, NULL);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_xsd__anySimpleType(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_xsd__anySimpleType(soap, tag ? tag : "xsd:anySimpleType", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_xsd__anySimpleType(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_xsd__anySimpleType(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerTounsignedByte(struct soap *soap, unsigned char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_unsignedByte);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerTounsignedByte(struct soap *soap, const char *tag, int id, unsigned char *const*a, const char *type)
{
	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_unsignedByte, NULL);
	if (id < 0)
		return soap->error;
	return soap_out_unsignedByte(soap, tag, id, *a, type);
}

SOAP_FMAC3 unsigned char ** SOAP_FMAC4 soap_in_PointerTounsignedByte(struct soap *soap, const char *tag, unsigned char **a, const char *type)
{
	(void)type; /* appease -Wall -Werror */
	if (soap_element_begin_in(soap, tag, 1, NULL))
		return NULL;
	if (!a)
		if (!(a = (unsigned char **)soap_malloc(soap, sizeof(unsigned char *))))
			return NULL;
	*a = NULL;
	if (!soap->null && *soap->href != '#')
	{	soap_revert(soap);
		if (!(*a = soap_in_unsignedByte(soap, tag, *a, type)))
			return NULL;
	}
	else
	{	a = (unsigned char **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_unsignedByte, sizeof(unsigned char), 0, NULL);
		if (soap->body && soap_element_end_in(soap, tag))
			return NULL;
	}
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerTounsignedByte(struct soap *soap, unsigned char *const*a, const char *tag, const char *type)
{
	if (soap_out_PointerTounsignedByte(soap, tag ? tag : "unsignedByte", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 unsigned char ** SOAP_FMAC4 soap_get_PointerTounsignedByte(struct soap *soap, unsigned char **p, const char *tag, const char *type)
{
	if ((p = soap_in_PointerTounsignedByte(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize__QName(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE__QName);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 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_FMAC3 char * * SOAP_FMAC4 soap_in__QName(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE__QName, 2, 0, -1, NULL);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out__QName(soap, tag ? tag : "QName", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in__QName(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_string(struct soap *soap, char *const*a)
{
	(void)soap; (void)a; /* appease -Wall -Werror */
#ifndef WITH_NOIDREF
	(void)soap_reference(soap, *a, SOAP_TYPE_string);
#endif
}

SOAP_FMAC3 int SOAP_FMAC4 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_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap *soap, const char *tag, char **a, const char *type)
{
	a = soap_instring(soap, tag, a, type, SOAP_TYPE_string, 1, 0, -1, NULL);
	return a;
}

SOAP_FMAC3 char * * SOAP_FMAC4 soap_new_string(struct soap *soap, int n)
{
	char * *a = static_cast<char * *>(soap_malloc(soap, (n = (n < 0 ? 1 : n)) * sizeof(char *)));
	for (char * *p = a; p && n--; ++p)
		soap_default_string(soap, p);
	return a;
}

SOAP_FMAC3 int SOAP_FMAC4 soap_put_string(struct soap *soap, char *const*a, const char *tag, const char *type)
{
	if (soap_out_string(soap, tag ? tag : "string", -2, a, type))
		return soap->error;
	return soap_putindependent(soap);
}

SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap *soap, char **p, const char *tag, const char *type)
{
	if ((p = soap_in_string(soap, tag, p, type)))
		if (soap_getindependent(soap))
			return NULL;
	return p;
}

#if defined(__BORLANDC__)
#pragma option pop
#pragma option pop
#endif

/* End of soapC.cpp */
