MPD
0.20.15
event
DeferredMonitor.hxx
Go to the documentation of this file.
1
/*
2
* Copyright 2003-2017 The Music Player Daemon Project
3
* http://www.musicpd.org
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
#ifndef MPD_SOCKET_DEFERRED_MONITOR_HXX
21
#define MPD_SOCKET_DEFERRED_MONITOR_HXX
22
23
#include "
check.h
"
24
25
class
EventLoop
;
26
32
class
DeferredMonitor
{
33
EventLoop
&loop;
34
35
friend
class
EventLoop
;
36
bool
pending;
37
38
public
:
39
DeferredMonitor
(
EventLoop
&_loop)
40
:loop(_loop), pending(false) {}
41
42
~DeferredMonitor
() {
43
Cancel
();
44
}
45
46
EventLoop
&
GetEventLoop
() {
47
return
loop;
48
}
49
50
void
Schedule
();
51
void
Cancel
();
52
53
protected
:
54
virtual
void
RunDeferred
() = 0;
55
};
56
57
#endif
/* MAIN_NOTIFY_H */
check.h
DeferredMonitor::GetEventLoop
EventLoop & GetEventLoop()
Definition:
DeferredMonitor.hxx:46
EventLoop
An event loop that polls for events on file/socket descriptors.
Definition:
Loop.hxx:51
DeferredMonitor::RunDeferred
virtual void RunDeferred()=0
DeferredMonitor
Defer execution of an event into an EventLoop.
Definition:
DeferredMonitor.hxx:32
DeferredMonitor::~DeferredMonitor
~DeferredMonitor()
Definition:
DeferredMonitor.hxx:42
DeferredMonitor::DeferredMonitor
DeferredMonitor(EventLoop &_loop)
Definition:
DeferredMonitor.hxx:39
DeferredMonitor::Cancel
void Cancel()
DeferredMonitor::Schedule
void Schedule()
Generated on Thu Jan 11 2018 20:53:13 for MPD by
1.8.14