aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppStanza.cpp
diff options
context:
space:
mode:
authorNiels Ole Salscheider <niels_ole@salscheider-online.de>2017-02-12 17:18:06 +0100
committerJeremy Lainé <jeremy.laine@m4x.org>2017-02-12 17:18:06 +0100
commit084eb01fb395488a0a3aee799be2b72ce11aa220 (patch)
tree6fec32386c116b0560b9c5d81412993361a2f453 /src/base/QXmppStanza.cpp
parent9deb86b248fee6bb9bcee14d595a933c8fdc4aa2 (diff)
downloadqxmpp-084eb01fb395488a0a3aee799be2b72ce11aa220.tar.gz
Implement XEP-0198: Stream Management (client only) (#99)
* Some features can be available with different namespaces (e.g. SM) * Provide static functions to convert between strings and stream errors Stream management will reuse this for <failed />. * [travis] test builds using clang * Implement XEP-0198: Stream Management (client only) * QXmppOutgoingClient: Move private methods to QXmppOutgoingClientPrivate
Diffstat (limited to 'src/base/QXmppStanza.cpp')
-rw-r--r--src/base/QXmppStanza.cpp106
1 files changed, 11 insertions, 95 deletions
diff --git a/src/base/QXmppStanza.cpp b/src/base/QXmppStanza.cpp
index 99b0692e..a2bb43be 100644
--- a/src/base/QXmppStanza.cpp
+++ b/src/base/QXmppStanza.cpp
@@ -25,6 +25,7 @@
#include "QXmppStanza.h"
+#include "QXmppStanza_p.h"
#include "QXmppUtils.h"
#include "QXmppConstants_p.h"
@@ -245,55 +246,7 @@ QString QXmppStanza::Error::getTypeStr() const
QString QXmppStanza::Error::getConditionStr() const
{
- switch(m_condition)
- {
- case BadRequest:
- return "bad-request";
- case Conflict:
- return "conflict";
- case FeatureNotImplemented:
- return "feature-not-implemented";
- case Forbidden:
- return "forbidden";
- case Gone:
- return "gone";
- case InternalServerError:
- return "internal-server-error";
- case ItemNotFound:
- return "item-not-found";
- case JidMalformed:
- return "jid-malformed";
- case NotAcceptable:
- return "not-acceptable";
- case NotAllowed:
- return "not-allowed";
- case NotAuthorized:
- return "not-authorized";
- case PaymentRequired:
- return "payment-required";
- case RecipientUnavailable:
- return "recipient-unavailable";
- case Redirect:
- return "redirect";
- case RegistrationRequired:
- return "registration-required";
- case RemoteServerNotFound:
- return "remote-server-not-found";
- case RemoteServerTimeout:
- return "remote-server-timeout";
- case ResourceConstraint:
- return "resource-constraint";
- case ServiceUnavailable:
- return "service-unavailable";
- case SubscriptionRequired:
- return "subscription-required";
- case UndefinedCondition:
- return "undefined-condition";
- case UnexpectedRequest:
- return "unexpected-request";
- default:
- return "";
- }
+ return strFromCondition(m_condition);
}
void QXmppStanza::Error::setTypeFromStr(const QString& type)
@@ -314,52 +267,7 @@ void QXmppStanza::Error::setTypeFromStr(const QString& type)
void QXmppStanza::Error::setConditionFromStr(const QString& type)
{
- if(type == "bad-request")
- setCondition(BadRequest);
- else if(type == "conflict")
- setCondition(Conflict);
- else if(type == "feature-not-implemented")
- setCondition(FeatureNotImplemented);
- else if(type == "forbidden")
- setCondition(Forbidden);
- else if(type == "gone")
- setCondition(Gone);
- else if(type == "internal-server-error")
- setCondition(InternalServerError);
- else if(type == "item-not-found")
- setCondition(ItemNotFound);
- else if(type == "jid-malformed")
- setCondition(JidMalformed);
- else if(type == "not-acceptable")
- setCondition(NotAcceptable);
- else if(type == "not-allowed")
- setCondition(NotAllowed);
- else if(type == "not-authorized")
- setCondition(NotAuthorized);
- else if(type == "payment-required")
- setCondition(PaymentRequired);
- else if(type == "recipient-unavailable")
- setCondition(RecipientUnavailable);
- else if(type == "redirect")
- setCondition(Redirect);
- else if(type == "registration-required")
- setCondition(RegistrationRequired);
- else if(type == "remote-server-not-found")
- setCondition(RemoteServerNotFound);
- else if(type == "remote-server-timeout")
- setCondition(RemoteServerTimeout);
- else if(type == "resource-constraint")
- setCondition(ResourceConstraint);
- else if(type == "service-unavailable")
- setCondition(ServiceUnavailable);
- else if(type == "subscription-required")
- setCondition(SubscriptionRequired);
- else if(type == "undefined-condition")
- setCondition(UndefinedCondition);
- else if(type == "unexpected-request")
- setCondition(UnexpectedRequest);
- else
- setCondition(static_cast<QXmppStanza::Error::Condition>(-1));
+ setCondition(conditionFromStr(type));
}
void QXmppStanza::Error::parse(const QDomElement &errorElement)
@@ -578,6 +486,14 @@ void QXmppStanza::setExtendedAddresses(const QList<QXmppExtendedAddress> &addres
d->extendedAddresses = addresses;
}
+/// Indicates if the QXmppStanza is a stanza in the XMPP sence (i. e. a message,
+/// iq or presence)
+
+bool QXmppStanza::isXmppStanza() const
+{
+ return false;
+}
+
/// \cond
void QXmppStanza::generateAndSetNextId()
{