Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PsReactGlobalController.h

Go to the documentation of this file.
00001 /*
00002  * This file is part of openMask © INRIA, CNRS, Universite de Rennes 1 1993-2002, thereinafter the Software
00003  * 
00004  * The Software has been developped within the Siames Project. 
00005  * INRIA, the University of Rennes 1 and CNRS jointly hold intellectual property rights
00006  * 
00007  * The Software has been registered with the Agence pour la Protection des
00008  * Programmes (APP) under registration number IDDN.FR.001.510008.00.S.P.2001.000.41200
00009  *
00010  * This file may be distributed under the terms of the Q Public License
00011  * version 1.0 as defined by Trolltech AS of Norway and appearing in the file
00012  * LICENSE.QPL included in the packaging of this file.
00013  *
00014  * Licensees holding valid specific licenses issued by INRIA, CNRS or Université de Rennes 1 
00015  * for the software may use this file in accordance with that specific license 
00016  *
00017  */
00018 #ifndef PsReactGlobalControllerHEADER
00019 #define PsReactGlobalControllerHEADER
00020 
00021 #include <PsController.h>
00022 
00023 #include <PsnSemaphore.h>
00024 #include <PsnBarrier.h>
00025 #include <sys/frs.h>
00026 
00027 class PsName;
00028 #include <PsSimulatedObject.h>
00029 class PsArbreSimul;
00030 class PsObjectDescriptor;
00031 
00032 #include <PsnReferenceObjectHandle.h>
00033 #include <PsnMirrorObjectHandle.h>
00034 //class PsnReferenceObjectHandle;
00035 //class PsnMirrorObjectHandle;
00036 class PsnProcess;
00037 class PsName;
00038 
00047 class PsReactGlobalController : public PsController
00048 {
00049 public:
00054   PsReactGlobalController(const PsName & nbproc, PsObjectDescriptor* scenario,PsKernelObjectAbstractFactory * aFactory);
00057   virtual ~PsReactGlobalController();
00061   virtual PsCalculus * createCalculus ();
00065   virtual void init();
00069    virtual void run();
00073   virtual void compute();
00076   int NbFils();
00080   virtual const PsEvenement & nouvelEvt (const PsEvenement & evt) ;
00083   PsnBarrier * barStart;
00086   PsnBarrier * barFrsStart;
00087   //  static bool fin;
00088   // void finFrs (void);
00089   static frs_t * frs; //une référence sur le FRS maitre créé par le premier controleur local. (il ne peut y avoir qu'un seul controleur local)
00090   static PsReactGlobalController * controleurUnique; //une référence sur le FRS maitre. (il ne peut y avoir qu'un seul controleur global)
00091 
00095   static void monError();
00096 
00097 protected: 
00098   int nbFils;
00099 
00100 }; // PsController
00101 #endif
00102 
00103 
00104 

logo OpenMask

Documentation generated on Mon Nov 25 15:25:02 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001