ObjFW
OFCondition.h
1 /*
2  * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
3  * Jonathan Schleifer <js@webkeks.org>
4  *
5  * All rights reserved.
6  *
7  * This file is part of ObjFW. It may be distributed under the terms of the
8  * Q Public License 1.0, which can be found in the file LICENSE.QPL included in
9  * the packaging of this file.
10  *
11  * Alternatively, it may be distributed under the terms of the GNU General
12  * Public License, either version 2 or 3, which can be found in the file
13  * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
14  * file.
15  */
16 
17 #import "OFMutex.h"
18 
19 OF_ASSUME_NONNULL_BEGIN
20 
21 @class OFDate;
22 
28 @interface OFCondition: OFMutex
29 {
30  of_condition_t _condition;
31  bool _conditionInitialized;
32 }
33 
39 + (instancetype)condition;
40 
45 - (void)wait;
46 
54 - (bool)waitForTimeInterval: (of_time_interval_t)timeInterval;
55 
63 - (bool)waitUntilDate: (OFDate*)date;
64 
68 - (void)signal;
69 
73 - (void)broadcast;
74 @end
75 
76 OF_ASSUME_NONNULL_END
A class for creating mutual exclusions.
Definition: OFMutex.h:29
A class for storing, accessing and comparing dates.
Definition: OFDate.h:30
A class implementing a condition variable for thread synchronization.
Definition: OFCondition.h:28
double of_time_interval_t
A time interval in seconds.
Definition: OFObject.h:90