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