Mir
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
src
client
mir_wait_handle.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2012 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3,
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by: Thomas Guest <thomas.guest@canonical.com>
17
* Daniel van Vugt <daniel.van.vugt@canonical.com>
18
*/
19
20
#ifndef MIR_CLIENT_MIR_WAIT_HANDLE_H_
21
#define MIR_CLIENT_MIR_WAIT_HANDLE_H_
22
23
#include <chrono>
24
#include <condition_variable>
25
#include <mutex>
26
31
struct
MirWaitHandle
32
{
33
public
:
34
MirWaitHandle
();
35
~MirWaitHandle
();
36
37
void
expect_result
();
38
void
result_received
();
39
void
wait_for_all
();
40
void
wait_for_one
();
41
void
wait_for_pending
(std::chrono::milliseconds limit);
42
43
private
:
44
std::mutex guard;
45
std::condition_variable wait_condition;
46
47
int
expecting;
48
int
received;
49
};
52
#endif
/* MIR_CLIENT_MIR_WAIT_HANDLE_H_ */
Copyright © 2012,2013 Canonical Ltd.
Generated on Tue Oct 15 00:23:28 UTC 2013