diff options
author | Aki Niemi <aki.niemi@nokia.com> | 2010-11-14 18:26:42 +0200 |
---|---|---|
committer | Aki Niemi <aki.niemi@nokia.com> | 2010-12-22 17:13:46 +0200 |
commit | ee2a8bbc694103c1e63f148974f5424037ba5397 (patch) | |
tree | ffb55593dd4e9092e1c853058f99f6c8aa649d6f /gisi/server.h | |
parent | 325e555092762577864e2772af3f49931dbfc3f9 (diff) | |
download | ofono-ee2a8bbc694103c1e63f148974f5424037ba5397.tar.bz2 |
gisi: Refactor the server API
The new server API is a convenience wrapper on the modem API for
servers.
Diffstat (limited to 'gisi/server.h')
-rw-r--r-- | gisi/server.h | 38 |
1 files changed, 12 insertions, 26 deletions
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 <stdint.h> -#include <gisi/modem.h> +#include <sys/uio.h> + +#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 } |