diff options
| author | Tibor Csötönyi <work@taibsu.de> | 2023-05-03 15:26:55 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2023-05-14 23:51:42 +0200 |
| commit | 4d0aaabef3d2458e622e61170f3fcb8d80092aee (patch) | |
| tree | dd496c4dcf33f55e1e7ae39931edeeab0753bdea /src/base/QXmppJingleIq.h | |
| parent | fbb96a37f1c118c14fd158173e0d691022183ee3 (diff) | |
| download | qxmpp-4d0aaabef3d2458e622e61170f3fcb8d80092aee.tar.gz | |
Extract JingleIq::Description to own class
Description will be used by JingleMessageInitiationElement as well
Diffstat (limited to 'src/base/QXmppJingleIq.h')
| -rw-r--r-- | src/base/QXmppJingleIq.h | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/src/base/QXmppJingleIq.h b/src/base/QXmppJingleIq.h index f5da136c..20a827ba 100644 --- a/src/base/QXmppJingleIq.h +++ b/src/base/QXmppJingleIq.h @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2010 Jeremy Lainé <jeremy.laine@m4x.org> // SPDX-FileCopyrightText: 2022 Melvin Keskin <melvo@olomono.de> +// SPDX-FileCopyrightText: 2023 Tibor Csötönyi <work@taibsu.de> // // SPDX-License-Identifier: LGPL-2.1-or-later @@ -13,6 +14,7 @@ #include <QHostAddress> class QXmppJingleCandidatePrivate; +class QXmppJingleDescriptionPrivate; class QXmppJingleIqContentPrivate; class QXmppJingleIqPrivate; class QXmppJinglePayloadTypePrivate; @@ -237,6 +239,34 @@ private: QSharedDataPointer<QXmppJinglePayloadTypePrivate> d; }; +class QXMPP_EXPORT QXmppJingleDescription +{ +public: + QXmppJingleDescription(); + QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppJingleDescription) + + QString media() const; + void setMedia(const QString &media); + + quint32 ssrc() const; + void setSsrc(quint32 ssrc); + + QString type() const; + void setType(const QString &type); + + void addPayloadType(const QXmppJinglePayloadType &payload); + const QList<QXmppJinglePayloadType> &payloadTypes() const; + void setPayloadTypes(const QList<QXmppJinglePayloadType> &payloadTypes); + + /// \cond + void parse(const QDomElement &element); + void toXml(QXmlStreamWriter *writer) const; + /// \endcond + +private: + QSharedDataPointer<QXmppJingleDescriptionPrivate> d; +}; + /// /// \brief The QXmppJingleCandidate class represents a transport candidate /// as specified by \xep{0176}: Jingle ICE-UDP Transport Method. @@ -397,11 +427,8 @@ public: void setSenders(const QString &senders); // XEP-0167: Jingle RTP Sessions - QString descriptionMedia() const; - void setDescriptionMedia(const QString &media); - - quint32 descriptionSsrc() const; - void setDescriptionSsrc(quint32 ssrc); + QXmppJingleDescription description() const; + void setDescription(const QXmppJingleDescription &description); bool isRtpMultiplexingSupported() const; void setRtpMultiplexingSupported(bool isRtpMultiplexingSupported); @@ -409,10 +436,6 @@ public: std::optional<QXmppJingleRtpEncryption> rtpEncryption() const; void setRtpEncryption(const std::optional<QXmppJingleRtpEncryption> &rtpEncryption); - void addPayloadType(const QXmppJinglePayloadType &payload); - QList<QXmppJinglePayloadType> payloadTypes() const; - void setPayloadTypes(const QList<QXmppJinglePayloadType> &payloadTypes); - void addTransportCandidate(const QXmppJingleCandidate &candidate); QList<QXmppJingleCandidate> transportCandidates() const; void setTransportCandidates(const QList<QXmppJingleCandidate> &candidates); |
