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 00019 #include <OMKEvent.h> 00020 #include "OMKTracer.h" 00021 00022 #include "OMKEventAssociationList.h" 00023 #include "OMKEventCreator.h" 00024 #include "OMKSimpleTypeT.inl" 00025 00026 using namespace std ; 00027 using namespace OMK ; 00028 00029 EventCreator * Event::_myEventCreator = new EventCreator ("Event") ; 00030 00031 00032 00033 Event::Event ( const Event & originalEvent ) : 00034 eventId ( originalEvent.eventId ), 00035 date ( originalEvent.date ), 00036 sender ( originalEvent.sender ), 00037 receiver ( originalEvent.receiver ) 00038 { 00039 } 00040 00041 00042 00043 Event & Event::operator= (const Event & evenement) 00044 { 00045 eventId = evenement.eventId ; 00046 date = evenement.date ; 00047 sender = evenement.sender ; 00048 receiver = evenement.receiver ; 00049 return(*this); 00050 } 00051 00052 Event * Event::clone () const { 00053 return new Event (*this) ; 00054 } 00055 00056 00057 00058 void Event::unpack (IncomingSynchronisationMessage & in) 00059 { 00060 //do nothing : all usefull information has allready been unpacked 00061 } 00062 00063 00064 void Event::pack (OutgoingSynchronisationMessage & out) const 00065 { 00066 static Name eventWithNoValue ("Event") ; 00067 #ifdef _DEBUGPVMMESS 00068 cerr<<"Event::pack"<<endl; 00069 #endif 00070 out << eventWithNoValue 00071 << eventId 00072 << OMK::Type::SimpleTypeT< Date >( date ) 00073 << sender 00074 << receiver ; 00075 } 00076 00077 00078 00079 void Event::insertInStream (ostream & out) const 00080 { 00081 out << eventId << " " 00082 << date << " " 00083 << sender << " " 00084 << receiver << " " ; 00085 } 00086 00087 void Event::extract (istream & in){ 00088 in >> eventId 00089 >> date 00090 >> sender 00091 >> receiver ; 00092 } 00093 00094 Event::Event(const EventIdentifier & eventId, const Date & date, const Name & sender, const Name & receiver ) : 00095 eventId ( eventId ), 00096 date ( date ), 00097 sender ( sender ), 00098 receiver (receiver ) 00099 { 00100 #ifdef _DEBUGEVT 00101 cerr<<"Event::Event(const EventIdentifier & eventId, const Date & date, const Name & sender, const Name & receiver )"<<endl; 00102 #endif 00103 } 00104 00105 Event::~Event() 00106 { 00107 //cerr<<"Event::~Event() "<<*this<<endl; 00108 } 00109 00110 00111 bool Event::isSystem() const { 00112 return eventId.isSystemEvent () ; 00113 } 00114 00115 00116 00117 Event * Event::insertInList(list<Event *> * aList, Event * event) { 00118 00119 list<Event *>::reverse_iterator i = aList->rbegin () ; 00120 00121 while ( i != aList->rend() && 00122 (event->date < (*i)->date ) ) 00123 { 00124 ++i ; 00125 } 00126 aList-> insert (i.base(),event) ; 00127 return event ; 00128 } 00129
Documentation generated on Mon Jun 9 11:45:56 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |