From ee2a8bbc694103c1e63f148974f5424037ba5397 Mon Sep 17 00:00:00 2001 From: Aki Niemi Date: Sun, 14 Nov 2010 18:26:42 +0200 Subject: gisi: Refactor the server API The new server API is a convenience wrapper on the modem API for servers. --- gisi/server.h | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) (limited to 'gisi/server.h') diff --git a/gisi/server.h b/gisi/server.h index f22214f3..8f3ac659 100644 --- a/gisi/server.h +++ b/gisi/server.h @@ -27,42 +27,28 @@ extern "C" { #endif #include -#include +#include + +#include "message.h" +#include "modem.h" struct _GIsiServer; typedef struct _GIsiServer GIsiServer; -struct _GIsiIncoming; -typedef struct _GIsiIncoming GIsiIncoming; - -typedef gboolean (*GIsiRequestFunc)(GIsiServer *server, - const void *restrict data, size_t len, - GIsiIncoming *, void *opaque); - GIsiServer *g_isi_server_create(GIsiModem *modem, uint8_t resource, - uint8_t major, uint8_t minor); - + GIsiVersion *version); uint8_t g_isi_server_resource(GIsiServer *server); - -void g_isi_server_set_debug(GIsiServer *server, GIsiDebugFunc func, - void *opaque); - +GIsiModem *g_isi_server_modem(GIsiServer *server); void g_isi_server_destroy(GIsiServer *server); -void g_isi_server_add_name(GIsiServer *self); - -int g_isi_respond(GIsiServer *server, const void *data, size_t len, - GIsiIncoming *irq); - -struct iovec; - -int g_isi_vrespond(GIsiServer *server, const struct iovec *iov, - size_t iovlen, GIsiIncoming *irq); +int g_isi_server_send(GIsiServer *server, const GIsiMessage *req, + const void *__restrict data, size_t len); -int g_isi_server_handle(GIsiServer *server, uint8_t type, - GIsiRequestFunc func, void *opaque); +int g_isi_server_vsend(GIsiServer *server, const GIsiMessage *req, + const struct iovec *iov, size_t iovlen); -void g_isi_server_unhandle(GIsiServer *server, uint8_t type); +GIsiPending *g_isi_server_handle(GIsiServer *server, uint8_t type, + GIsiNotifyFunc notify, void *data); #ifdef __cplusplus } -- cgit v1.2.3