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

PsnMirrorObjectHandle.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 PsnMirrorObjectHandleHEADER
00019 #define PsnMirrorObjectHandleHEADER
00020 
00021 //-----------------------------------------------------------------------------
00022 
00023 #include <PsnObjectHandle.h>
00024 #include <PsNameToPointerMap.h>
00025 
00026 //-----------------------------------------------------------------------------
00027 
00028 class PsnSvmLink ;
00029 class PsnPvmMessageFD ;
00030 class PsnPvmMessageEV ;
00031 class PsEvenement ;
00032 class PsMessage ;
00033 class PsEvent ;
00034 //-----------------------------------------------------------------------------
00035 
00036 
00037 //-----------------------------------------------------------------------------
00044 class PsnMirrorObjectHandle : public PsnObjectHandle 
00045 {
00046 public :
00048    PsnMirrorObjectHandle (PsSimulatedObject & objetSimul) ;
00049 
00050 
00052    virtual ~PsnMirrorObjectHandle() ;
00053 
00054 
00056    void registerToReferenceObject () ;
00057  
00058 
00060    void cancelRegistrationToReferenceObject () ;
00061 
00062 
00064    virtual void insertInStream (ostream & = cout) const ;
00065 
00067    virtual void extract (istream & = cin) ;
00068 
00069 
00071    virtual void unpack (PsIncomingSynchronisationMessage & in) ;
00072    
00073 
00075    virtual void receiveEvent (const PsEvent & event) ;
00076 
00077 
00079    virtual void receiveEvent (PsEvent * event) ;
00080 
00081 
00086    virtual void sendEventsForSignal( PsEvent & event , const PsEventIdentifier & sigId ) ;
00087 
00088 
00093    virtual bool receiveRegistrationForSignal( const PsEventIdentifier & sigId, 
00094                                               const PsName & registrant, 
00095                                               const PsEventIdentifier & eventId ) ;
00096 
00097 
00101    virtual bool cancelRegistrationForSignal( const PsEventIdentifier & sigId , 
00102                                              const PsName & registrant ) ;
00103    
00104 protected :
00106    virtual void attributeRead () ;
00107 
00109    bool _registered ;
00110 
00112    void sendRequestToReferenceObject (PsnRequestType typeMess);
00113 
00115    PsnSvmLink * _linkToReferencesProcess ;
00116 
00118    PsDate _dateOfLastUse ;
00119 
00120 }; 
00121 
00122 #endif
00123 

logo OpenMask

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

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