remove Poller
[staging/windowmanager.git] / src / util.cpp
index 1837936..1f2bc05 100644 (file)
 
 #include <unistd.h>
 
-void Poller::add_fd(int fd, std::function<int(int)> handler) {
-   pfds.emplace_back(pollfd{.fd = fd, .events = POLLIN, .revents = 0});
-   handlers.emplace_back(std::move(handler));
-}
-
-int Poller::check_events() {
-   int ret = 0;
-   if ((ret = poll(this->pfds.data(), this->pfds.size(), -1)) != -1 &&
-       errno != EINTR) {
-      for (unsigned i = 0; i < pfds.size(); i++) {
-         if ((pfds[i].revents & POLLIN) != 0) {
-            if (handlers[i](pfds[i].fd) == -1) {
-               return -1;
-            }
-            pfds[i].revents = 0;
-            pfds[i].events = POLLIN;
-         }
-      }
-   }
-   return ret;
-}
-
 unique_fd::~unique_fd() {
    if (this->fd != -1) {
       close(this->fd);