akregator/src
tagset.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef AKREGATOR_TAGSET_H
00026 #define AKREGATOR_TAGSET_H
00027
00028 #include <qobject.h>
00029
00030 class QDomDocument;
00031 template <class K,class T> class QMap;
00032 class QString;
00033 class QStringList;
00034
00035 namespace Akregator {
00036
00037 class Tag;
00038
00047 class TagSet : public QObject
00048 {
00049 friend class Tag;
00050 Q_OBJECT
00051 public:
00052
00053 TagSet(QObject* parent=0);
00054 virtual ~TagSet();
00055
00057 void insert(const Tag& tag);
00058
00060 void remove(const Tag& tag);
00061
00063 QMap<QString,Tag> toMap() const;
00064
00066 bool contains(const Tag& tag) const;
00067
00069 bool containsID(const QString& id) const;
00070
00072 Tag findByID(const QString& id) const;
00073
00076 void readFromXML(const QDomDocument& doc);
00077
00090 QDomDocument toXML() const;
00091
00092 signals:
00094 void signalTagAdded(const Tag&);
00096 void signalTagRemoved(const Tag&);
00098 void signalTagUpdated(const Tag&);
00099
00100 protected:
00102 void tagUpdated(const Tag& tag);
00103
00104 private:
00105 class TagSetPrivate;
00106 TagSetPrivate* d;
00107 };
00108
00109 }
00110
00111 #endif // AKREGATOR_TAGSET_H
|