// // Linux Daemon // /* prevent multiple inclusions */ #ifndef __Mutex__ #define __Mutex__ /* includes *****************************************************************/ #include #include #include #include #include #include #include #include /* defines ******************************************************************/ /* macros *******************************************************************/ /* structs & typedefs *******************************************************/ /* c class definitions ******************************************************/ class Mutex { // public data public: // protected data protected: pthread_mutexattr_t m_attr; pthread_mutex_t m_mutex; // private data private: // public methods public: // constructors Mutex(); // destructor virtual ~Mutex(); Mutex( const Mutex& ); const Mutex& operator=( const Mutex& ); // public methods void Init( void ); int Lock( void ); int TryLock( void ); int Unlock( void ); // virtual functions // exceptions class MutexException { char *toString(void) { return strerror(errno); }; }; // static methods to override // private methods private: }; #endif