diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/afb-plugin.h | 22 | ||||
-rw-r--r-- | include/afb-pollmgr-itf.h | 61 |
2 files changed, 18 insertions, 65 deletions
diff --git a/include/afb-plugin.h b/include/afb-plugin.h index dfb6fbad..ce78e840 100644 --- a/include/afb-plugin.h +++ b/include/afb-plugin.h @@ -18,7 +18,6 @@ #pragma once #include "afb-req-itf.h" -#include "afb-pollmgr-itf.h" #include "afb-evmgr-itf.h" /* Plugin Type */ @@ -64,9 +63,14 @@ enum AFB_Mode { AFB_MODE_GLOBAL }; +struct sd_event; +struct sd_bus; + struct afb_daemon_itf { struct afb_evmgr (*get_evmgr)(void *closure); - struct afb_pollmgr (*get_pollmgr)(void *closure); + struct sd_event *(*get_event_loop)(void *closure); + struct sd_bus *(*get_user_bus)(void *closure); + struct sd_bus *(*get_system_bus)(void *closure); }; struct afb_daemon { @@ -88,9 +92,19 @@ static inline struct afb_evmgr afb_daemon_get_evmgr(struct afb_daemon daemon) return daemon.itf->get_evmgr(daemon.closure); } -static inline struct afb_pollmgr afb_daemon_get_pollmgr(struct afb_daemon daemon) +static inline struct sd_event *afb_daemon_get_event_loop(struct afb_daemon daemon) +{ + return daemon.itf->get_event_loop(daemon.closure); +} + +static inline struct sd_bus *afb_daemon_get_user_bus(struct afb_daemon daemon) +{ + return daemon.itf->get_user_bus(daemon.closure); +} + +static inline struct sd_bus *afb_daemon_get_system_bus(struct afb_daemon daemon) { - return daemon.itf->get_pollmgr(daemon.closure); + return daemon.itf->get_system_bus(daemon.closure); } diff --git a/include/afb-pollmgr-itf.h b/include/afb-pollmgr-itf.h deleted file mode 100644 index c3a62c17..00000000 --- a/include/afb-pollmgr-itf.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2016 IoT.bzh - * Author: José Bollo <jose.bollo@iot.bzh> - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -struct afb_pollmgr_itf -{ - int (*wait)(int timeout, void *pollclosure); - void *(*open)(int fd, void *closure, void *pollclosure); - int (*on_readable)(void *hndl, void (*cb)(void *closure)); - int (*on_writable)(void *hndl, void (*cb)(void *closure)); - void (*on_hangup)(void *hndl, void (*cb)(void *closure)); - void (*close)(void *hndl); -}; - -struct afb_pollmgr -{ - const struct afb_pollmgr_itf *itf; - void *closure; -}; - -static inline int afb_pollmgr_wait(struct afb_pollmgr pollmgr, int timeout) -{ - return pollmgr.itf->wait(timeout, pollmgr.closure); -} - -static inline void *afb_pollmgr_open(struct afb_pollmgr pollmgr, int fd, void *closure) -{ - return pollmgr.itf->open(fd, closure, pollmgr.closure); -} - -static inline int afb_pollmgr_on_readable(struct afb_pollmgr pollmgr, void *hndl, void (*cb)(void *closure)) -{ - return pollmgr.itf->on_readable(hndl, cb); -} - -static inline int afb_pollmgr_on_writable(struct afb_pollmgr pollmgr, void *hndl, void (*cb)(void *closure)) -{ - return pollmgr.itf->on_writable(hndl, cb); -} - -static inline void afb_pollmgr_on_hangup(struct afb_pollmgr pollmgr, void *hndl, void (*cb)(void *closure)) -{ - pollmgr.itf->on_hangup(hndl, cb); -} - - |