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 QXMPPSTREAMFEATURES_H
00025 #define QXMPPSTREAMFEATURES_H
00026
00027 #include "QXmppConfiguration.h"
00028 #include "QXmppStanza.h"
00029
00030 class QXmppStreamFeatures : public QXmppStanza
00031 {
00032 public:
00033 QXmppStreamFeatures();
00034
00035 bool isBindAvailable() const;
00036 void setBindAvailable(bool available);
00037
00038 bool isSessionAvailable() const;
00039 void setSessionAvailable(bool available);
00040
00041 bool isNonSaslAuthAvailable() const;
00042 void setNonSaslAuthAvailable(bool available);
00043
00044 QList<QXmppConfiguration::SASLAuthMechanism> authMechanisms() const;
00045 void setAuthMechanisms(QList<QXmppConfiguration::SASLAuthMechanism> &mecanisms);
00046
00047 QXmppConfiguration::StreamSecurityMode securityMode() const;
00048 void setSecurityMode(QXmppConfiguration::StreamSecurityMode mode);
00049
00051 void parse(const QDomElement &element);
00052 void toXml(QXmlStreamWriter *writer) const;
00054
00055 static bool isStreamFeatures(const QDomElement &element);
00056
00057 private:
00058 bool m_bindAvailable;
00059 bool m_sessionAvailable;
00060 bool m_nonSaslAuthAvailable;
00061 QList<QXmppConfiguration::SASLAuthMechanism> m_authMechanisms;
00062 QXmppConfiguration::StreamSecurityMode m_securityMode;
00063 };
00064
00065 #endif