diff options
Diffstat (limited to 'Utilities/cmxmlrpc/xmlrpc_client.h')
-rw-r--r-- | Utilities/cmxmlrpc/xmlrpc_client.h | 261 |
1 files changed, 0 insertions, 261 deletions
diff --git a/Utilities/cmxmlrpc/xmlrpc_client.h b/Utilities/cmxmlrpc/xmlrpc_client.h deleted file mode 100644 index acb89b1..0000000 --- a/Utilities/cmxmlrpc/xmlrpc_client.h +++ /dev/null @@ -1,261 +0,0 @@ -/*============================================================================ - xmlrpc_client.h -============================================================================== - This header file defines the interface between xmlrpc.c and its users, - related to clients. - - Copyright information is at the end of the file. -============================================================================*/ - -#ifndef _XMLRPC_CLIENT_H_ -#define _XMLRPC_CLIENT_H_ 1 - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/*========================================================================= -** Initialization and Shutdown -**========================================================================= -** These routines initialize and terminate the XML-RPC client. If you're -** already using libwww on your own, you can pass -** XMLRPC_CLIENT_SKIP_LIBWWW_INIT to avoid initializing it twice. -*/ - -#define XMLRPC_CLIENT_NO_FLAGS (0) -#define XMLRPC_CLIENT_SKIP_LIBWWW_INIT (1) - -extern void -xmlrpc_client_init(int const flags, - const char * const appname, - const char * const appversion); - -struct xmlrpc_clientparms { - const char * transport; -}; - -#define XMLRPC_CP_MEMBER_OFFSET(mbrname) \ - ((unsigned long)(char*)&((struct xmlrpc_clientparms *)0)->mbrname) -#define XMLRPC_CP_MEMBER_SIZE(mbrname) \ - sizeof(((struct xmlrpc_clientparms *)0)->mbrname) -#define XMLRPC_CPSIZE(mbrname) \ - (XMLRPC_CP_MEMBER_OFFSET(mbrname) + XMLRPC_CP_MEMBER_SIZE(mbrname)) - -/* XMLRPC_CPSIZE(xyz) is the minimum size a struct xmlrpc_clientparms - must be to include the 'xyz' member. This is essential to forward and - backward compatbility, as new members will be added to the end of the - struct in future releases. This is how the callee knows whether or - not the caller is new enough to have supplied a certain parameter. -*/ - -void -xmlrpc_client_init2(xmlrpc_env * const env, - int const flags, - const char * const appname, - const char * const appversion, - struct xmlrpc_clientparms * const clientparms, - unsigned int const parm_size); - -extern void -xmlrpc_client_cleanup(void); - -const char * -xmlrpc_client_get_default_transport(xmlrpc_env * const env); - -/*========================================================================= -** Required for both internal and external development. -**========================================================================= -*/ -/* A callback function to handle the response to an asynchronous call. -** If 'fault->fault_occurred' is true, then response will be NULL. All -** arguments except 'user_data' will be deallocated internally; please do -** not free any of them yourself. -** WARNING: param_array may (or may not) be NULL if fault->fault_occurred -** is true, and you set up the call using xmlrpc_client_call_asynch. -** WARNING: If asynchronous calls are still pending when the library is -** shut down, your handler may (or may not) be called with a fault. */ -typedef void (*xmlrpc_response_handler) (const char *server_url, - const char *method_name, - xmlrpc_value *param_array, - void *user_data, - xmlrpc_env *fault, - xmlrpc_value *result); - - -/*========================================================================= -** xmlrpc_server_info -**========================================================================= -** We normally refer to servers by URL. But sometimes we need to do extra -** setup for particular servers. In that case, we can create an -** xmlrpc_server_info object, configure it in various ways, and call the -** remote server. -** -** (This interface is also designed to discourage further multiplication -** of xmlrpc_client_call APIs. We have enough of those already. Please -** add future options and flags using xmlrpc_server_info.) -*/ - -typedef struct _xmlrpc_server_info xmlrpc_server_info; - -/* Create a new server info record, pointing to the specified server. */ -xmlrpc_server_info * -xmlrpc_server_info_new(xmlrpc_env * const env, - const char * const server_url); - -/* Create a new server info record, with a copy of the old server. */ -extern xmlrpc_server_info * -xmlrpc_server_info_copy(xmlrpc_env *env, xmlrpc_server_info *src_server); - -/* Delete a server info record. */ -extern void -xmlrpc_server_info_free (xmlrpc_server_info *server); - -/* We support rudimentary basic authentication. This lets us talk to Zope -** servers and similar critters. When called, this routine makes a copy -** of all the authentication information and passes it to future requests. -** Only the most-recently-set authentication information is used. -** (In general, you shouldn't write XML-RPC servers which require this -** kind of authentication--it confuses many client implementations.) -** If we fail, leave the xmlrpc_server_info record unchanged. */ -void -xmlrpc_server_info_set_basic_auth(xmlrpc_env * const envP, - xmlrpc_server_info * const serverP, - const char * const username, - const char * const password); - - -/*========================================================================= -** xmlrpc_client_call -**========================================================================= -** A synchronous XML-RPC client. Do not attempt to call any of these -** functions from inside an asynchronous callback! -*/ - -xmlrpc_value * -xmlrpc_client_call(xmlrpc_env * const envP, - const char * const server_url, - const char * const method_name, - const char * const format, - ...); - -xmlrpc_value * -xmlrpc_client_call_params (xmlrpc_env * const env, - const char * const server_url, - const char * const method_name, - xmlrpc_value * const param_array); - -xmlrpc_value * -xmlrpc_client_call_server(xmlrpc_env * const envP, - xmlrpc_server_info * const server, - const char * const method_name, - const char * const format, - ...); - -extern xmlrpc_value * -xmlrpc_client_call_server_params (xmlrpc_env *env, - xmlrpc_server_info *server, - char *method_name, - xmlrpc_value *param_array); - - -/*========================================================================= -** xmlrpc_client_call_asynch -**========================================================================= -** An asynchronous XML-RPC client. -*/ - -/* Make an asynchronous XML-RPC call. We make internal copies of all -** arguments except user_data, so you can deallocate them safely as soon -** as you return. Errors will be passed to the callback. You will need -** to run the event loop somehow; see below. -** WARNING: If an error occurs while building the argument, the -** response handler will be called with a NULL param_array. */ -void -xmlrpc_client_call_asynch(const char * const server_url, - const char * const method_name, - xmlrpc_response_handler callback, - void * const user_data, - const char * const format, - ...); - -/* As above, but use an xmlrpc_server_info object. The server object can be -** safely destroyed as soon as this function returns. */ -void -xmlrpc_client_call_server_asynch(xmlrpc_server_info * const server, - const char * const method_name, - xmlrpc_response_handler callback, - void * const user_data, - const char * const format, - ...); - -/* As above, but the parameter list is supplied as an xmlrpc_value -** containing an array. -*/ -void -xmlrpc_client_call_asynch_params(const char * const server_url, - const char * const method_name, - xmlrpc_response_handler callback, - void * const user_data, - xmlrpc_value * const paramArrayP); - -/* As above, but use an xmlrpc_server_info object. The server object can be -** safely destroyed as soon as this function returns. */ -void -xmlrpc_client_call_server_asynch_params( - xmlrpc_server_info * const server, - const char * const method_name, - xmlrpc_response_handler callback, - void * const user_data, - xmlrpc_value * const paramArrayP); - -/*========================================================================= -** Event Loop Interface -**========================================================================= -** These functions can be used to run the XML-RPC event loop. If you -** don't like these, you can also run the libwww event loop directly. -*/ - -/* Finish all outstanding asynchronous calls. Alternatively, the loop -** will exit if someone calls xmlrpc_client_event_loop_end. */ -extern void -xmlrpc_client_event_loop_finish_asynch(void); - - -/* Finish all outstanding asynchronous calls. */ -extern void -xmlrpc_client_event_loop_finish_asynch_timeout(timeout_t const milliseconds); - - - -/* Copyright (C) 2001 by First Peer, Inc. All rights reserved. -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions -** are met: -** 1. Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** 2. Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in the -** documentation and/or other materials provided with the distribution. -** 3. The name of the author may not be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -** ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -** OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -** SUCH DAMAGE. */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* _XMLRPC_CLIENT_H_ */ |