00001 #ifndef STORABLEDATA_H
00002 #define STORABLEDATA_H
00003
00004 #include <tools/global.h>
00005
00006 #include <QObject>
00007
00008 namespace domain
00009 {
00010
00011 class TaskManagerData;
00012
00021 class DOMAIN_EXPORT StorableData : public QObject
00022 {
00023 Q_OBJECT
00024
00025 friend class TaskManagerData;
00026
00027 public:
00028
00029 unsigned id() const;
00030
00031 public Q_SLOTS:
00032
00039 virtual void notify();
00040
00041 Q_SIGNALS:
00042
00046 void dataChanged();
00047
00048 protected:
00049
00050 StorableData();
00051 virtual ~StorableData();
00052
00058 void deleteDependentData();
00059
00060 private:
00061
00067 virtual QList<StorableData*> dependentData() const;
00068 };
00069
00070 }
00071
00072 #endif