mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:27:43 +00: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_fd(fd)
|
||||||
, m_event_mask(event_mask)
|
, m_event_mask(event_mask)
|
||||||
{
|
{
|
||||||
CEventLoop::register_notifier({}, *this);
|
set_enabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
CNotifier::~CNotifier()
|
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(int fd, unsigned event_mask);
|
||||||
~CNotifier();
|
~CNotifier();
|
||||||
|
|
||||||
|
void set_enabled(bool);
|
||||||
|
|
||||||
Function<void()> on_ready_to_read;
|
Function<void()> on_ready_to_read;
|
||||||
Function<void()> on_ready_to_write;
|
Function<void()> on_ready_to_write;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue