aboutsummaryrefslogtreecommitdiff
path: root/dep/gsoap/soapServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dep/gsoap/soapServer.cpp')
-rw-r--r--dep/gsoap/soapServer.cpp127
1 files changed, 127 insertions, 0 deletions
diff --git a/dep/gsoap/soapServer.cpp b/dep/gsoap/soapServer.cpp
new file mode 100644
index 00000000000..e3eeb8fb3d7
--- /dev/null
+++ b/dep/gsoap/soapServer.cpp
@@ -0,0 +1,127 @@
+/* soapServer.cpp
+ Generated by gSOAP 2.7.10 from stub.h
+ Copyright(C) 2000-2008, 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.
+*/
+#include "soapH.h"
+
+SOAP_SOURCE_STAMP("@(#) soapServer.cpp ver 2.7.10 2010-02-18 18:41:56 GMT")
+
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap)
+{
+#ifndef WITH_FASTCGI
+ unsigned int k = soap->max_keep_alive;
+#endif
+
+ do
+ {
+#ifdef WITH_FASTCGI
+ if (FCGI_Accept() < 0)
+ {
+ soap->error = SOAP_EOF;
+ return soap_send_fault(soap);
+ }
+#endif
+
+ soap_begin(soap);
+
+#ifndef WITH_FASTCGI
+ if (soap->max_keep_alive > 0 && !--k)
+ soap->keep_alive = 0;
+#endif
+
+ if (soap_begin_recv(soap))
+ { if (soap->error < SOAP_STOP)
+ {
+#ifdef WITH_FASTCGI
+ soap_send_fault(soap);
+#else
+ return soap_send_fault(soap);
+#endif
+ }
+ soap_closesock(soap);
+
+ continue;
+ }
+
+ if (soap_envelope_begin_in(soap)
+ || soap_recv_header(soap)
+ || soap_body_begin_in(soap)
+ || soap_serve_request(soap)
+ || (soap->fserveloop && soap->fserveloop(soap)))
+ {
+#ifdef WITH_FASTCGI
+ soap_send_fault(soap);
+#else
+ return soap_send_fault(soap);
+#endif
+ }
+
+#ifdef WITH_FASTCGI
+ soap_destroy(soap);
+ soap_end(soap);
+ } while (1);
+#else
+ } while (soap->keep_alive);
+#endif
+ return SOAP_OK;
+}
+
+#ifndef WITH_NOSERVEREQUEST
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_request(struct soap *soap)
+{
+ soap_peek_element(soap);
+ if (!soap_match_tag(soap, soap->tag, "ns1:executeCommand"))
+ return soap_serve_ns1__executeCommand(soap);
+ return soap->error = SOAP_NO_METHOD;
+}
+#endif
+
+SOAP_FMAC5 int SOAP_FMAC6 soap_serve_ns1__executeCommand(struct soap *soap)
+{ struct ns1__executeCommand soap_tmp_ns1__executeCommand;
+ struct ns1__executeCommandResponse soap_tmp_ns1__executeCommandResponse;
+ char * soap_tmp_string;
+ soap_default_ns1__executeCommandResponse(soap, &soap_tmp_ns1__executeCommandResponse);
+ soap_tmp_string = NULL;
+ soap_tmp_ns1__executeCommandResponse.result = &soap_tmp_string;
+ soap_default_ns1__executeCommand(soap, &soap_tmp_ns1__executeCommand);
+ soap->encodingStyle = NULL;
+ if (!soap_get_ns1__executeCommand(soap, &soap_tmp_ns1__executeCommand, "ns1:executeCommand", NULL))
+ return soap->error;
+ if (soap_body_end_in(soap)
+ || soap_envelope_end_in(soap)
+ || soap_end_recv(soap))
+ return soap->error;
+ soap->error = ns1__executeCommand(soap, soap_tmp_ns1__executeCommand.command, &soap_tmp_string);
+ if (soap->error)
+ return soap->error;
+ soap_serializeheader(soap);
+ soap_serialize_ns1__executeCommandResponse(soap, &soap_tmp_ns1__executeCommandResponse);
+ 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_ns1__executeCommandResponse(soap, &soap_tmp_ns1__executeCommandResponse, "ns1:executeCommandResponse", "")
+ || soap_body_end_out(soap)
+ || soap_envelope_end_out(soap))
+ return soap->error;
+ };
+ if (soap_end_count(soap)
+ || soap_response(soap, SOAP_OK)
+ || soap_envelope_begin_out(soap)
+ || soap_putheader(soap)
+ || soap_body_begin_out(soap)
+ || soap_put_ns1__executeCommandResponse(soap, &soap_tmp_ns1__executeCommandResponse, "ns1:executeCommandResponse", "")
+ || soap_body_end_out(soap)
+ || soap_envelope_end_out(soap)
+ || soap_end_send(soap))
+ return soap->error;
+ return soap_closesock(soap);
+}
+
+/* End of soapServer.cpp */
+