00001 #ifndef N2NC_SYNCCONDITION_H 00002 #define N2NC_SYNCCONDITION_H 00003 00004 #include "nixsys.h" 00005 #include "mutex.h" 00006 00007 namespace n2nc { 00008 namespace sync { 00009 00015 class Condition{ 00016 public: 00017 Condition(Mutex& mutex); 00018 ~Condition(); 00019 bool signal(); 00020 bool signalall(); 00021 bool wait(); 00022 00023 private: 00024 pthread_cond_t m_cond ; 00025 Mutex &m_mutex ; 00026 /* FIXME disallow copy */ 00027 00028 }; 00029 00030 } 00031 } 00032 00033 #endif