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
| Documentation generated on Mon Nov 25 15:24:59 2002 |
Generated with doxygen 1.2.12 by Dimitri van Heesch , 1997-2001 |