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 QXMPPMUCIQ_H
00025 #define QXMPPMUCIQ_H
00026
00027 #include "QXmppDataForm.h"
00028 #include "QXmppIq.h"
00029
00036
00037 class QXmppMucAdminIq : public QXmppIq
00038 {
00039 public:
00040 class Item
00041 {
00042 public:
00043 enum Affiliation {
00044 UnspecifiedAffiliation,
00045 OutcastAffiliation,
00046 NoAffiliation,
00047 MemberAffiliation,
00048 AdminAffiliation,
00049 OwnerAffiliation,
00050 };
00051
00052 enum Role {
00053 UnspecifiedRole,
00054 NoRole,
00055 VisitorRole,
00056 ParticipantRole,
00057 ModeratorRole,
00058 };
00059
00060 Item();
00061
00062 Affiliation affiliation() const;
00063 void setAffiliation(Affiliation affiliation);
00064
00065 QString jid() const;
00066 void setJid(const QString &jid);
00067
00068 QString nick() const;
00069 void setNick(const QString &nick);
00070
00071 QString reason() const;
00072 void setReason(const QString &reason);
00073
00074 Role role() const;
00075 void setRole(Role role);
00076
00077 void parse(const QDomElement &element);
00078 void toXml(QXmlStreamWriter *writer) const;
00079
00081 static Affiliation affiliationFromString(const QString &affiliationStr);
00082 static QString affiliationToString(Affiliation affiliation);
00083 static Role roleFromString(const QString &roleStr);
00084 static QString roleToString(Role role);
00086 private:
00087 Affiliation m_affiliation;
00088 QString m_jid;
00089 QString m_nick;
00090 QString m_reason;
00091 Role m_role;
00092 };
00093
00094 QList<QXmppMucAdminIq::Item> items() const;
00095 void setItems(const QList<QXmppMucAdminIq::Item> &items);
00096
00098 static bool isMucAdminIq(const QDomElement &element);
00100
00101 protected:
00103 void parseElementFromChild(const QDomElement &element);
00104 void toXmlElementFromChild(QXmlStreamWriter *writer) const;
00106
00107 private:
00108 QList<QXmppMucAdminIq::Item> m_items;
00109 };
00110
00118
00119 class QXmppMucOwnerIq : public QXmppIq
00120 {
00121 public:
00122 QXmppDataForm form() const;
00123 void setForm(const QXmppDataForm &form);
00124
00126 static bool isMucOwnerIq(const QDomElement &element);
00128
00129 protected:
00131 void parseElementFromChild(const QDomElement &element);
00132 void toXmlElementFromChild(QXmlStreamWriter *writer) const;
00134
00135 private:
00136 QXmppDataForm m_form;
00137 };
00138
00139 #endif