GNotifier.h 513 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <AK/Function.h>
  3. class GNotifier {
  4. public:
  5. enum Event {
  6. None = 0,
  7. Read = 1,
  8. Write = 2,
  9. Exceptional = 4,
  10. };
  11. GNotifier(int fd, unsigned event_mask);
  12. ~GNotifier();
  13. Function<void(GNotifier&)> on_ready_to_read;
  14. Function<void(GNotifier&)> on_ready_to_write;
  15. int fd() const { return m_fd; }
  16. unsigned event_mask() const { return m_event_mask; }
  17. private:
  18. int m_fd { -1 };
  19. unsigned m_event_mask { 0 };
  20. };