/home/neoflo/smb4k/SERVEUR/Millie/trunk/src/multithread/Mutex.hpp

Aller à la documentation de ce fichier.
00001 /******************************************************************************
00002  *       __    _    _   _       _       _   _____                             *
00003  *       | \  / |  | | | |     | |     | |  | ___|                            *
00004  *       |  \/  |  | | | |     | |     | |  | |_                              *
00005  *       |      |  | | | |     | |     | |  |  _|                             *
00006  *       | |\/| |  | | | |__   | |__   | |  | |__                             *
00007  *       |_|  |_|  |_| |____|  |____|  |_|  |____|                            *
00008  * __________________________________________________________________________ *
00009  *                 Multifunctional Library For Image Processing               *
00010  *                                                                            *
00011  *                                                                            *
00012  *                                                                            *
00013  *      (c) Copyright 2007 by Humbert Florent                                 *
00014  *                                                                            *
00015  *      This program is free software; you can redistribute it and/or modify  *
00016  *      it under the terms of the GNU General Public License as published by  *
00017  *      the Free Software Foundation; only version 2 of the License.          *
00018  *                                                                            *
00019  *      This program is distributed in the hope that it will be useful,       *
00020  *      but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00021  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00022  *      GNU General Public License for more details.                          *
00023  *                                                                            *
00024  *      You should have received a copy of the GNU General Public License     *
00025  *      along with this program; if not, write to the Free Software           *
00026  *      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA             *
00027  *      02111-1307, USA.                                                      *
00028  ******************************************************************************/
00029 
00033 #ifndef _MILLIEMUTEX_HPP_
00034 #define _MILLIEMUTEX_HPP_
00035 
00036 #include <pthread.h>
00037 #include "MillieExceptions.hpp"
00038 
00039 namespace Millie
00040 {
00057   class Mutex
00058   {
00059     private:
00060       pthread_mutex_t _mutex;
00061 
00062       bool _isLocked;
00063       pthread_mutex_t _lock;
00064     public:
00065 
00069       Mutex();
00070 
00074       void lock()
00075       ;
00076 
00080       void unlock();
00081 
00087       virtual ~Mutex();
00088   };
00089 
00116   class MutexLock
00117   {
00118       Mutex * _mutex;
00119 
00120     public:
00121 
00125       MutexLock(Mutex & mutex);
00126 
00130       void unlock();
00131 
00135       virtual ~MutexLock();
00136   };
00137 
00138 
00139 }
00140 
00141 #endif

Généré le Fri May 18 23:24:35 2007 pour Millie par  doxygen 1.5.1