mutexguard.h

00001 /*
00002   Copyright (c) 2007-2008 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 MUTEXGUARD_H__
00015 #define MUTEXGUARD_H__
00016 
00017 #include "mutex.h"
00018 
00019 namespace gloox
00020 {
00021 
00028   class GLOOX_API MutexGuard
00029   {
00030     public:
00035       MutexGuard( Mutex* mutex ) : m_mutex( *mutex ) { if( mutex ) m_mutex.lock(); }
00036 
00041       MutexGuard( Mutex& mutex ) : m_mutex( mutex ) { m_mutex.lock(); }
00042 
00046       ~MutexGuard() { m_mutex.unlock(); }
00047 
00048     private:
00049       Mutex& m_mutex;
00050 
00051   };
00052 }
00053 
00054 #endif // MUTEXGUARD_H__

Generated on Mon Dec 7 13:28:19 2009 for gloox by  doxygen 1.6.1