#include <Thread.h>
Inheritance diagram for Thread:
Public Member Functions | |
Thread () | |
Constructeur par défaut. | |
Thread (const Thread &t) | |
Constructeur par recopie. | |
virtual | ~Thread () |
Destructeur. | |
void | Demarrer () |
Démarre le thread s'il n'est pas déja lancé La fonction associée au thread est Filament. | |
void | Arreter () |
Arrête le thread. | |
void | AttendreFin () |
Attendre la fin d'autre thread (join). | |
virtual void * | Traitement ()=0 |
Fonction virtuelle du traitement effectué par le thread => à surcharger lors de l'héritage. | |
Static Private Member Functions | |
static void * | Filament (void *pthis) |
Fonction exécutée par le thread, réfère le lanceur et lance la fonction virtuelle Traitement(). | |
Private Attributes | |
bool | mExecution |
Booléen indiquant l'exécution du thread. | |
pthread_t | mThread |
Structure du thread. |
Definition at line 37 of file Thread.h.
Thread::Thread | ( | ) | [inline] |
Constructeur par défaut.
Definition at line 43 of file Thread.h.
References mExecution.
00043 { mExecution=false; }
Thread::Thread | ( | const Thread & | t | ) | [inline] |
Constructeur par recopie.
t | Classe de base |
Definition at line 50 of file Thread.h.
References mExecution, and mThread.
00050 { 00051 mExecution=t.mExecution; 00052 mThread=t.mThread; 00053 }
virtual Thread::~Thread | ( | ) | [inline, virtual] |
Destructeur.
Definition at line 58 of file Thread.h.
References mExecution, and mThread.
00058 { 00059 if(mExecution) pthread_detach( mThread ); 00060 }
void Thread::Demarrer | ( | ) | [inline] |
Démarre le thread s'il n'est pas déja lancé
La fonction associée au thread est Filament.
Definition at line 66 of file Thread.h.
References Filament(), mExecution, and mThread.
Referenced by ServeurJeu::AttendreClient(), ServeurJeu::AttendreFinPartie(), ServeurJeu::CreationThreadComServeurPrincipal(), TraitementClient::CreerOuRejoindrePartie(), ServeurJeu::DemarrerFantomeAuto(), and ClientSJ::TraitementDeplacement().
00066 { 00067 if(!mExecution){ 00068 int v=pthread_create(&mThread,0,Filament,this); 00069 if(v!=0 ) cerr<<endl<<"Erreur avec pthread_create()!"<<endl; 00070 } 00071 }
Here is the call graph for this function:
void Thread::Arreter | ( | ) | [inline] |
Arrête le thread.
Definition at line 76 of file Thread.h.
References mExecution, and mThread.
00076 { 00077 if(mExecution){ 00078 pthread_cancel(mThread); 00079 mExecution=false; 00080 } 00081 }
void Thread::AttendreFin | ( | ) | [inline] |
Attendre la fin d'autre thread (join).
Definition at line 86 of file Thread.h.
References mExecution, and mThread.
00086 { 00087 if(mExecution) { 00088 if(pthread_join(mThread,NULL)!=0 ) cerr<<endl<<"Erreur avec pthread_join()!"<<endl; 00089 mExecution = false; 00090 } 00091 }
virtual void* Thread::Traitement | ( | ) | [pure virtual] |
Fonction virtuelle du traitement effectué par le thread => à surcharger lors de l'héritage.
Implemented in AffichageGrille, LanceurSJ, TraitementClient, TraitementComServeurJeu, TraitementComServeurPrincipal, and TraitementJoueur.
Referenced by Filament().
static void* Thread::Filament | ( | void * | pthis | ) | [inline, static, private] |
Fonction exécutée par le thread, réfère le lanceur et lance la fonction virtuelle Traitement().
pthis | Pointeur sur le thread lanceur |
Definition at line 103 of file Thread.h.
References mExecution, and Traitement().
Referenced by Demarrer().
00103 { 00104 try{ 00105 Thread *parent = (Thread*)pthis; 00106 parent->mExecution=true; 00107 parent->Traitement(); 00108 } 00109 catch(...){ cerr<<"Filament est partie en sucette!!!"<<endl; } 00110 pthread_exit(0); 00111 }
Here is the call graph for this function:
bool Thread::mExecution [private] |
Booléen indiquant l'exécution du thread.
Definition at line 116 of file Thread.h.
Referenced by Arreter(), AttendreFin(), Demarrer(), Filament(), Thread(), and ~Thread().
pthread_t Thread::mThread [private] |
Structure du thread.
Definition at line 121 of file Thread.h.
Referenced by Arreter(), AttendreFin(), Demarrer(), Thread(), and ~Thread().