From 3a88be29ecb1a2a67e85d8b8d8649865901b9b86 Mon Sep 17 00:00:00 2001 From: snowdrop Date: Mon, 13 Sep 2004 07:12:33 +0000 Subject: made win32 threaded httpd_run not threaded again --- examples/csoap/simpleserver.c | 188 ++++++++++++++++++++---------------------- 1 file changed, 88 insertions(+), 100 deletions(-) (limited to 'examples') diff --git a/examples/csoap/simpleserver.c b/examples/csoap/simpleserver.c index f4b7bef..85ea78f 100644 --- a/examples/csoap/simpleserver.c +++ b/examples/csoap/simpleserver.c @@ -1,103 +1,91 @@ -/****************************************************************** - * $Id: simpleserver.c,v 1.7 2004/09/07 18:43:49 rans Exp $ - * - * CSOAP Project: CSOAP examples project - * Copyright (C) 2003 Ferhat Ayaz - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA - * - * Email: ayaz@jprogrammer.net - ******************************************************************/ - -#include - - -static const char *url = "/csoapserver"; -static const char *urn = "urn:examples"; -static const char *method = "sayHello"; - - -void add_name(xmlNodePtr node, SoapEnv *env) -{ - char *name; - name = (char*)xmlNodeListGetString(node->doc, - node->xmlChildrenNode, 1); - - - if (!name) return; - - soap_env_add_itemf(env,"xsd:string", "echo", - "Hello '%s'", name); - - xmlFree(BAD_CAST name); - -} - - -SoapEnv* say_hello(SoapEnv *request) -{ - - SoapEnv *env; - xmlNodePtr method, node; - - env = soap_env_new_with_response(request); - - method = soap_env_get_method(request); - node = soap_xml_get_children(method); - - while (node) { - add_name(node, env); - node = soap_xml_get_next(node); - } - - return env; -} - - -int main(int argc, char *argv[]) -{ - char c; - SoapRouter *router; - - log_set_level(HLOG_VERBOSE); - - if (!soap_server_init_args(argc, argv)) { - return 1; - } - +/****************************************************************** + * $Id: simpleserver.c,v 1.8 2004/09/13 07:12:33 snowdrop Exp $ + * + * CSOAP Project: CSOAP examples project + * Copyright (C) 2003 Ferhat Ayaz + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA + * + * Email: ayaz@jprogrammer.net + ******************************************************************/ + +#include + + +static const char *url = "/csoapserver"; +static const char *urn = "urn:examples"; +static const char *method = "sayHello"; + + +void add_name(xmlNodePtr node, SoapEnv *env) +{ + char *name; + name = (char*)xmlNodeListGetString(node->doc, + node->xmlChildrenNode, 1); + + + if (!name) return; + + soap_env_add_itemf(env,"xsd:string", "echo", + "Hello '%s'", name); + + xmlFree(BAD_CAST name); + +} + + +SoapEnv* say_hello(SoapEnv *request) +{ + + SoapEnv *env; + xmlNodePtr method, node; + + env = soap_env_new_with_response(request); + + method = soap_env_get_method(request); + node = soap_xml_get_children(method); + + while (node) { + add_name(node, env); + node = soap_xml_get_next(node); + } + + return env; +} + + +int main(int argc, char *argv[]) +{ + + SoapRouter *router; + + log_set_level(HLOG_VERBOSE); + + if (!soap_server_init_args(argc, argv)) { + return 1; + } + router = soap_router_new(); soap_router_register_service(router, say_hello, method, urn); soap_server_register_router(router, url); - -#ifndef WIN32 - log_info1("send SIGTERM to shutdown"); -#endif - soap_server_run(); - -#ifdef WIN32 - log_info1("press ENTER to continue!"); - gets(&c); -#endif - - log_info1("shutting down\n"); - soap_server_destroy(); - - return 0; -} - - - - - + + log_info1("send SIGTERM to shutdown"); + soap_server_run(); + + log_info1("shutting down\n"); + soap_server_destroy(); + + return 0; +} \ No newline at end of file -- cgit v1.1-32-gdbae