| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  *  Copyright 2004 The WebRTC Project Authors. All rights reserved. |   2  *  Copyright 2004 The WebRTC Project Authors. All rights reserved. | 
|   3  * |   3  * | 
|   4  *  Use of this source code is governed by a BSD-style license |   4  *  Use of this source code is governed by a BSD-style license | 
|   5  *  that can be found in the LICENSE file in the root of the source |   5  *  that can be found in the LICENSE file in the root of the source | 
|   6  *  tree. An additional intellectual property rights grant can be found |   6  *  tree. An additional intellectual property rights grant can be found | 
|   7  *  in the file PATENTS.  All contributing project authors may |   7  *  in the file PATENTS.  All contributing project authors may | 
|   8  *  be found in the AUTHORS file in the root of the source tree. |   8  *  be found in the AUTHORS file in the root of the source tree. | 
|   9  */ |   9  */ | 
|  10  |  10  | 
|  11 #ifndef WEBRTC_BASE_EVENT_H__ |  11 #ifndef WEBRTC_BASE_EVENT_H_ | 
|  12 #define WEBRTC_BASE_EVENT_H__ |  12 #define WEBRTC_BASE_EVENT_H_ | 
|  13  |  13  | 
|  14 #include "webrtc/base/constructormagic.h" |  | 
|  15 #if defined(WEBRTC_WIN) |  | 
|  16 #include "webrtc/base/win32.h"  // NOLINT: consider this a system header. |  | 
|  17 #elif defined(WEBRTC_POSIX) |  | 
|  18 #include <pthread.h> |  | 
|  19 #else |  | 
|  20 #error "Must define either WEBRTC_WIN or WEBRTC_POSIX." |  | 
|  21 #endif |  | 
|  22  |  14  | 
|  23 namespace rtc { |  15 // This header is deprecated and is just left here temporarily during | 
 |  16 // refactoring. See https://bugs.webrtc.org/7634 for more details. | 
 |  17 #include "webrtc/rtc_base/event.h" | 
|  24  |  18  | 
|  25 class Event { |  19 #endif  // WEBRTC_BASE_EVENT_H_ | 
|  26  public: |  | 
|  27   static const int kForever = -1; |  | 
|  28  |  | 
|  29   Event(bool manual_reset, bool initially_signaled); |  | 
|  30   ~Event(); |  | 
|  31  |  | 
|  32   void Set(); |  | 
|  33   void Reset(); |  | 
|  34  |  | 
|  35   // Wait for the event to become signaled, for the specified number of |  | 
|  36   // |milliseconds|.  To wait indefinetly, pass kForever. |  | 
|  37   bool Wait(int milliseconds); |  | 
|  38  |  | 
|  39  private: |  | 
|  40 #if defined(WEBRTC_WIN) |  | 
|  41   HANDLE event_handle_; |  | 
|  42 #elif defined(WEBRTC_POSIX) |  | 
|  43   pthread_mutex_t event_mutex_; |  | 
|  44   pthread_cond_t event_cond_; |  | 
|  45   const bool is_manual_reset_; |  | 
|  46   bool event_status_; |  | 
|  47 #endif |  | 
|  48  |  | 
|  49   RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Event); |  | 
|  50 }; |  | 
|  51  |  | 
|  52 }  // namespace rtc |  | 
|  53  |  | 
|  54 #endif  // WEBRTC_BASE_EVENT_H__ |  | 
| OLD | NEW |