00001 #ifndef MYTHOBSERVABLE_H_
00002 #define MYTHOBSERVABLE_H_
00003
00004 #include <qptrlist.h>
00005 #include "mythexp.h"
00006 #include "mythevent.h"
00007
00008 class QObject;
00009
00040 class MPUBLIC MythObservable
00041 {
00042 public:
00043 MythObservable();
00044 virtual ~MythObservable();
00045
00053 void addListener(QObject *listener);
00054
00062 void removeListener(QObject *listener);
00063
00095 QObject* firstListener();
00096
00103 QObject* nextListener();
00104
00113 QPtrList<QObject> getListeners(void);
00114
00123 void dispatch(MythEvent &event);
00124
00134 void dispatchNow(MythEvent &event);
00135
00136 private:
00137 QPtrList<QObject> m_listeners;
00138 };
00139
00140 #endif