Upstream version 9.37.195.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / include / utils / SkCountdown.h
1 /*
2  * Copyright 2012 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7
8 #ifndef SkCountdown_DEFINED
9 #define SkCountdown_DEFINED
10
11 #include "SkCondVar.h"
12 #include "SkRunnable.h"
13 #include "SkTypes.h"
14
15 class SkCountdown : public SkRunnable {
16 public:
17     explicit SkCountdown(int32_t count);
18
19     /**
20      * Resets the countdown to the count provided.
21      */
22     void reset(int32_t count);
23
24     virtual void run() SK_OVERRIDE;
25
26     /**
27      * Blocks until run() has been called count times.
28      */
29     void wait();
30
31 private:
32     SkCondVar fReady;
33     int32_t   fCount;
34 };
35
36 #endif