Home | History | Annotate | Download | only in utils
      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
     37