1 #ifndef _beos_semaphore_sync_object_h_ 2 #define _beos_semaphore_sync_object_h_ 3 4 #include <cppunit/SynchronizedObject.h> 5 #include <OS.h> 6 7 //! Semaphore based implementation of CppUnit::SynchronizedObject::SynchronizationObject 8 /*! This class is used to serialize access to a TestResult object. You should 9 not need to explicitly use it anywhere in your testing code. 10 */ 11 class CPPUNIT_API SemaphoreSyncObject : public CppUnit::SynchronizedObject::SynchronizationObject { 12 public: 13 SemaphoreSyncObject(); 14 virtual ~SemaphoreSyncObject(); 15 16 virtual void lock(); 17 virtual void unlock(); 18 19 protected: 20 sem_id fSemId; 21 22 private: 23 //! Prevents the use of the copy constructor. 24 SemaphoreSyncObject( const SemaphoreSyncObject © ); 25 26 //! Prevents the use of the copy operator. 27 void operator =( const SemaphoreSyncObject © ); 28 29 }; 30 31 #endif // _beos_synchronization_object_h_ 32