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;
26 std::optional<QXmppJingleReason> reason;
27 bool containsTieBreak;
32 std::optional<QXmppJingleReason> reason;
33 bool containsTieBreak;
38 std::optional<QXmppJingleReason> reason;
43 using Result = std::variant<Rejected, Retracted, Finished, QXmppError>;
55 Q_SIGNAL
void proceeded(
const QString &
id,
const QString &callPartnerResource);
60 void setId(
const QString &
id);
61 void setCallPartnerJid(
const QString &callPartnerJid);
62 QString callPartnerJid()
const;
63 bool isProceeded()
const;
64 void setIsProceeded(
bool isProceeded);
66 std::unique_ptr<QXmppJingleMessageInitiationPrivate> d;
69 friend class tst_QXmppJingleMessageInitiationManager;
82 QStringList discoveryFeatures()
const override;
86 const QString &callPartnerJid,
90 const std::shared_ptr<QXmppJingleMessageInitiation> &jmi,
92 const std::optional<QXmppJingleDescription> &description);
103 const QString &callPartnerJid);
105 void clear(
const std::shared_ptr<QXmppJingleMessageInitiation> &jmi);
109 bool handleExistingJmi(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QXmppJingleMessageInitiationElement &jmiElement,
const QString &callPartnerResource);
111 bool handleTieBreak(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QXmppJingleMessageInitiationElement &jmiElement,
const QString &callPartnerResource);
112 bool handleExistingSession(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QString &jmiElementId);
113 bool handleNonExistingSession(
const std::shared_ptr<QXmppJingleMessageInitiation> &existingJmi,
const QString &jmiElementId,
const QString &callPartnerResource);
114 std::shared_ptr<QXmppJingleMessageInitiation> addJmi(
const QString &callPartnerJid);
115 const QVector<std::shared_ptr<QXmppJingleMessageInitiation>> &jmis()
const;
118 std::unique_ptr<QXmppJingleMessageInitiationManagerPrivate> d;
120 friend class QXmppJingleMessageInitiationPrivate;
121 friend class tst_QXmppJingleMessageInitiationManager;
The QXmppClientExtension class is the base class for QXmppClient extensions.
Definition: QXmppClientExtension.h:33
The QXmppClient class is the main class for using QXmpp.
Definition: QXmppClient.h:84
The QXmppJingleDescription class represents descriptions for Jingle elements including media type,...
Definition: QXmppJingleData.h:246
The QXmppJingleMessageInitiationElement class represents a Jingle Message Initiation element as speci...
Definition: QXmppJingleData.h:615
The QXmppJingleMessageInitiationManager class makes it possible to retrieve Jingle Message Initiation...
Definition: QXmppJingleMessageInitiationManager.h:73
Q_SIGNAL void proposed(const std::shared_ptr< QXmppJingleMessageInitiation > &jmi, const QString &id, const std::optional< QXmppJingleDescription > &description)
std::variant< std::shared_ptr< QXmppJingleMessageInitiation >, QXmppError > ProposeResult
Definition: QXmppJingleMessageInitiationManager.h:76
The QXmppJingleMessageInitiation class holds information about the JMI element in the current context...
Definition: QXmppJingleMessageInitiationManager.h:21
Q_SIGNAL void closed(const Result &result)
Q_SIGNAL void proceeded(const QString &id, const QString &callPartnerResource)
std::variant< Rejected, Retracted, Finished, QXmppError > Result
Variant of Rejected, Retracted, Finished or Error result types.
Definition: QXmppJingleMessageInitiationManager.h:43
Definition: QXmppMessageHandler.h:16
The QXmppMessage class represents an XMPP message.
Definition: QXmppMessage.h:38
Definition: QXmppTask.h:62
Definition: QXmppError.h:18