mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-23 09:51:57 -05:00
CNotifier: Provide a way to unregister a notifier temporarily
This commit is contained in:
parent
3dac1f8ac5
commit
7bf420d83d
2 changed files with 12 additions and 2 deletions
|
@ -6,10 +6,18 @@ CNotifier::CNotifier(int fd, unsigned event_mask)
|
|||
: m_fd(fd)
|
||||
, m_event_mask(event_mask)
|
||||
{
|
||||
CEventLoop::register_notifier({}, *this);
|
||||
set_enabled(true);
|
||||
}
|
||||
|
||||
CNotifier::~CNotifier()
|
||||
{
|
||||
CEventLoop::unregister_notifier({}, *this);
|
||||
set_enabled(false);
|
||||
}
|
||||
|
||||
void CNotifier::set_enabled(bool enabled)
|
||||
{
|
||||
if (enabled)
|
||||
CEventLoop::register_notifier({}, *this);
|
||||
else
|
||||
CEventLoop::unregister_notifier({}, *this);
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@ public:
|
|||
CNotifier(int fd, unsigned event_mask);
|
||||
~CNotifier();
|
||||
|
||||
void set_enabled(bool);
|
||||
|
||||
Function<void()> on_ready_to_read;
|
||||
Function<void()> on_ready_to_write;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue