diff options
author | Max Kellermann <max@duempel.org> | 2013-08-07 22:42:45 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-08-08 23:04:07 +0200 |
commit | 018f4155eb7b476b96a7b401377be78e00ca7dd2 (patch) | |
tree | fb7b46b83a8850e426a2c80f3734d14547843afe /src/event/Call.hxx | |
parent | 9ab0a1f5f16b475199540349905e4d79001b8cec (diff) | |
download | mpd-018f4155eb7b476b96a7b401377be78e00ca7dd2.tar.gz mpd-018f4155eb7b476b96a7b401377be78e00ca7dd2.tar.xz mpd-018f4155eb7b476b96a7b401377be78e00ca7dd2.zip |
event: add function BlockingCall()
Replaces io_thread_call(). This approach is more generic and easier
to use due to std::function.
Diffstat (limited to '')
-rw-r--r-- | src/event/Call.hxx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/event/Call.hxx b/src/event/Call.hxx new file mode 100644 index 000000000..34d886ca5 --- /dev/null +++ b/src/event/Call.hxx @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2003-2013 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef MPD_EVENT_CALL_HXX +#define MPD_EVENT_CALL_HXX + +#include "check.h" + +#include <functional> + +class EventLoop; + +/** + * Call the given function in the context of the #EventLoop, and wait + * for it to finish. + */ +void +BlockingCall(EventLoop &loop, std::function<void()> &&f); + +#endif /* MAIN_NOTIFY_H */ |