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 NotSet = 0,
00049 None,
00050
00051
00052 Both,
00053
00054 From,
00055
00056 To,
00057
00058 Remove
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 SubscriptionType Q_DECL_DEPRECATED getSubscriptionType() const;
00079 QString Q_DECL_DEPRECATED getName() const;
00080 QString Q_DECL_DEPRECATED getSubscriptionStatus() const;
00081 QString Q_DECL_DEPRECATED getBareJid() const;
00082 QSet<QString> Q_DECL_DEPRECATED getGroups() const;
00084
00085 private:
00086 QString getSubscriptionTypeStr() const;
00087 void setSubscriptionTypeFromStr(const QString&);
00088
00089 QString m_bareJid;
00090 SubscriptionType m_type;
00091 QString m_name;
00092
00093 QString m_subscriptionStatus;
00094 QSet<QString> m_groups;
00095 };
00096
00097 void addItem(const Item&);
00098 QList<Item> items() const;
00099
00100 static bool isRosterIq(const QDomElement &element);
00101
00102
00104 QList<Item> Q_DECL_DEPRECATED getItems() const;
00106
00107 protected:
00109 void parseElementFromChild(const QDomElement &element);
00110 void toXmlElementFromChild(QXmlStreamWriter *writer) const;
00112
00113 private:
00114 QList<Item> m_items;
00115 };
00116
00117 #endif // QXMPPROSTERIQ_H