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

PsCalculus.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 developed 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 PsCalculusHEADER
00019 #define PsCalculusHEADER
00020 
00021 
00022 #include <Psn.h>
00023 #include <PsObjectDescriptor.h>
00024 
00025 class PsController ;
00026 class PsName;
00027 class PsInputNT;
00028 class PsOutputNT;
00029 class PsSimulatedObject ;
00030 class PsEventListener ;
00031 template <typename T> class PsNameToPointerMap;
00032 
00040 class PsCalculus
00041 {
00042 public:
00043 
00051    PsCalculus (PsSimulatedObject &object) ;
00052    
00053 
00056    virtual ~PsCalculus () ;
00057 
00058 
00063    virtual void init () ;
00064 
00065 
00068    virtual void compute () ;
00069 
00070 
00074    virtual void finish () ;
00075 
00077 
00080 
00082    virtual void initUserInterface () ;
00083 
00084 
00086    virtual void runUserInterfaceDuringInit () ; 
00087 
00089    virtual void runUserInterface () ; 
00090 
00092    virtual void runUserInterfaceDuringSuspend () ;
00093    
00095    virtual void terminateUserInterface () ; 
00097 
00098 //****************************************************
00099    
00102 
00106    virtual PsController & getController () const ; 
00107    
00108 
00111    virtual const PsDate & getSimulatedDate () const ;
00112 
00115    virtual PsSimulatedObject & getSimulatedObject () const ;
00116 
00117    /* get simulated object's name */
00118    virtual const PsName & getName () const ; 
00119    
00121    virtual const PsName & getClass () const ; 
00122 
00124    virtual const PsName & getProcess () const ; 
00125 
00127    virtual const PsFrequency & getFrequency () const ; 
00128 
00131    virtual float getPeriod () const ;
00132 
00133 
00135    virtual const PsConfigurationParameterDescriptor * getConfigurationParameters () const ;
00136 
00137 
00139    virtual const PsNameToPointerMap < PsInputNT > & getInputTable () const ; 
00140    
00141    
00143    virtual const PsNameToPointerMap < PsOutputNT > & getOutputTable () const ; 
00144    
00145    
00147    virtual const PsNameToPointerMap < PsOutputNT > & getControlParameterTable () const ; 
00148    
00149 
00151    virtual const list < PsEventListener * > & getEventListeners () const ;
00152    
00153 
00158    virtual PsInputNT * getPointerToInputNamed ( const PsName & inputName ) const;
00159    
00160    
00165    virtual PsOutputNT * getPointerToOutputNamed ( const PsName & outputName) const;
00166    
00167    
00172    virtual PsOutputNT * getPointerToControlParameterNamed ( const PsName & parameterName ) const ;
00174 
00175  
00176 protected:
00177 
00179   PsSimulatedObject & _object;
00180 
00181 private:
00182 
00183 }; // PsCalculus
00184 
00185 #endif
00186 
00187 
00188 

logo OpenMask

Documentation generated on Mon Nov 25 15:24:59 2002

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