Allow to remove systemd library
[src/app-framework-binder.git] / src / afb-fdev.c
index 386e1e4..e98d39d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 "IoT.bzh"
+ * Copyright (C) 2018, 2019 "IoT.bzh"
  * Author José Bollo <jose.bollo@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * limitations under the License.
  */
 
+#include "evmgr.h"
 #include "fdev.h"
+#include "jobs.h"
 
-#include "afb-systemd.h"
+#if WITH_SYSTEMD
+
+#include "systemd.h"
 #include "fdev-systemd.h"
 
 struct fdev *afb_fdev_create(int fd)
 {
-       return fdev_systemd_create(afb_systemd_get_event_loop(), fd);
+       jobs_acquire_event_manager();
+       return fdev_systemd_create(systemd_get_event_loop(), fd);
+}
+
+#endif
+#if WITH_FDEV_EPOLL
+
+#include "evmgr.h"
+#include "fdev-epoll.h"
+
+struct fdev *afb_fdev_create(int fd)
+{
+       struct evmgr *evmgr = jobs_acquire_event_manager();
+       return fdev_epoll_add(evmgr_get_fdev_epoll(evmgr), fd);
 }
+
+#endif