Loading...
Searching...
No Matches
QXmppUtils.h
// SPDX-FileCopyrightText: 2009 Manjeet Dahiya <manjeetdahiya@gmail.com>
// SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org>
//
// SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef QXMPPUTILS_H
#define QXMPPUTILS_H
// forward declarations of QXmlStream* classes will not work on Mac, we need to
// include the whole header.
// See http://lists.trolltech.com/qt-interest/2008-07/thread00798-0.html
// for an explanation.
#include "QXmppGlobal.h"
#include "QXmppXmlTags_p.h"
#include <QXmlStreamWriter>
class QByteArray;
class QDateTime;
class QDomElement;
class QString;
class QXMPP_EXPORT QXmppUtils
{
public:
// XEP-0082: XMPP Date and Time Profiles
static QDateTime datetimeFromString(QStringView str);
static QString datetimeToString(const QDateTime &dt);
static int timezoneOffsetFromString(const QString &str);
static QString timezoneOffsetToString(int secs);
static QString jidToDomain(const QString &jid);
static QString jidToResource(const QString &jid);
static QString jidToUser(const QString &jid);
static QString jidToBareJid(const QString &jid);
static quint32 generateCrc32(const QByteArray &input);
static QByteArray generateHmacMd5(const QByteArray &key, const QByteArray &text);
static QByteArray generateHmacSha1(const QByteArray &key, const QByteArray &text);
static int generateRandomInteger(int N);
static QByteArray generateRandomBytes(int length);
static QString generateStanzaUuid();
static QString generateStanzaHash(int length = 36);
};
namespace QXmpp {
namespace Private {
QXMPP_EXPORT std::tuple<QString, QString> elementXmlTag(const QDomElement &el);
QXMPP_EXPORT std::tuple<QString, QString> iqPayloadXmlTag(const QDomElement &el);
} // namespace Private
QXMPP_EXPORT QString generateSequentialStanzaId();
template<typename T>
bool isIqElement(const QDomElement &el) { return Private::isPayloadType<T>(Private::iqPayloadXmlTag(el)); }
template<Private::HasXmlTag T>
bool isElement(const QDomElement &el) { return Private::elementXmlTag(el) == T::XmlTag; }
} // namespace QXmpp
#endif // QXMPPUTILS_H
QXmppUtils
The QXmppUtils class contains static utility functions.
Definition QXmppUtils.h:25
QXmppUtils::jidToUser
static QString jidToUser(const QString &jid)
Returns the user for the given jid.
Definition QXmppUtils.cpp:185
QXmppUtils::generateStanzaUuid
static QString generateStanzaUuid()
Definition QXmppUtils.cpp:284
QXmppUtils::datetimeToString
static QString datetimeToString(const QDateTime &dt)
Definition QXmppUtils.cpp:115
QXmppUtils::jidToResource
static QString jidToResource(const QString &jid)
Returns the resource for the given jid.
Definition QXmppUtils.cpp:175
QXmppUtils::generateRandomBytes
static QByteArray generateRandomBytes(int length)
Definition QXmppUtils.cpp:270
QXmppUtils::generateRandomInteger
static int generateRandomInteger(int N)
Definition QXmppUtils.cpp:257
QXmppUtils::generateStanzaHash
static QString generateStanzaHash(int length=36)
Definition QXmppUtils.cpp:304
QXmppUtils::jidToDomain
static QString jidToDomain(const QString &jid)
Returns the domain for the given jid.
Definition QXmppUtils.cpp:169
QXmppUtils::jidToBareJid
static QString jidToBareJid(const QString &jid)
Returns the bare jid (i.e. without resource) for the given jid.
Definition QXmppUtils.cpp:195
QXmppUtils::generateCrc32
static quint32 generateCrc32(const QByteArray &input)
Calculates the CRC32 checksum for the given input.
Definition QXmppUtils.cpp:205
QXmppUtils::generateHmacMd5
static QByteArray generateHmacMd5(const QByteArray &key, const QByteArray &text)
Generates the MD5 HMAC for the given key and text.
Definition QXmppUtils.cpp:241
QXmppUtils::timezoneOffsetToString
static QString timezoneOffsetToString(int secs)
Definition QXmppUtils.cpp:158
QXmppUtils::generateHmacSha1
static QByteArray generateHmacSha1(const QByteArray &key, const QByteArray &text)
Generates the SHA1 HMAC for the given key and text.
Definition QXmppUtils.cpp:248
QXmppUtils::datetimeFromString
static QDateTime datetimeFromString(QStringView str)
Definition QXmppUtils.cpp:106
QXmppUtils::timezoneOffsetFromString
static int timezoneOffsetFromString(const QString &str)
Definition QXmppUtils.cpp:130
QXmpp
Definition Algorithms.h:14
QXmpp::isIqElement
bool isIqElement(const QDomElement &el)
Checks whether a QDomElement is an IQ stanza of a specific type T.
Definition QXmppUtils.h:60
QXmpp::generateSequentialStanzaId
QXMPP_EXPORT QString generateSequentialStanzaId()
Definition QXmppUtils.cpp:340
QXmpp::isElement
bool isElement(const QDomElement &el)
Checks whether an XML element has the correct tag name and namespace URI for type T.
Definition QXmppUtils.h:64