summaryrefslogtreecommitdiffstats
path: root/libcsoap/soap-router.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcsoap/soap-router.c')
-rw-r--r--libcsoap/soap-router.c118
1 files changed, 63 insertions, 55 deletions
diff --git a/libcsoap/soap-router.c b/libcsoap/soap-router.c
index 966edad..74c53be 100644
--- a/libcsoap/soap-router.c
+++ b/libcsoap/soap-router.c
@@ -1,5 +1,5 @@
/******************************************************************
-* $Id: soap-router.c,v 1.3 2004/08/26 17:06:18 rans Exp $
+* $Id: soap-router.c,v 1.4 2006/01/10 11:21:55 snowdrop Exp $
*
* CSOAP Project: A SOAP client/server library in C
* Copyright (C) 2003 Ferhat Ayaz
@@ -24,80 +24,88 @@
#include <libcsoap/soap-router.h>
#include <string.h>
-SoapRouter *soap_router_new()
+SoapRouter *
+soap_router_new ()
{
- SoapRouter *router;
+ SoapRouter *router;
- router = (SoapRouter*)malloc(sizeof(SoapRouter));
- router->service_head = NULL;
- router->service_tail = NULL;
+ router = (SoapRouter *) malloc (sizeof (SoapRouter));
+ router->service_head = NULL;
+ router->service_tail = NULL;
- return router;
+ return router;
}
-void soap_router_register_service(SoapRouter *router,
- SoapServiceFunc func,
- const char* method,
- const char* urn)
+void
+soap_router_register_service (SoapRouter * router,
+ SoapServiceFunc func,
+ const char *method, const char *urn)
{
- SoapService *service;
-
- service = soap_service_new(urn, method, func);
-
- if (router->service_tail == NULL) {
- router->service_head =
- router->service_tail = soap_service_node_new(service, NULL);
- } else {
- router->service_tail->next =
- soap_service_node_new(service, NULL);
- router->service_tail = router->service_tail->next;
- }
+ SoapService *service;
+
+ service = soap_service_new (urn, method, func);
+
+ if (router->service_tail == NULL)
+ {
+ router->service_head =
+ router->service_tail = soap_service_node_new (service, NULL);
+ }
+ else
+ {
+ router->service_tail->next = soap_service_node_new (service, NULL);
+ router->service_tail = router->service_tail->next;
+ }
}
-SoapService* soap_router_find_service(SoapRouter *router,
- const char* urn,
- const char* method)
+SoapService *
+soap_router_find_service (SoapRouter * router,
+ const char *urn, const char *method)
{
- SoapServiceNode *node;
+ SoapServiceNode *node;
- if (router == NULL || urn == NULL || method == NULL)
- return NULL;
+ if (router == NULL || urn == NULL || method == NULL)
+ return NULL;
- node = router->service_head;
+ node = router->service_head;
- while (node) {
- if (node->service && node->service->urn
- && node->service->method) {
+ while (node)
+ {
+ if (node->service && node->service->urn && node->service->method)
+ {
- if (!strcmp(node->service->urn, urn)
- && !strcmp(node->service->method, method))
- return node->service;
+ if (!strcmp (node->service->urn, urn)
+ && !strcmp (node->service->method, method))
+ return node->service;
- }
+ }
- node = node->next;
- }
+ node = node->next;
+ }
- return NULL;
+ return NULL;
}
-void soap_router_free(SoapRouter *router)
+void
+soap_router_free (SoapRouter * router)
{
- SoapServiceNode *node;
- log_verbose2("enter: router=%p", router);
- if (router == NULL) return;
-
- while (router->service_head) {
- node = router->service_head->next;
- /* log_verbose2("soap_service_free(%p)\n", router->service_head->service);*/
- soap_service_free(router->service_head->service);
- free(router->service_head);
- router->service_head = node;
- }
-
- free(router);
- log_verbose1("leave with success");
+ SoapServiceNode *node;
+ log_verbose2 ("enter: router=%p", router);
+ if (router == NULL)
+ return;
+
+ while (router->service_head)
+ {
+ node = router->service_head->next;
+ /* log_verbose2("soap_service_free(%p)\n",
+ router->service_head->service); */
+ soap_service_free (router->service_head->service);
+ free (router->service_head);
+ router->service_head = node;
+ }
+
+ free (router);
+ log_verbose1 ("leave with success");
}