From d95f9da3572131ceeefd245d99c795ab8bc11880 Mon Sep 17 00:00:00 2001 From: m0gg Date: Sun, 31 Dec 2006 17:24:22 +0000 Subject: Addded hooks for Web Service Management --- libcsoap/soap-admin.c | 99 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 75 insertions(+), 24 deletions(-) (limited to 'libcsoap/soap-admin.c') diff --git a/libcsoap/soap-admin.c b/libcsoap/soap-admin.c index 715e3ca..efc9651 100644 --- a/libcsoap/soap-admin.c +++ b/libcsoap/soap-admin.c @@ -1,5 +1,5 @@ /****************************************************************** -* $Id: soap-admin.c,v 1.10 2006/11/26 20:13:05 m0gg Exp $ +* $Id: soap-admin.c,v 1.11 2006/12/31 17:24:22 m0gg Exp $ * * CSOAP Project: A SOAP client/server library in C * Copyright (C) 2003 Ferhat Ayaz @@ -62,23 +62,38 @@ static void _soap_admin_send_title(httpd_conn_t *conn, const char *title) { httpd_send_header(conn, 200, HTTP_STATUS_200_REASON_PHRASE); + http_output_stream_write_string(conn->out, - ""); + http_output_stream_write_string(conn->out, - "csoap "); + "" + "" + "csoap "); http_output_stream_write_string(conn->out, title); http_output_stream_write_string(conn->out, "
"); return; } +static inline void +_soap_admin_send_footer(httpd_conn_t *conn) +{ + http_output_stream_write_string(conn->out, ""); + + return; +} static void _soap_admin_list_routers(httpd_conn_t *conn) @@ -91,18 +106,22 @@ _soap_admin_list_routers(httpd_conn_t *conn) http_output_stream_write_string(conn->out, ""); - http_output_stream_write_string(conn->out, ""); + _soap_admin_send_footer(conn); return; } - static void _soap_admin_list_services(httpd_conn_t *conn, const char *routername) { @@ -124,47 +143,78 @@ _soap_admin_list_services(httpd_conn_t *conn, const char *routername) node = router->service_head; http_output_stream_write_string(conn->out, ""); - http_output_stream_write_string(conn->out, ""); + _soap_admin_send_footer(conn); return; } - static void _soap_admin_handle_get(httpd_conn_t * conn, struct hrequest_t * req) { char *param; - if ((param = hpairnode_get_ignore_case(req->query, SOAP_ADMIN_QUERY_ROUTERS))) + if ((param = hpairnode_get_ignore_case(req->query, CSOAP_ADMIN_QUERY_ROUTERS))) { _soap_admin_list_routers(conn); } - else if ((param = hpairnode_get_ignore_case(req->query, SOAP_ADMIN_QUERY_ROUTER))) + else if ((param = hpairnode_get_ignore_case(req->query, CSOAP_ADMIN_QUERY_ROUTER))) { _soap_admin_list_services(conn, param); } + else if ((param = hpairnode_get_ignore_case(req->query, CSOAP_ADMIN_QUERY_ACTIVATE))) + { + _soap_admin_send_title(conn, "Not implemented"); + _soap_admin_send_footer(conn); + // _soap_admin_activate_service(conn, param); + } + else if ((param = hpairnode_get_ignore_case(req->query, CSOAP_ADMIN_QUERY_PASSIVATE))) + { + _soap_admin_send_title(conn, "Not implemented"); + _soap_admin_send_footer(conn); + // _soap_admin_passivate_service(conn, param); + } else { _soap_admin_send_title(conn, "Welcome to the admin site"); http_output_stream_write_string(conn->out, ""); - http_output_stream_write_string(conn->out, ""); + _soap_admin_send_footer(conn); } return; @@ -192,6 +242,7 @@ _soap_admin_entry(httpd_conn_t * conn, struct hrequest_t * req) "" ""); } + return; } -- cgit v1.1-32-gdbae