00001 /*************************************************************************** 00002 mymoneysubject.h - description 00003 ------------------- 00004 begin : Sat May 18 2002 00005 copyright : (C) 2000-2002 by Michael Edwardes 00006 email : mte@users.sourceforge.net 00007 Javier Campos Morales <javi_c@users.sourceforge.net> 00008 Felix Rodriguez <frodriguez@users.sourceforge.net> 00009 John C <thetacoturtle@users.sourceforge.net> 00010 Thomas Baumgart <ipwizard@users.sourceforge.net> 00011 Kevin Tambascio <ktambascio@users.sourceforge.net> 00012 ***************************************************************************/ 00013 00014 /*************************************************************************** 00015 * * 00016 * This program is free software; you can redistribute it and/or modify * 00017 * it under the terms of the GNU General Public License as published by * 00018 * the Free Software Foundation; either version 2 of the License, or * 00019 * (at your option) any later version. * 00020 * * 00021 ***************************************************************************/ 00022 00023 #ifndef MYMONEYSUBJECT_H 00024 #define MYMONEYSUBJECT_H 00025 00026 // ---------------------------------------------------------------------------- 00027 // QT Includes 00028 00029 #include <qptrlist.h> 00030 00031 // ---------------------------------------------------------------------------- 00032 // Project Includes 00033 00034 #include <kmymoney/export.h> 00035 00036 class MyMoneyObserver; 00037 class QString; 00038 00045 class KMYMONEY_EXPORT MyMoneySubject { 00046 public: 00047 virtual ~MyMoneySubject(); 00048 virtual void attach(MyMoneyObserver*); 00049 virtual void detach(MyMoneyObserver*); 00050 virtual void notify(const QString& id); 00051 00052 protected: 00053 MyMoneySubject(); 00054 00055 private: 00056 QPtrList<MyMoneyObserver> m_observers; 00057 }; 00058 00059 #endif