00001 /// 00002 /// \file threadwrap.h 00003 /// RAII Wrapper for a single thread. 00004 /// 00005 00006 /* 00007 Copyright (C) 2009, Nicolas VIVIEN 00008 00009 This program is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 2 of the License, or 00012 (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00017 00018 See the GNU General Public License in the COPYING file at the 00019 root directory of this project for more details. 00020 */ 00021 00022 #ifndef __BARRY_THREADWRAP_H__ 00023 #define __BARRY_THREADWRAP_H__ 00024 00025 #include "dll.h" 00026 #include <pthread.h> 00027 00028 namespace Barry { 00029 00030 class BXEXPORT Thread 00031 { 00032 private: 00033 pthread_t thread; 00034 00035 public: 00036 Thread(int socket, void *(*callback)(void *data), void *data); 00037 ~Thread(); 00038 00039 void Dispose(); 00040 }; 00041 00042 } // namespace Barry 00043 00044 #endif 00045