diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /kmail/isubject.cpp | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmail/isubject.cpp')
-rw-r--r-- | kmail/isubject.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/kmail/isubject.cpp b/kmail/isubject.cpp new file mode 100644 index 000000000..13f8e8903 --- /dev/null +++ b/kmail/isubject.cpp @@ -0,0 +1,39 @@ +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "isubject.h" +#include "interfaces/observer.h" + +#include <qtl.h> + +#include <kdebug.h> + +namespace KMail { + + ISubject::~ISubject() + { + mObserverList.clear(); + } + + void ISubject::attach( Interface::Observer * pObserver ) + { + if ( qFind( mObserverList.begin(), mObserverList.end(), pObserver ) == mObserverList.end() ) + mObserverList.push_back( pObserver ); + } + + void ISubject::detach( Interface::Observer * pObserver ) { + QValueVector<Interface::Observer*>::iterator it = qFind( mObserverList.begin(), mObserverList.end(), pObserver ); + if ( it != mObserverList.end() ) + mObserverList.erase( it ); + } + + void ISubject::notify() + { + kdDebug(5006) << "ISubject::notify " << mObserverList.size() << endl; + for ( QValueVector<Interface::Observer*>::iterator it = mObserverList.begin() ; it != mObserverList.end() ; ++it ) + (*it)->update( this ); + } + +} + |