xrClient.c File Reference

Client-side procedures. More...

#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


Detailed Description

Client-side procedures.

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)

Author:
Mike Fitzpatrick
Date:
6/10/09

Function Documentation

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.


Generated on Fri Apr 30 15:45:21 2010 for XRPC by  doxygen 1.5.9