kmail Library API Documentation

isubject.cpp

00001 #ifdef HAVE_CONFIG_H 00002 #include <config.h> 00003 #endif 00004 00005 #include "isubject.h" 00006 #include "interfaces/observer.h" 00007 00008 #include <qtl.h> 00009 00010 #include <kdebug.h> 00011 00012 namespace KMail { 00013 00014 ISubject::~ISubject() 00015 { 00016 mObserverList.clear(); 00017 } 00018 00019 void ISubject::attach( Interface::Observer * pObserver ) 00020 { 00021 if ( qFind( mObserverList.begin(), mObserverList.end(), pObserver ) == mObserverList.end() ) 00022 mObserverList.push_back( pObserver ); 00023 } 00024 00025 void ISubject::detach( Interface::Observer * pObserver ) { 00026 QValueVector<Interface::Observer*>::iterator it = qFind( mObserverList.begin(), mObserverList.end(), pObserver ); 00027 if ( it != mObserverList.end() ) 00028 mObserverList.erase( it ); 00029 } 00030 00031 void ISubject::notify() 00032 { 00033 kdDebug(5006) << "ISubject::notify " << mObserverList.size() << endl; 00034 for ( QValueVector<Interface::Observer*>::iterator it = mObserverList.begin() ; it != mObserverList.end() ; ++it ) 00035 (*it)->update( this ); 00036 } 00037 00038 } 00039
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Oct 1 15:19:17 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003