6 #ifndef QXMPPJINGLEMESSAGEINITIATIONMANAGER_H 7 #define QXMPPJINGLEMESSAGEINITIATIONMANAGER_H 9 #include "QXmppClientExtension.h" 10 #include "QXmppError.h" 11 #include "QXmppJingleIq.h" 12 #include "QXmppMessageHandler.h" 13 #include "QXmppSendResult.h" 14 #include "QXmppTask.h" 17 class QXmppJingleMessageInitiationPrivate;
18 class QXmppJingleMessageInitiationManagerPrivate;
25 std::optional<QXmppJingleReason> reason;
26 bool containsTieBreak;
30 std::optional<QXmppJingleReason> reason;
31 bool containsTieBreak;
35 std::optional<QXmppJingleReason> reason;
40 using Result = std::variant<Rejected, Retracted, Finished, QXmppError>;
44 const QString &remoteJid()
const;
52 Q_SIGNAL
void ringing();
53 Q_SIGNAL
void proceeded(
const QString &
id,
const QString &remoteResource);
54 Q_SIGNAL
void closed(
const Result &result);
60 void setId(
const QString &
id);
61 void setRemoteJid(
const QString &remoteJid);
62 bool isProceeded()
const;
63 void setIsProceeded(
bool isProceeded);
64 bool isFinished()
const;
66 std::unique_ptr<QXmppJingleMessageInitiationPrivate> d;
69 friend class tst_QXmppJingleMessageInitiationManager;
86 const QString &remoteJid,
89 const QString &remoteJid,
90 const QList<QXmppJingleRtpDescription> &descriptions);
92 Q_SIGNAL
void proposed(
93 const std::shared_ptr<QXmppJingleMessageInitiation> &jmi,
95 const std::optional<QXmppJingleRtpDescription> &description);
96 Q_SIGNAL
void proposeReceived(
97 const std::shared_ptr<QXmppJingleMessageInitiation> &jmi,
99 const QList<QXmppJingleRtpDescription> &descriptions);
110 const QList<QXmppJingleRtpDescription> &descriptions);
113 const QString &remoteJid);
115 void clear(
const std::shared_ptr<QXmppJingleMessageInitiation> &jmi);
119 bool handleExistingJmi(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QXmppJingleMessageInitiationElement &jmiElement,
const QString &remoteResource);
121 bool handleTieBreak(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QXmppJingleMessageInitiationElement &jmiElement,
const QString &remoteResource);
122 bool handleExistingSession(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QString &jmiElementId);
123 bool handleNonExistingSession(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QString &jmiElementId,
const QString &remoteResource);
124 std::shared_ptr<QXmppJingleMessageInitiation> addJmi(
const QString &
id,
const QString &remoteJid);
125 const QVector<std::shared_ptr<QXmppJingleMessageInitiation>> &jmis()
const;
128 std::unique_ptr<QXmppJingleMessageInitiationManagerPrivate> d;
130 friend class QXmppJingleMessageInitiationPrivate;
131 friend class tst_QXmppJingleMessageInitiationManager;
136 #endif // QXMPPJINGLEMESSAGEINITIATIONMANAGER_H Represents a description for XEP-0167: Jingle RTP Sessions, including media type, streaming source...
Definition: QXmppJingleData.h:252
The QXmppJingleMessageInitiation class holds information about the JMI element in the current context...
Definition: QXmppJingleMessageInitiationManager.h:20
Definition: QXmppError.h:17
std::variant< Rejected, Retracted, Finished, QXmppError > Result
Variant of Rejected, Retracted, Finished or Error result types.
Definition: QXmppJingleMessageInitiationManager.h:40
virtual bool handleMessage(const QXmppMessage &)=0
Definition: QXmppTask.h:67
std::variant< std::shared_ptr< QXmppJingleMessageInitiation >, QXmppError > ProposeResult
Definition: QXmppJingleMessageInitiationManager.h:76
The QXmppJingleMessageInitiationManager class makes it possible to retrieve Jingle Message Initiation...
Definition: QXmppJingleMessageInitiationManager.h:72
virtual QStringList discoveryFeatures() const
Definition: QXmppClientExtension.cpp:22
The QXmppMessage class represents an XMPP message.
Definition: QXmppMessage.h:63
The QXmppJingleMessageInitiationElement class represents a Jingle Message Initiation element as speci...
Definition: QXmppJingleData.h:641
Definition: QXmppMessageHandler.h:15
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:31