abstractdatastore.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ABSTRACTDATASTORE_H
00022 #define ABSTRACTDATASTORE_H
00023
00024 #include "src/data/label.h"
00025 #include "src/data/node/node.h"
00026 #include <QObject>
00027
00028
00036 class AbstractDataStore : public QObject
00037 {
00038 Q_OBJECT
00039
00040 public:
00045 virtual Node* getRootNode() = 0;
00046
00052 virtual Node* getNode(NodeId id) = 0;
00053
00058 virtual Label* getRootLabel() = 0;
00059
00064 virtual void removeNode(Node *node) = 0;
00065
00070 virtual void addNode(Node *node) = 0;
00071
00076 virtual void addLabel(Label *label) = 0;
00077
00082 virtual void removeLabel(Label *label) = 0;
00083
00084 public slots:
00089 virtual void saveNode(Node *node) = 0;
00090 };
00091
00092 #endif // ABSTRACTDATASTORE_H
00093