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 QXMPPARCHIVEIQ_H
00025 #define QXMPPARCHIVEIQ_H
00026
00027 #include "QXmppIq.h"
00028
00029 #include <QDateTime>
00030
00031 class QXmlStreamWriter;
00032 class QDomElement;
00033
00034 class QXmppArchiveMessage
00035 {
00036 public:
00037 QString body() const;
00038 void setBody(const QString &body);
00039
00040 QDateTime date() const;
00041 void setDate(const QDateTime &date);
00042
00043 bool isReceived() const;
00044 void setReceived(bool isReceived);
00045
00046 private:
00047 QString m_body;
00048 QDateTime m_date;
00049 bool m_received;
00050 };
00051
00052 class QXmppArchiveChat
00053 {
00054 public:
00055 QList<QXmppArchiveMessage> messages() const;
00056 QDateTime start() const;
00057 QString subject() const;
00058 int version() const;
00059 QString with() const;
00060
00061 void parse(const QDomElement &element);
00062
00063 private:
00064 QList<QXmppArchiveMessage> m_messages;
00065 QDateTime m_start;
00066 QString m_subject;
00067 int m_version;
00068 QString m_with;
00069 };
00070
00076
00077 class QXmppArchiveChatIq : public QXmppIq
00078 {
00079 public:
00080 static bool isArchiveChatIq(const QDomElement &element);
00081 void parse(const QDomElement &element);
00082
00083 QXmppArchiveChat chat() const;
00084
00085 private:
00086 QXmppArchiveChat m_chat;
00087 };
00088
00092
00093 class QXmppArchiveListIq : public QXmppIq
00094 {
00095 public:
00096 QXmppArchiveListIq();
00097
00098 QList<QXmppArchiveChat> chats() const;
00099
00100 int max() const;
00101 void setMax(int max);
00102
00103 QString with() const;
00104 void setWith( const QString &with );
00105
00106 QDateTime start() const;
00107 void setStart(const QDateTime &start );
00108
00109 QDateTime end() const;
00110 void setEnd(const QDateTime &end );
00111
00112 static bool isArchiveListIq(const QDomElement &element);
00113 void parse(const QDomElement &element);
00114 void toXmlElementFromChild(QXmlStreamWriter *writer) const;
00115
00116 private:
00117 int m_max;
00118 QString m_with;
00119 QDateTime m_start;
00120 QDateTime m_end;
00121 QList<QXmppArchiveChat> m_chats;
00122 };
00123
00127
00128 class QXmppArchiveRetrieveIq : public QXmppIq
00129 {
00130 public:
00131 QXmppArchiveRetrieveIq();
00132
00133 int max() const;
00134 void setMax(int max);
00135
00136 QDateTime start() const;
00137 void setStart( const QDateTime &start );
00138
00139 QString with() const;
00140 void setWith( const QString &with );
00141
00142 void toXmlElementFromChild(QXmlStreamWriter *writer) const;
00143
00144 private:
00145 int m_max;
00146 QString m_with;
00147 QDateTime m_start;
00148 };
00149
00153
00154 class QXmppArchivePrefIq : public QXmppIq
00155 {
00156 public:
00157 static bool isArchivePrefIq(const QDomElement &element);
00158 void parse(const QDomElement &element);
00159 void toXmlElementFromChild(QXmlStreamWriter *writer) const;
00160 };
00161
00162 #endif // QXMPPARCHIVEIQ_H