00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef QXMPPROSTERIQ_H
00027 #define QXMPPROSTERIQ_H
00028
00029 #include "QXmppIq.h"
00030 #include <QList>
00031 #include <QSet>
00032
00036
00037 class QXmppRosterIq : public QXmppIq
00038 {
00039 public:
00040
00042 class Item
00043 {
00044 public:
00046 enum SubscriptionType
00047 {
00048 None = 0,
00049
00050
00051 From = 1,
00052
00053 To = 2,
00054
00055 Both = 3,
00056
00057 Remove = 4,
00058 NotSet = 8
00059 };
00060
00061 QString bareJid() const;
00062 QSet<QString> groups() const;
00063 QString name() const;
00064 QString subscriptionStatus() const;
00065 SubscriptionType subscriptionType() const;
00066
00067 void setBareJid(const QString&);
00068 void setGroups(const QSet<QString>&);
00069 void setName(const QString&);
00070 void setSubscriptionStatus(const QString&);
00071 void setSubscriptionType(SubscriptionType);
00072
00074 void parse(const QDomElement &element);
00075 void toXml(QXmlStreamWriter *writer) const;
00076
00077
00078
00079 SubscriptionType Q_DECL_DEPRECATED getSubscriptionType() const;
00080 QString Q_DECL_DEPRECATED getName() const;
00081 QString Q_DECL_DEPRECATED getSubscriptionStatus() const;
00082 QString Q_DECL_DEPRECATED getBareJid() const;
00083 QSet<QString> Q_DECL_DEPRECATED getGroups() const;
00085
00086 private:
00087 QString getSubscriptionTypeStr() const;
00088 void setSubscriptionTypeFromStr(const QString&);
00089
00090 QString m_bareJid;
00091 SubscriptionType m_type;
00092 QString m_name;
00093
00094 QString m_subscriptionStatus;
00095 QSet<QString> m_groups;
00096 };
00097
00098 void addItem(const Item&);
00099 QList<Item> items() const;
00100
00102 static bool isRosterIq(const QDomElement &element);
00103
00104
00105
00106 QList<Item> Q_DECL_DEPRECATED getItems() const;
00108
00109 protected:
00111 void parseElementFromChild(const QDomElement &element);
00112 void toXmlElementFromChild(QXmlStreamWriter *writer) const;
00114
00115 private:
00116 QList<Item> m_items;
00117 };
00118
00119 #endif // QXMPPROSTERIQ_H