Page Speed Optimization Libraries  1.5.27.2
net/instaweb/util/public/condvar.h
Go to the documentation of this file.
00001 // Copyright 2011 Google Inc.
00016 
00017 #ifndef NET_INSTAWEB_UTIL_PUBLIC_CONDVAR_H_
00018 #define NET_INSTAWEB_UTIL_PUBLIC_CONDVAR_H_
00019 
00020 #include "net/instaweb/util/public/basictypes.h"
00021 #include "net/instaweb/util/public/thread_system.h"
00022 
00023 namespace net_instaweb {
00024 
00027 class ThreadSystem::Condvar {
00028  public:
00029   Condvar() { }
00030   virtual ~Condvar();
00031 
00033   virtual CondvarCapableMutex* mutex() const = 0;
00034 
00042   virtual void Signal() = 0;
00043 
00046   virtual void Broadcast() = 0;
00047 
00060   virtual void Wait() = 0;
00061 
00064   virtual void TimedWait(int64 timeout_ms) = 0;
00065 
00066  private:
00067   DISALLOW_COPY_AND_ASSIGN(Condvar);
00068 };
00069 
00070 }  
00071 
00072 #endif  ///< NET_INSTAWEB_UTIL_PUBLIC_CONDVAR_H_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines