#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#include <stdarg.h>
#include <string.h>
#include <xmlrpc-c/base.h>
#include <xmlrpc-c/client.h>
#include <xmlrpc-c/server.h>
#include <xmlrpc-c/server_abyss.h>
#include "xrpcP.h"
Data Structures | |
| struct | ASynch |
Defines | |
| #define | DEBUG 0 |
Typedefs | |
| typedef struct ASynch * | ASynchP |
Functions | |
| int | xr_newASync (int cnum) |
| int | xr_initClient (char *url, char *name, char *version) |
| int | xr_closeClient (int cnum) |
| int | xr_callSync (int cnum, char *name) |
| int | xr_callASync (int cnum, char *name, void *ret_handler) |
| int | xr_asyncWait () |
| void | xr_initParam (int cnum) |
| void | xr_setVerbose (int verbose) |
| void | xr_setDebug (int debug) |
| void | xr_setIntInParam (int cnum, int value) |
| void | xr_setDoubleInParam (int cnum, double value) |
| void | xr_setBoolInParam (int cnum, int value) |
| void | xr_setStringInParam (int cnum, char *str) |
| void | xr_setDatetimeInParam (int cnum, char *str) |
| void | xr_setStructInParam (int cnum, int snum) |
| void | xr_setArrayInParam (int cnum, int anum) |
| int | xr_getIntFromResult (int cnum, int *value) |
| int | xr_getDoubleFromResult (int cnum, double *value) |
| int | xr_getBoolFromResult (int cnum, int *value) |
| int | xr_getStringFromResult (int cnum, char **value) |
| int | xr_getDatetimeFromResult (int cnum, char **date) |
| int | xr_getStructFromResult (int cnum, int *snum) |
| int | xr_getArrayFromResult (int cnum, int *anum) |
| char * | xr_getErrMsg (int cnum) |
| int | xr_getErrCode (int cnum) |
| void | xr_envClean (int cnum) |
| void | xr_freeParam (int cnum) |
| void | xr_freeResult (int cnum) |
| void | xr_clientCleanup (int cnum) |
| void | printClient (int cnum) |
Variables | |
| int | client_errstat = OK |
| int | num_asynch_threads = 0 |
| int | client_debug = 0 |
| int | client_verbose = 0 |
| pthread_mutex_t | async_mutex = PTHREAD_MUTEX_INITIALIZER |
XRCLIENT.C
Client-side procedures used by an application to make a call to a remote service. In this interface, the calling application must first initialize a client context for a specific service, then create a parameter array of arguments before invoking the function either synchronously or asynchronously. Once the call completes, API procedures are used to extract the result values.
Client methods: // call services cnum = xr_initClient (char *url, char *name, char *version) xr_callSync (cnum, char *name) xr_callASync (cnum, char *name, void *func, .....) xr_closeClient (cnum)
xr_initParam (cnum) // init params xr_setVerbose (verbose) // verbose flag xr_setDebug (debug) // debug flag
xr_setIntInParam (cnum, int ival) // scalar param xr_setpDoubleInParam (cnum, double dval) xr_setpBoolInParam (cnum, int bval) xr_setpStringInParam (cnum, char *str) xr_setpDatetimeInParam (cnum, char *date) xr_setpStructInParam (cnum, int snum) xr_setpArrayInParam (cnum, int anum)
stat = xr_getIntFromResult (cnum, int *ival) // get results stat = xr_getDoubleFromResult (cnum, double *dval) stat = xr_getBoolFromResult (cnum, int *bval) stat = xr_getStringFromResult (cnum, char **value) stat = xr_getDatetimeFromResult (cnum, char **date) stat = xr_getStructFromResult (cnum) stat = xr_getArrayFromResult (cnum)
xr_envClean (cnum) // cleanup xr_freeParam (cnum) xr_freeResult (cnum) xr_clientCleanup (cnum)
stat = xr_resultArrayInt (int anum, int index, int *value) stat = xr_resultArrayDouble (int anum, int index, int *value) stat = xr_resultArrayBool (int anum, int index, int *value) stat = xr_resultArrayString (int anum, int index, char **value) stat = xr_resultArrayDatetime (int anum, int index, char **value) stat = xr_resultArrayStruct (int anum, int index, int *value)
| void xr_clientCleanup | ( | int | cnum | ) |
Shutdown our XML-RPC client library.
References Client::env.
| void xr_envClean | ( | int | cnum | ) |
XR_ENVCLEAN -- Clean the environment of the specified client.
References Client::env.
| void xr_freeParam | ( | int | cnum | ) |
XR_FREEPARAM -- Free the Client parameter xmlrpc_value.
References Client::param.
| void xr_freeResult | ( | int | cnum | ) |
Free the Client result xmlrpc_value.
References Client::result.
| int xr_getErrCode | ( | int | cnum | ) |
XR_GETERRCODE -- Get the error code from the last call.
References Client::env.
| char* xr_getErrMsg | ( | int | cnum | ) |
XR_GETERRMSG -- Get the error message from the last call.
References Client::env.
1.5.9