00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef QXMPPELEMENT_H
00025 #define QXMPPELEMENT_H
00026
00027 #include <QMap>
00028 #include <QStringList>
00029 #include <QXmlStreamWriter>
00030
00031 class QDomElement;
00032 class QXmppElement;
00033 class QXmppElementPrivate;
00034
00035 class QXmppElementList : public QList<QXmppElement>
00036 {
00037 public:
00038 QXmppElementList();
00039 QXmppElementList(const QXmppElement &element);
00040 QXmppElementList(const QList<QXmppElement> &other);
00041 };
00042
00043 class QXmppElement
00044 {
00045 public:
00046 QXmppElement();
00047 QXmppElement(const QXmppElement &other);
00048 QXmppElement(const QDomElement &element);
00049 ~QXmppElement();
00050
00051 QStringList attributeNames() const;
00052
00053 QString attribute(const QString &name) const;
00054 void setAttribute(const QString &name, const QString &value);
00055
00056 void appendChild(const QXmppElement &child);
00057 QXmppElement firstChildElement(const QString &name = QString()) const;
00058 QXmppElement nextSiblingElement(const QString &name = QString()) const;
00059 void removeChild(const QXmppElement &child);
00060
00061 QString tagName() const;
00062 void setTagName(const QString &type);
00063
00064 QString value() const;
00065 void setValue(const QString &text);
00066
00067 bool isNull() const;
00068 void toXml(QXmlStreamWriter *writer) const;
00069
00070 QXmppElement &operator=(const QXmppElement &other);
00071
00072 private:
00073 QXmppElement(QXmppElementPrivate *other);
00074 QXmppElementPrivate *d;
00075 };
00076
00077 #endif