gloox
1.0
|
00001 /* 00002 Copyright (c) 2007-2009 by Jakob Schroeter <js@camaya.net> 00003 This file is part of the gloox library. http://camaya.net/gloox 00004 00005 This software is distributed under a license. The full license 00006 agreement can be found in the file LICENSE in this distribution. 00007 This software may not be copied, modified, sold or distributed 00008 other than expressed in the named license agreement. 00009 00010 This software is distributed without any warranty. 00011 */ 00012 00013 00014 #ifndef MUTEX_H__ 00015 #define MUTEX_H__ 00016 00017 #include "macros.h" 00018 00019 namespace gloox 00020 { 00021 00022 namespace util 00023 { 00033 class GLOOX_API Mutex 00034 { 00035 public: 00039 Mutex(); 00040 00044 ~Mutex(); 00045 00049 void lock(); 00050 00058 bool trylock(); 00059 00063 void unlock(); 00064 00065 private: 00066 class MutexImpl; 00067 00068 Mutex& operator=( const Mutex& ); 00069 MutexImpl* m_mutex; 00070 00071 }; 00072 00073 } 00074 00075 } 00076 00077 #endif // MUTEX_H__