39
39
typedef QString SemanticInfoTag;
43
42
* This class represents the set of tags associated to an url.
45
44
* It provides convenience methods to convert to and from QVariant, which are
46
45
* useful to communicate with SemanticInfoDirModel.
48
class GWENVIEWLIB_EXPORT TagSet : public QSet<SemanticInfoTag> {
47
class GWENVIEWLIB_EXPORT TagSet : public QSet<SemanticInfoTag>
51
TagSet(const QSet<SemanticInfoTag>&);
51
TagSet(const QSet<SemanticInfoTag>&);
53
QVariant toVariant() const;
54
static TagSet fromVariant(const QVariant&);
53
QVariant toVariant() const;
54
static TagSet fromVariant(const QVariant&);
59
58
* A POD struct used by AbstractSemanticInfoBackEnd to store the metadata
60
59
* associated to an url.
62
61
struct SemanticInfo {
70
68
* An abstract class, used by SemanticInfoDirModel to store and retrieve metadata.
72
class AbstractSemanticInfoBackEnd : public QObject {
70
class AbstractSemanticInfoBackEnd : public QObject
75
AbstractSemanticInfoBackEnd(QObject* parent);
77
virtual TagSet allTags() const = 0;
79
virtual void refreshAllTags() = 0;
81
virtual void storeSemanticInfo(const KUrl&, const SemanticInfo&) = 0;
83
virtual void retrieveSemanticInfo(const KUrl&) = 0;
85
virtual QString labelForTag(const SemanticInfoTag&) const = 0;
88
* Return a tag for a label. Will emit tagAdded() if the tag had to be
91
virtual SemanticInfoTag tagForLabel(const QString&) = 0;
74
AbstractSemanticInfoBackEnd(QObject* parent);
76
virtual TagSet allTags() const = 0;
78
virtual void refreshAllTags() = 0;
80
virtual void storeSemanticInfo(const KUrl&, const SemanticInfo&) = 0;
82
virtual void retrieveSemanticInfo(const KUrl&) = 0;
84
virtual QString labelForTag(const SemanticInfoTag&) const = 0;
87
* Return a tag for a label. Will emit tagAdded() if the tag had to be
90
virtual SemanticInfoTag tagForLabel(const QString&) = 0;
94
void semanticInfoRetrieved(const KUrl&, const SemanticInfo&);
93
void semanticInfoRetrieved(const KUrl&, const SemanticInfo&);
97
* Emitted whenever a new tag is added to allTags()
99
void tagAdded(const SemanticInfoTag&, const QString& label);
96
* Emitted whenever a new tag is added to allTags()
98
void tagAdded(const SemanticInfoTag&, const QString& label);
105
103
#endif /* ABSTRACTSEMANTICINFOBACKEND_H */