aboutsummaryrefslogtreecommitdiffstats
path: root/src/afb-api-so.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2016-04-15 16:40:38 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2016-04-15 16:40:38 +0200
commit68a8eaafe5f43480f29308bfd2ec12ad54da43f1 (patch)
tree5c8782a09cb48df20695fa6ba562e00f523d22f3 /src/afb-api-so.c
parent67966a2f96613d833f493ef3773c442d35f8ed31 (diff)
use upoll for event loop
also add '#pragma once' in headers Change-Id: I90cc2d53ec60d4d1e66cf0f229109621e4019864 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-api-so.c')
-rw-r--r--src/afb-api-so.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/afb-api-so.c b/src/afb-api-so.c
index 2616e0bc..e31216e0 100644
--- a/src/afb-api-so.c
+++ b/src/afb-api-so.c
@@ -56,21 +56,15 @@ static int api_timeout = 15;
static const char plugin_register_function[] = "pluginRegister";
-static const struct afb_poll_itf upoll_itf = {
+static const struct afb_pollitf upollitf = {
+ .wait = (void*)upoll_wait,
+ .open = (void*)upoll_open,
.on_readable = (void*)upoll_on_readable,
.on_writable = (void*)upoll_on_writable,
.on_hangup = (void*)upoll_on_hangup,
.close = (void*)upoll_close
};
-static struct afb_poll itf_poll_open(int fd, void *closure)
-{
- struct afb_poll result;
- result.data = upoll_open(fd, closure);
- result.itf = result.data ? &upoll_itf : NULL;
- return result;
-}
-
static void free_context(struct api_so_desc *desc, void *context)
{
void (*cb)(void*);
@@ -198,7 +192,8 @@ int afb_api_so_add_plugin(const char *path)
/* init the interface */
desc->interface.verbosity = 0;
desc->interface.mode = AFB_MODE_LOCAL;
- desc->interface.poll_open = itf_poll_open;
+ desc->interface.pollitf = &upollitf;
+ desc->interface.pollclosure = NULL;
/* init the plugin */
desc->plugin = pluginRegisterFct(&desc->interface);