⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xml-rpc.h

📁 linux下简单对象应用协议的开发库
💻 H
字号:
/*XML-RPC binding for C or C++--------------------------------------------------------------------------------gSOAP XML Web services toolsCopyright (C) 2001-2004, Robert van Engelen, Genivia, Inc. All Rights Reserved.This software is released under one of the following two licenses:GPL or Genivia's license for commercial use.--------------------------------------------------------------------------------GPL license.This program is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation; either version 2 of the License, or (at your option) any laterversion.This program is distributed in the hope that it will be useful, but WITHOUT ANYWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along withthis program; if not, write to the Free Software Foundation, Inc., 59 TemplePlace, Suite 330, Boston, MA 02111-1307 USAAuthor contact information:engelen@genivia.com / engelen@acm.org--------------------------------------------------------------------------------A commercial use license is available from Genivia, Inc., contact@genivia.com--------------------------------------------------------------------------------*/#include "xml-rpc-iters.h"	// deferred to C++ compiler/// for C++ only: external iterator class for structsextern class _struct_iterator;/// for C++ only: external iterator class for arraysextern class _array_iterator;/// for C++ only: external iterator class for parametersextern class params_iterator;/// Scalar <boolean> elementtypedef char		_boolean;	///< boolean values are 0 (false) or 1 (true)/// Scalar <double> elementtypedef double		_double;	///< double floating point value/// Scalar <i4> elementtypedef int		_i4;		///< 32bit int value/// Scalar <int> elementtypedef int		_int;		///< 32bit int value/// Scalar <string> elementtypedef char*		_string;	///< string value/// Scalar <dateTime.iso8601> elementtypedef char*		_dateTime_DOTiso8601;	///< ISO8601 date and time formatted string/// <base64> binary data elementstruct _base64{ unsigned char*	__ptr;		///< pointer to raw binary data block  int			__size;		///< size of raw binary data block// C++ function members, not available in C (when using stdsoap2 -c)public:  			_base64();  			_base64(struct soap*);  int			size() const;	///< byte size of data  unsigned char*	ptr();		///< pointer to data};/// <struct> elementstruct _struct{ int			__size;		///< number of members  struct member*	member;		///< pointer to member array// C++ function members, not available in C (when using stdsoap2 -c)public:  typedef _struct_iterator iterator;  			_struct();  			_struct(struct soap*);  			_struct(struct soap*, int);  extern bool		empty() const;	///< true when struct is empty  int			size() const;	///< number of accessors in struct  struct value&		operator[](const char*);///< struct accessor index  _struct_iterator	begin();	///< struct accessor iterator begin  _struct_iterator	end();		///< struct accessor iterator end  struct soap*		soap;		///< ref to soap struct that manages this type};/// <data> elementstruct data{ int			__size;		///< number of array elements  struct value*		value;		///< pointer to array elements};/// <array> elementstruct _array{ struct data		data;		///< data with values// C++ function members, not available in C (when using stdsoap2 -c)public:  typedef _array_iterator iterator;  			_array();  			_array(struct soap*);  			_array(struct soap*, int);  extern bool		empty() const;	///< true when array is empty  int			size() const;	///< number of array elements  struct value&		operator[](int);///< array index  _array_iterator	begin();	///< array iterator begin  _array_iterator	end();		///< array iterator end  struct soap*		soap;		///< ref to soap struct that manages this type};/// <value>/**The value element contains either string data stored in __any or an other typeof data stored in a subelement. In case of a subelement, the __type memberindicates the type of data pointed to by the ref member. For example, when__type = SOAP_TYPE__int then *(int*)ref is an integer and when __type =SOAP_TYPE__string (char*)ref is a string.*/struct value{ int			__type 0;	///< optional SOAP_TYPE_X, where X is a type name  void*			ref;		///< ref to data  char*			__any;		///< <value> string content, when present// C++ function members, not available in C (when using stdsoap2 -c)public:			value();			value(struct soap*);			value(struct soap*, struct _array&);			value(struct soap*, struct _base64&);			value(struct soap*, bool);			value(struct soap*, char*);			value(struct soap*, double);			value(struct soap*, int);			value(struct soap*, struct _struct&);			operator struct _array&();			operator const struct _array&() const;			operator struct _base64&();			operator const struct _base64&() const;			operator char*();			operator const char*() const;			operator double() const;			operator int() const;			operator struct _struct&();			operator const struct _struct&() const;  struct value&		operator[](int);  struct value&		operator[](const char*);  struct _array&	operator=(struct _array&);  struct _base64&	operator=(struct _base64&);  extern bool		operator=(bool);  char*			operator=(char*);  double		operator=(double);  int			operator=(int);  struct _struct&	operator=(struct _struct&);  time_t		operator=(time_t);  extern bool		is_array() const;	///< true if value is array type  extern bool		is_base64() const;	///< true if value is base64 type  extern bool		is_bool() const;	///< true if value is boolean type  extern bool		is_double() const;	///< true if value is double type  extern bool		is_false() const;	///< true if value is boolean false  extern bool		is_int() const;		///< true if value is int type  extern bool		is_string() const;	///< true if value is string type  extern bool		is_struct() const;	///< true if value is struct type  extern bool		is_true() const;	///< true if value is boolean true  struct soap*		soap;		///< ref to soap struct that manages this type};/// <member>struct member{ char*			name;		///< struct accessor name  struct value		value;		///< struct accessor value};/// <params>struct params{ int			__size;		///< number of parameters  struct param*		param;		///< pointer to array of parameters// C++ function members, not available in C (when using stdsoap2 -c)public:  typedef params_iterator iterator;  			params();  			params(struct soap*);  			params(struct soap*, int);  extern bool		empty() const;	///< true if no parameters  int			size() const;	///< number of parameters  struct value&		operator[](int);///< parameter index  params_iterator	begin();	///< struct accessor iterator begin  params_iterator	end();		///< struct accessor iterator end  struct soap*		soap;		///< ref to soap struct that manages this type};/// <param>struct param{ struct value		value;		///< parameter value// C++ function members, not available in C (when using stdsoap2 -c)public:  struct soap*		soap;		///< ref to soap struct that manages this type};/// <methodResponse> struct methodResponse{ struct params*	params;		///< response parameters  struct fault*		fault;		///< response faultpublic:  			methodResponse();  			methodResponse(struct soap*);  struct soap*		soap;		///< ref to soap struct that manages this type};  /// <methodCall>struct methodCall{ char*			methodName;	///< name of the method  struct params		params;		///< method request parameters// C++ function members, not available in C (when using stdsoap2 -c)private:  char*			methodEndpoint;	///< XML-RPC endpoint  struct methodResponse*methodResponse; ///< holds the response after the callpublic:  			methodCall();  			methodCall(struct soap*, const char*, const char*);  struct value&		operator[](int);///< method parameter accessor index  struct params&	operator()();	///< method invocation  struct params&	operator()(const struct params&);  					///< method invocation with param list  struct params&	response();	///< get last response  struct value&		fault();	///< fault value  int			error() const;	///< gSOAP error code  struct soap*		soap;		///< ref to soap struct that manages this type};/// <fault>struct fault{ struct value		value;		///< value of the fault};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -