summaryrefslogtreecommitdiffstats
path: root/kmymoney2/mymoney/mymoneysubject.h
diff options
context:
space:
mode:
Diffstat (limited to 'kmymoney2/mymoney/mymoneysubject.h')
-rw-r--r--kmymoney2/mymoney/mymoneysubject.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/kmymoney2/mymoney/mymoneysubject.h b/kmymoney2/mymoney/mymoneysubject.h
new file mode 100644
index 0000000..74b8290
--- /dev/null
+++ b/kmymoney2/mymoney/mymoneysubject.h
@@ -0,0 +1,59 @@
+/***************************************************************************
+ mymoneysubject.h - description
+ -------------------
+ begin : Sat May 18 2002
+ copyright : (C) 2000-2002 by Michael Edwardes
+ email : mte@users.sourceforge.net
+ Javier Campos Morales <javi_c@users.sourceforge.net>
+ Felix Rodriguez <frodriguez@users.sourceforge.net>
+ John C <thetacoturtle@users.sourceforge.net>
+ Thomas Baumgart <ipwizard@users.sourceforge.net>
+ Kevin Tambascio <ktambascio@users.sourceforge.net>
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef MYMONEYSUBJECT_H
+#define MYMONEYSUBJECT_H
+
+// ----------------------------------------------------------------------------
+// QT Includes
+
+#include <qptrlist.h>
+
+// ----------------------------------------------------------------------------
+// Project Includes
+
+#include <kmymoney/export.h>
+
+class MyMoneyObserver;
+class QString;
+
+/**
+ * This is the base class to be used to construct a
+ * subject for usage in a subject/observer relationship
+ *
+ * @author Thomas Baumgart
+ */
+class KMYMONEY_EXPORT MyMoneySubject {
+public:
+ virtual ~MyMoneySubject();
+ virtual void attach(MyMoneyObserver*);
+ virtual void detach(MyMoneyObserver*);
+ virtual void notify(const QString& id);
+
+protected:
+ MyMoneySubject();
+
+private:
+ QPtrList<MyMoneyObserver> m_observers;
+};
+
+#endif