From ad48b7f07914713bf314fa5005bbf21a24c4a867 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sat, 12 Mar 2022 22:10:06 +0100 Subject: Stanza_p.h: Move function definitions into Stanza.cpp This way the function definition is shared and it avoids unused function warnings in QXmppStreamManagement.cpp. --- src/base/QXmppStanza.cpp | 148 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) (limited to 'src/base/QXmppStanza.cpp') diff --git a/src/base/QXmppStanza.cpp b/src/base/QXmppStanza.cpp index 3aff0404..800db220 100644 --- a/src/base/QXmppStanza.cpp +++ b/src/base/QXmppStanza.cpp @@ -15,8 +15,156 @@ #include #include +using namespace QXmpp::Private; + uint QXmppStanza::s_uniqeIdNo = 0; +namespace QXmpp::Private { + +QString conditionToString(QXmppStanza::Error::Condition condition) +{ + switch (condition) { + case QXmppStanza::Error::BadRequest: + return "bad-request"; + case QXmppStanza::Error::Conflict: + return "conflict"; + case QXmppStanza::Error::FeatureNotImplemented: + return "feature-not-implemented"; + case QXmppStanza::Error::Forbidden: + return "forbidden"; + case QXmppStanza::Error::Gone: + return "gone"; + case QXmppStanza::Error::InternalServerError: + return "internal-server-error"; + case QXmppStanza::Error::ItemNotFound: + return "item-not-found"; + case QXmppStanza::Error::JidMalformed: + return "jid-malformed"; + case QXmppStanza::Error::NotAcceptable: + return "not-acceptable"; + case QXmppStanza::Error::NotAllowed: + return "not-allowed"; + case QXmppStanza::Error::NotAuthorized: + return "not-authorized"; + QT_WARNING_PUSH + QT_WARNING_DISABLE_DEPRECATED + case QXmppStanza::Error::PaymentRequired: + QT_WARNING_POP + return "payment-required"; + case QXmppStanza::Error::PolicyViolation: + return "policy-violation"; + case QXmppStanza::Error::RecipientUnavailable: + return "recipient-unavailable"; + case QXmppStanza::Error::Redirect: + return "redirect"; + case QXmppStanza::Error::RegistrationRequired: + return "registration-required"; + case QXmppStanza::Error::RemoteServerNotFound: + return "remote-server-not-found"; + case QXmppStanza::Error::RemoteServerTimeout: + return "remote-server-timeout"; + case QXmppStanza::Error::ResourceConstraint: + return "resource-constraint"; + case QXmppStanza::Error::ServiceUnavailable: + return "service-unavailable"; + case QXmppStanza::Error::SubscriptionRequired: + return "subscription-required"; + case QXmppStanza::Error::UndefinedCondition: + return "undefined-condition"; + case QXmppStanza::Error::UnexpectedRequest: + return "unexpected-request"; + } + return {}; +} + +std::optional conditionFromString(const QString &string) +{ + if (string == "bad-request") + return QXmppStanza::Error::BadRequest; + else if (string == "conflict") + return QXmppStanza::Error::Conflict; + else if (string == "feature-not-implemented") + return QXmppStanza::Error::FeatureNotImplemented; + else if (string == "forbidden") + return QXmppStanza::Error::Forbidden; + else if (string == "gone") + return QXmppStanza::Error::Gone; + else if (string == "internal-server-error") + return QXmppStanza::Error::InternalServerError; + else if (string == "item-not-found") + return QXmppStanza::Error::ItemNotFound; + else if (string == "jid-malformed") + return QXmppStanza::Error::JidMalformed; + else if (string == "not-acceptable") + return QXmppStanza::Error::NotAcceptable; + else if (string == "not-allowed") + return QXmppStanza::Error::NotAllowed; + else if (string == "not-authorized") + return QXmppStanza::Error::NotAuthorized; + else if (string == "payment-required") { + QT_WARNING_PUSH + QT_WARNING_DISABLE_DEPRECATED + return QXmppStanza::Error::PaymentRequired; + QT_WARNING_POP + } else if (string == "policy-violation") + return QXmppStanza::Error::PolicyViolation; + else if (string == "recipient-unavailable") + return QXmppStanza::Error::RecipientUnavailable; + else if (string == "redirect") + return QXmppStanza::Error::Redirect; + else if (string == "registration-required") + return QXmppStanza::Error::RegistrationRequired; + else if (string == "remote-server-not-found") + return QXmppStanza::Error::RemoteServerNotFound; + else if (string == "remote-server-timeout") + return QXmppStanza::Error::RemoteServerTimeout; + else if (string == "resource-constraint") + return QXmppStanza::Error::ResourceConstraint; + else if (string == "service-unavailable") + return QXmppStanza::Error::ServiceUnavailable; + else if (string == "subscription-required") + return QXmppStanza::Error::SubscriptionRequired; + else if (string == "undefined-condition") + return QXmppStanza::Error::UndefinedCondition; + else if (string == "unexpected-request") + return QXmppStanza::Error::UnexpectedRequest; + return std::nullopt; +} + +QString typeToString(QXmppStanza::Error::Type type) +{ + switch (type) { + case QXmppStanza::Error::Cancel: + return QStringLiteral("cancel"); + case QXmppStanza::Error::Continue: + return QStringLiteral("continue"); + case QXmppStanza::Error::Modify: + return QStringLiteral("modify"); + case QXmppStanza::Error::Auth: + return QStringLiteral("auth"); + case QXmppStanza::Error::Wait: + return QStringLiteral("wait"); + } + return {}; +} + +std::optional typeFromString(const QString &string) +{ + if (string == QStringLiteral("cancel")) + return QXmppStanza::Error::Cancel; + else if (string == QStringLiteral("continue")) + return QXmppStanza::Error::Continue; + else if (string == QStringLiteral("modify")) + return QXmppStanza::Error::Modify; + else if (string == QStringLiteral("auth")) + return QXmppStanza::Error::Auth; + else if (string == QStringLiteral("wait")) + return QXmppStanza::Error::Wait; + return std::nullopt; +} + +} // QXmpp::Private + class QXmppExtendedAddressPrivate : public QSharedData { public: -- cgit v1.2.3