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 MirrorObjectHandleHEADER 00019 #define MirrorObjectHandleHEADER 00020 00021 //----------------------------------------------------------------------------- 00022 00023 #include <OMKObjectHandle.h> 00024 #include <OMKNameToPointerMap.h> 00025 00026 //----------------------------------------------------------------------------- 00027 00028 namespace OMK 00029 { 00030 class SvmLink ; 00031 class Event ; 00032 00033 //----------------------------------------------------------------------------- 00040 class OMK_API MirrorObjectHandle : public ObjectHandle 00041 { 00042 public : 00044 MirrorObjectHandle (SimulatedObject & objetSimul) ; 00045 00046 00048 virtual ~MirrorObjectHandle() ; 00049 00051 virtual void linkToNewReferential (Name newProcessName) = 0 ; 00052 virtual void setMorphosisPhaseTrue () = 0 ; 00056 // TDTD ajout du booleen pour ne pas demander de valeurs lors d'une migration 00057 virtual void registerToReferenceObject (bool needValues) = 0 ; 00058 00059 00061 virtual void cancelRegistrationToReferenceObject () = 0 ; 00062 00063 00065 virtual void insertInStream (std::ostream & = std::cout) const = 0 ; 00066 00068 virtual void extract (std::istream & = std::cin) ; 00069 00070 00072 virtual void unpack (IncomingSynchronisationMessage & in) = 0 ; 00073 00074 00076 virtual void receiveEvent (const Event & event) = 0 ; 00077 00078 00080 virtual void receiveEvent (Event * event) = 0 ; 00081 00082 00087 virtual void sendEventsForSignal( Event & event , const EventIdentifier & sigId ) = 0 ; 00088 00089 00094 virtual bool receiveRegistrationForSignal( const EventIdentifier & sigId, 00095 const Name & registrant, 00096 const EventIdentifier & eventId ) = 0 ; 00097 00098 00102 virtual bool cancelRegistrationForSignal( const EventIdentifier & sigId , 00103 const Name & registrant ) = 0 ; 00104 00105 protected : 00107 virtual void attributeRead () = 0 ; 00108 00110 virtual void sendRequestToReferenceObject ( RequestType typeMess ) = 0 ; 00111 00112 protected: 00114 bool _registered ; 00115 00117 SvmLink * _linkToReferencesProcess ; 00118 00120 Date _dateOfLastUse ; 00121 00123 bool morphosisPhase ; 00125 }; 00126 } // namespace OMK 00127 00128 #endif 00129
Documentation generated on Mon Jun 9 11:45:56 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |