/* dsl_cpe_soap_Client.c
   Generated by gSOAP 2.7.8c from dsl_cpe_soap_interface.h
   Copyright (C) 2000-2006, Robert van Engelen, Genivia Inc. All Rights Reserved.
   This part of the software is released under one of the following licenses:
   GPL, the gSOAP public license, or Genivia's license for commercial use.
*/

#ifndef _lint

#include "dsl_cpe_soap_H.h"
#ifdef __cplusplus
extern "C" {
#endif

SOAP_SOURCE_STAMP("@(#) dsl_cpe_soap_Client.c ver 2.7.8c 2007-03-23 15:33:32 GMT")


SOAP_FMAC5 int SOAP_FMAC6 soap_call_ifx__DslCpeCliAccess(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *command, char **result)
{	struct ifx__DslCpeCliAccess soap_tmp_ifx__DslCpeCliAccess;
	struct ifx__DslCpeCliAccessResponse *soap_tmp_ifx__DslCpeCliAccessResponse;
	if (!soap_endpoint)
		soap_endpoint = "http://board:8080";
	soap->encodingStyle = "";
	soap_tmp_ifx__DslCpeCliAccess.command = command;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_ifx__DslCpeCliAccess(soap, &soap_tmp_ifx__DslCpeCliAccess);
	if (soap_begin_count(soap))
		return soap->error;
	if (soap->mode & SOAP_IO_LENGTH)
	{	if (soap_envelope_begin_out(soap)
		 || soap_putheader(soap)
		 || soap_body_begin_out(soap)
		 || soap_put_ifx__DslCpeCliAccess(soap, &soap_tmp_ifx__DslCpeCliAccess, "ifx:DslCpeCliAccess", "")
		 || soap_body_end_out(soap)
		 || soap_envelope_end_out(soap))
			 return soap->error;
	}
	if (soap_end_count(soap))
		return soap->error;
	if (soap_connect(soap, soap_endpoint, soap_action)
	 || soap_envelope_begin_out(soap)
	 || soap_putheader(soap)
	 || soap_body_begin_out(soap)
	 || soap_put_ifx__DslCpeCliAccess(soap, &soap_tmp_ifx__DslCpeCliAccess, "ifx:DslCpeCliAccess", "")
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	*result = NULL;
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	soap_tmp_ifx__DslCpeCliAccessResponse = soap_get_ifx__DslCpeCliAccessResponse(soap, NULL, "ifx:DslCpeCliAccessResponse", "");
	if (soap->error)
	{	if (soap->error == SOAP_TAG_MISMATCH && soap->level == 2)
			return soap_recv_fault(soap);
		return soap_closesock(soap);
	}
	if (soap_body_end_in(soap)
	 || soap_envelope_end_in(soap)
	 || soap_end_recv(soap))
		return soap_closesock(soap);
	if (result && soap_tmp_ifx__DslCpeCliAccessResponse->result)
		*result = *soap_tmp_ifx__DslCpeCliAccessResponse->result;
	return soap_closesock(soap);
}

SOAP_FMAC5 int SOAP_FMAC6 soap_call_ifx__DslCpeEventCallback(struct soap *soap, const char *soap_endpoint, const char *soap_action, char *command, char **result)
{	struct ifx__DslCpeEventCallback soap_tmp_ifx__DslCpeEventCallback;
	struct ifx__DslCpeEventCallbackResponse *soap_tmp_ifx__DslCpeEventCallbackResponse;
	if (!soap_endpoint)
		soap_endpoint = "http://board:8080";
	soap->encodingStyle = "";
	soap_tmp_ifx__DslCpeEventCallback.command = command;
	soap_begin(soap);
	soap_serializeheader(soap);
	soap_serialize_ifx__DslCpeEventCallback(soap, &soap_tmp_ifx__DslCpeEventCallback);
	if (soap_begin_count(soap))
		return soap->error;
	if (soap->mode & SOAP_IO_LENGTH)
	{	if (soap_envelope_begin_out(soap)
		 || soap_putheader(soap)
		 || soap_body_begin_out(soap)
		 || soap_put_ifx__DslCpeEventCallback(soap, &soap_tmp_ifx__DslCpeEventCallback, "ifx:DslCpeEventCallback", "")
		 || soap_body_end_out(soap)
		 || soap_envelope_end_out(soap))
			 return soap->error;
	}
	if (soap_end_count(soap))
		return soap->error;
	if (soap_connect(soap, soap_endpoint, soap_action)
	 || soap_envelope_begin_out(soap)
	 || soap_putheader(soap)
	 || soap_body_begin_out(soap)
	 || soap_put_ifx__DslCpeEventCallback(soap, &soap_tmp_ifx__DslCpeEventCallback, "ifx:DslCpeEventCallback", "")
	 || soap_body_end_out(soap)
	 || soap_envelope_end_out(soap)
	 || soap_end_send(soap))
		return soap_closesock(soap);
	*result = NULL;
	if (soap_begin_recv(soap)
	 || soap_envelope_begin_in(soap)
	 || soap_recv_header(soap)
	 || soap_body_begin_in(soap))
		return soap_closesock(soap);
	soap_tmp_ifx__DslCpeEventCallbackResponse = soap_get_ifx__DslCpeEventCallbackResponse(soap, NULL, "ifx:DslCpeEventCallbackResponse", "");
	if (soap->error)
	{	if (soap->error == SOAP_TAG_MISMATCH && soap->level == 2)
			return soap_recv_fault(soap);
		return soap_closesock(soap);
	}
	if (soap_body_end_in(soap)
	 || soap_envelope_end_in(soap)
	 || soap_end_recv(soap))
		return soap_closesock(soap);
	if (result && soap_tmp_ifx__DslCpeEventCallbackResponse->result)
		*result = *soap_tmp_ifx__DslCpeEventCallbackResponse->result;
	return soap_closesock(soap);
}

#ifdef __cplusplus
}
#endif

#endif /* _lint*/

/* End of dsl_cpe_soap_Client.c */
