00001 /****************************************************************** 00002 * $Id: soap-service.h,v 1.10 2006/12/31 17:24:22 m0gg Exp $ 00003 * 00004 * CSOAP Project: A SOAP client/server library in C 00005 * Copyright (C) 2003 Ferhat Ayaz 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Library General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Library General Public 00018 * License along with this library; if not, write to the 00019 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00020 * Boston, MA 02111-1307, USA. 00021 * 00022 * Email: ferhatayaz@jprogrammer.net 00023 ******************************************************************/ 00024 #ifndef __csoap_service_h 00025 #define __csoap_service_h 00026 00050 #define CSOAP_SERVICE_DOWN 0 00051 00060 #define CSOAP_SERVICE_UP 1 00061 00062 typedef herror_t (*SoapServiceFunc)(struct SoapCtx *request, struct SoapCtx *response); 00063 00064 typedef struct _SoapService 00065 { 00066 char *urn; 00067 char *method; 00068 int status; 00069 SoapServiceFunc func; 00070 } SoapService; 00071 00072 00073 typedef struct _SoapServiceNode 00074 { 00075 SoapService *service; 00076 struct _SoapServiceNode *next; 00077 } SoapServiceNode; 00078 00079 00080 #ifdef __cplusplus 00081 extern "C" { 00082 #endif 00083 00084 extern SoapServiceNode *soap_service_node_new(SoapService * service, SoapServiceNode * next); 00085 00086 extern SoapService *soap_service_new(const char *urn, const char *method, SoapServiceFunc f); 00087 00088 extern void soap_service_free(SoapService * service); 00089 00090 #ifdef __cplusplus 00091 } 00092 #endif 00093 00094 #endif