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 #include "PsnEventAssociationList.h" 00019 00020 PsnEventAssociationList::PsnEventAssociationList() 00021 { 00022 00023 } 00024 00025 PsnEventAssociationList::~PsnEventAssociationList() 00026 { 00027 00028 } 00029 00030 PsEvent * PsnEventAssociationList::remove (PsEvent * event) 00031 { 00032 PsEvent * result = NULL ; 00033 list<pair<PsEvent *,PsEvent * > >::iterator i = _associatedEventList.begin() ; 00034 list<pair<PsEvent *,PsEvent * > >::iterator toRemove ; 00035 while (i != _associatedEventList.end() ) 00036 { 00037 if ( i->first = event) 00038 { 00039 result = i->second ; 00040 toRemove = i ; 00041 i = _associatedEventList.end() ; 00042 _associatedEventList.erase (toRemove) ; 00043 } 00044 else if ( i->second = event ) 00045 { 00046 result = i->first ; 00047 toRemove = i ; 00048 i = _associatedEventList.end() ; 00049 _associatedEventList.erase (toRemove) ; 00050 } 00051 else 00052 { 00053 i++ ; 00054 } 00055 } 00056 return result ; 00057 } 00058 00059 void PsnEventAssociationList::associate (PsEvent * evt1, PsEvent * evt2) 00060 { 00061 //push_front because it will probably be the next removed element and that removal starts at the beginning of the list 00062 _associatedEventList.push_front( pair<PsEvent *,PsEvent * > (evt1, evt2) ) ; 00063 } 00064 00065
| Documentation generated on Mon Nov 25 15:25:00 2002 |
Generated with doxygen 1.2.12 by Dimitri van Heesch , 1997-2001 |