OMKProcess.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 OMKProcessHEADER
00019 #define OMKProcessHEADER
00020 
00021 #include <OMKName.h>
00022 #include <OMKPackable.h>
00023 #include "OMKPvm.h"
00024 
00025 namespace OMK
00026 {
00027 class SvmLink;
00028 
00032 class OMKPVM_API Process : public Packable
00033 {
00034 public:
00035 
00037    Process (const std::string & np, const std::string & mac);
00038 
00040    virtual ~Process ();
00041    
00043    virtual void unpack (IncomingSynchronisationMessage &) ;
00044    
00046    virtual void pack (OutgoingSynchronisationMessage &) const ;
00047   
00049    const Name & getProcessName() const ;
00050 
00052    const Name & getHostMachineName() const ;
00053 
00055    const Frequency & getFrequency () const ;
00056 
00058    const Frequency & getMaxFrequencyOfHostedObjects () const ;
00059 
00061    SvmLink * getSvmLink () const ;
00062    
00064    const Date & getDateOfLastMessage () const ;
00065 
00067    const Date & getPeriod () const ;
00068 
00070    void setDateOfLastMessage ( const Date & d ) ;
00071    
00073    void setFrequency (const Frequency & val);
00074 
00076    void setMaxHostedFrequency (const Frequency & val);
00077    
00079    void setSvmLink ( SvmLink* val);
00080    
00082    // cette fct incremente le compteur d'iteration 'iterationflag'
00083    void incrementeIterationFlag();
00084    // cette fct renvoie la valeur de 'iterationflag'
00085    int getIterationFlag();
00086    // cette fct reset 'iterationflag' a zero
00087    void resetIterationFlag();
00088    // cette fct fait un simple test pr decider si un processus est 
00089    // deconnecte ou pas
00090    bool disconnectedProcess();
00093 protected:
00095    Date _dateOfLastMessage ;
00096    
00097    
00101    Date _period ;
00102    
00104    Name  _processName; 
00105    
00107    Name  _machineName; 
00108    
00110    Frequency _processFrequency;  
00111    
00113    Frequency _maxHostedFrequency ;
00114    
00116    SvmLink * _svmLink; 
00117    
00119    int _iterationFlag;
00121 };    // Process
00122 } // namespace OMK
00123 #endif

logo OpenMask

Documentation generated on Mon Jun 9 11:45:57 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007