OMKPvmReferenceObjectHandle.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 OMKPvmReferenceObjectHandleHEADER
00019 #define OMKPvmReferenceObjectHandleHEADER
00020 
00021 #include <OMKReferenceObjectHandle.h>
00022 #include <OMKNameToPointerMap.h>
00023 #include "OMKPvm.h"
00024 
00025 namespace OMK
00026 {
00027 class PvmIncomingMessage;
00028 class PvmOutgoingMessage;
00029 class SvmLink;
00030 
00044 class OMKPVM_API PvmReferenceObjectHandle: public ReferenceObjectHandle
00045 {
00046 public:
00048    PvmReferenceObjectHandle (SimulatedObject & object, 
00049                                 Controller & controller);
00050    
00056    PvmReferenceObjectHandle (SimulatedObject & object, Controller & controller, SignalDispatcher * signalDispatcher);
00057 
00059    virtual ~PvmReferenceObjectHandle () ;
00060       
00062    virtual void emettreValAttributs (PvmOutgoingMessage *messFD, PvmOutgoingMessage *messEV);
00063    
00064    virtual void insertInStream (std::ostream & = std::cout) const;
00065    
00066    virtual void extract (std::istream & = std::cin);
00067    
00068    virtual void unpack (IncomingSynchronisationMessage & ) ;
00070    virtual void makeSynchronisationMessage( const Date & date );
00071    
00072    virtual void packInitialValues ( PvmOutgoingMessage & message ) ;
00073 
00075    virtual void setMorphosisPhaseTrue () ;
00076    virtual void flushDisconnectedSitesOutgoingBuffer() ;
00079 protected:
00080    
00082    static int plusPetitSSMultSup (const int A, const int B);
00083    
00084    std::map<Name, SvmLink *> _needUpdateOutputValues ;
00085 
00087    bool morphosisPhase ;
00090 //     typedef std::map <Name, Frequency> ProcessFrequenciesType ;
00091 
00092 //     /// la liste des abonnes Flot de Donnees
00093 //     ProcessFrequenciesType _processFrequencies ;
00094 
00096    std::map<Name, SvmLink *>  _needAllOutputValues ;
00097 
00098 }; // PvmReferenceObjectHandle
00099 
00100 } // namespace OMK
00101 #endif
00102 
00103 
00104 
00105 
00106 
00107 

logo OpenMask

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

Generated with doxygen by Dimitri van Heesch ,   1997-2007