blob: 6bcec7d5ff921efabb3c52c0593218498d523c88 [file] [log] [blame]
scroggo@google.com4177ef42012-10-31 15:52:16 +00001/*
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
15class SkCountdown : public SkRunnable {
16public:
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
31private:
32 SkCondVar fReady;
33 int32_t fCount;
34};
35
36#endif