1
0
mirror of https://github.com/haiwen/libsearpc.git synced 2025-08-02 05:12:55 +00:00
libsearpc/lib/searpc-client.h
plt c5e4719c4f Clean project
* Remove unused code generating scripts
* Rename files to be more clear
* Improve dependency in Makefile.am
2011-05-18 17:24:34 +08:00

50 lines
1.2 KiB
C

#ifndef SEARPC_CLIENT_H
#define SEARPC_CLIENT_H
#include <glib.h>
#include <glib-object.h>
typedef char *(*TransportCB)(void *arg, const gchar *fcall_str,
size_t fcall_len, size_t *ret_len);
typedef struct {
TransportCB transport;
void *arg;
} SearpcClient;
SearpcClient *searpc_client_new ();
void searpc_client_free (SearpcClient *client);
char* searpc_client_transport_send (SearpcClient *client,
const gchar *fcall_str,
size_t fcall_len,
size_t *ret_len);
#include <searpc-fcall.h>
char*
searpc_client_fret__string (char *data, size_t len, GError **error);
int
searpc_client_fret__int (char *data, size_t len, GError **error);
GObject*
searpc_client_fret__object (GType gtype, char *data,
size_t len, GError **error);
GList*
searpc_client_fret__objlist (GType gtype, char *data,
size_t len, GError **error);
/* in case of transport error, the following code and message will be
* set in GError */
#define TRANSPORT_ERROR "Transport Error"
#define TRANSPORT_ERROR_CODE 500
#include <searpc-dfun.h>
#endif