summaryrefslogtreecommitdiffstats
path: root/gisi/server.h
diff options
context:
space:
mode:
authorAki Niemi <aki.niemi@nokia.com>2010-11-14 18:26:42 +0200
committerAki Niemi <aki.niemi@nokia.com>2010-12-22 17:13:46 +0200
commitee2a8bbc694103c1e63f148974f5424037ba5397 (patch)
treeffb55593dd4e9092e1c853058f99f6c8aa649d6f /gisi/server.h
parent325e555092762577864e2772af3f49931dbfc3f9 (diff)
downloadofono-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.h38
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
}