/****************************************************************** * $Id: csoapparam.h,v 1.2 2003/11/13 10:44:10 snowdrop Exp $ * * CSOAP Project: A SOAP client/server library in C * Copyright (C) 2003 Ferhat Ayaz * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * * Email: ayaz@jprogrammer.net ******************************************************************/ #ifndef CSOAP_PARAM_H #define CSOAP_PARAM_H #include "libcsoap/csoapxml.h" typedef HSOAPXML HSOAPPARAM; #define SOAP_MAX_STRING_BUFFER 1054 /** * Creates a string soap parameter * *
  • Default type: "xsd:string" * * @param parent the parent param object * @param name the parameter name * @param format the parameter value * * @return handle to a parameter object if * the creation was successfull, NULL otherwise */ HSOAPPARAM SoapParamCreateString( HSOAPPARAM parent, const char *name, const char *format, ...); /** * Creates an integer soap parameter * *
  • Default type: "xsd:integer" * * @param parent the parent param object * @param name the parameter name * @param value the parameter value * * @return handle to a parameter object if * the creation was successfull, NULL otherwise */ HSOAPPARAM SoapParamCreateInt( HSOAPPARAM parent, const char *name, int value); /** * Creates a double soap parameter * *
  • Default type: "xsd:double" * * @param parent the parent param object * @param name the parameter name * @param value the parameter value * * @return handle to a parameter object if * the creation was successfull, NULL otherwise */ HSOAPPARAM SoapParamCreateDouble( HSOAPPARAM parent, const char *name, double value); /** * Sets the parameter value. * * @param param the parameter object * @param type a custom type name * @param format value of the parameter */ void SoapParamSetValue(HSOAPPARAM param,const char* type, const char* format, ...); /** * Get the value of a soap parameter * in string format * * @param param the soap parameter object * @param buffer an allocated character buffer * to receive the content. If this is NULL, * this function will return the size only. * * @return size of the content. */ int SoapParamGetString(HSOAPPARAM param, char *buffer); /** * Convert the value of a soap parameter * to string. Note that this is the same * as SoapParamGetString except that you * must free the result manually. * * @param param the soap parameter object * * @return the parameter in string format. * Must be free manually!. */ char* SoapParamToString(HSOAPPARAM param); /** * Get the value of a soap parameter * in integer format * * @param param the soap parameter object * @return the param content as integer */ int SoapParamGetInt(HSOAPPARAM param); /** * Get the value of a soap parameter * in double format * * @param param the soap parameter object * @return the param content as double */ double SoapParamGetDouble(HSOAPPARAM param); /** * Get the children parameter nodes. * This acts actually like an xml node. * * @param param the soap parameter object * @return handle to the first child node */ HSOAPPARAM SoapParamGetChildren(HSOAPPARAM param); /** * Get the next parameter. * This acts actually like an xml node. * * @param param the soap parameter object * @return handle to the next node */ HSOAPPARAM SoapParamGetNext(HSOAPPARAM param); /** * Checks if the type is equals with * the given one. * * @param param the param to check * @param type the type to check * * @return 0 if the parameter type not equals to 'type' */ int SoapParamTypeIs(HSOAPPARAM param, const char* type); /** * Returns parameters type. * * @param param the param to return its type * * @return returns parameters type */ char* SoapParamGetType(HSOAPPARAM param); /** * Creates a new parameter node. * This is used internally. * * @param parent the parent soap parameter object * @param type the parameter type * @param ns the namespace of the parameter * @param name name of the parameter * @param format value of the parameter * * @return A newly created soap parameter object */ HSOAPPARAM SoapParamCreate(HSOAPPARAM parent, const char *type, const char *ns, const char *name, const char *format, ...); #endif