mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
87 lines
2.9 KiB
C
87 lines
2.9 KiB
C
/* Copyright information is at the end of the file */
|
|
#ifndef XMLRPC_TRANSPORT_H_INCLUDED
|
|
#define XMLRPC_TRANSPORT_H_INCLUDED
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <xmlrpc-c/util.h>
|
|
#include <xmlrpc-c/client.h>
|
|
|
|
struct xmlrpc_call_info;
|
|
|
|
struct xmlrpc_client_transport;
|
|
|
|
/*=========================================================================
|
|
** Transport function type declarations.
|
|
**=========================================================================
|
|
*/
|
|
typedef void (*xmlrpc_transport_setup)(xmlrpc_env * const envP);
|
|
|
|
typedef void (*xmlrpc_transport_teardown)(void);
|
|
|
|
typedef void (*xmlrpc_transport_create)(
|
|
xmlrpc_env * const envP,
|
|
int const flags,
|
|
const char * const appname,
|
|
const char * const appversion,
|
|
const void * const transportparmsP,
|
|
size_t const transportparm_size,
|
|
struct xmlrpc_client_transport ** const handlePP);
|
|
|
|
typedef void (*xmlrpc_transport_destroy)(
|
|
struct xmlrpc_client_transport * const clientTransportP);
|
|
|
|
typedef void (*xmlrpc_transport_asynch_complete)(
|
|
struct xmlrpc_call_info * const callInfoP,
|
|
xmlrpc_mem_block * const responseXmlP,
|
|
xmlrpc_env const env);
|
|
|
|
typedef void (*xmlrpc_transport_send_request)(
|
|
xmlrpc_env * const envP,
|
|
struct xmlrpc_client_transport * const clientTransportP,
|
|
const xmlrpc_server_info * const serverP,
|
|
xmlrpc_mem_block * const xmlP,
|
|
xmlrpc_transport_asynch_complete complete,
|
|
struct xmlrpc_call_info * const callInfoP);
|
|
|
|
typedef void (*xmlrpc_transport_call)(
|
|
xmlrpc_env * const envP,
|
|
struct xmlrpc_client_transport * const clientTransportP,
|
|
const xmlrpc_server_info * const serverP,
|
|
xmlrpc_mem_block * const xmlP,
|
|
xmlrpc_mem_block ** const responsePP);
|
|
|
|
typedef enum {timeout_no, timeout_yes} xmlrpc_timeoutType;
|
|
|
|
typedef unsigned long xmlrpc_timeout;
|
|
/* A timeout in milliseconds. */
|
|
|
|
typedef void (*xmlrpc_transport_finish_asynch)(
|
|
struct xmlrpc_client_transport * const clientTransportP,
|
|
xmlrpc_timeoutType const timeoutType,
|
|
xmlrpc_timeout const timeout);
|
|
|
|
typedef void (*xmlrpc_transport_set_interrupt)(
|
|
struct xmlrpc_client_transport * const clientTransportP,
|
|
int * const interruptP);
|
|
|
|
struct xmlrpc_client_transport_ops {
|
|
|
|
xmlrpc_transport_setup setup_global_const;
|
|
xmlrpc_transport_teardown teardown_global_const;
|
|
xmlrpc_transport_create create;
|
|
xmlrpc_transport_destroy destroy;
|
|
xmlrpc_transport_send_request send_request;
|
|
xmlrpc_transport_call call;
|
|
xmlrpc_transport_finish_asynch finish_asynch;
|
|
xmlrpc_transport_set_interrupt set_interrupt;
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|