29 #include "QXmppLogger.h"
30 #include "QXmppJingleIq.h"
36 class QXmppIceComponentPrivate;
37 class QXmppIceConnectionPrivate;
38 class QXmppIcePrivate;
45 class QXMPP_EXPORT QXmppStunMessage
55 CreatePermission = 0x8,
68 quint32 cookie()
const;
69 void setCookie(quint32 cookie);
71 QByteArray id()
const;
72 void setId(
const QByteArray &
id);
74 quint16 messageClass()
const;
75 quint16 messageMethod()
const;
78 void setType(quint16 type);
82 quint32 changeRequest()
const;
83 void setChangeRequest(quint32 changeRequest);
85 quint16 channelNumber()
const;
86 void setChannelNumber(quint16 channelNumber);
88 QByteArray data()
const;
89 void setData(
const QByteArray &data);
91 quint32 lifetime()
const;
92 void setLifetime(quint32 changeRequest);
94 QByteArray nonce()
const;
95 void setNonce(
const QByteArray &nonce);
97 quint32 priority()
const;
98 void setPriority(quint32 priority);
100 QString realm()
const;
101 void setRealm(
const QString &realm);
103 QByteArray reservationToken()
const;
104 void setReservationToken(
const QByteArray &reservationToken);
106 quint8 requestedTransport()
const;
107 void setRequestedTransport(quint8 requestedTransport);
109 QString software()
const;
110 void setSoftware(
const QString &software);
112 QString username()
const;
113 void setUsername(
const QString &username);
115 QByteArray encode(
const QByteArray &key = QByteArray(),
bool addFingerprint =
true)
const;
116 bool decode(
const QByteArray &buffer,
const QByteArray &key = QByteArray(), QStringList *errors = 0);
117 QString toString()
const;
118 static quint16 peekType(
const QByteArray &buffer, quint32 &cookie, QByteArray &
id);
123 QByteArray iceControlling;
124 QByteArray iceControlled;
125 QHostAddress changedHost;
127 QHostAddress mappedHost;
129 QHostAddress otherHost;
131 QHostAddress sourceHost;
133 QHostAddress xorMappedHost;
134 quint16 xorMappedPort;
135 QHostAddress xorPeerHost;
137 QHostAddress xorRelayedHost;
138 quint16 xorRelayedPort;
147 QSet<quint16> m_attributes;
148 quint32 m_changeRequest;
149 quint16 m_channelNumber;
155 quint8 m_requestedTransport;
156 QByteArray m_reservationToken;
172 int component()
const;
173 bool isConnected()
const;
174 QList<QXmppJingleCandidate> localCandidates()
const;
176 static QList<QHostAddress> discoverAddresses();
177 static QList<QUdpSocket*> reservePorts(
const QList<QHostAddress> &addresses,
int count, QObject *parent = 0);
181 void connectToHost();
182 qint64 sendDatagram(
const QByteArray &datagram);
185 void checkCandidates();
186 void handleDatagram(
const QByteArray &datagram,
const QHostAddress &host, quint16 port);
187 void turnConnected();
188 void transactionFinished();
189 void writeStun(
const QXmppStunMessage &request);
196 void datagramReceived(
const QByteArray &datagram);
199 void localCandidatesChanged();
204 QXmppIceComponentPrivate *d;
205 friend class QXmppIceComponentPrivate;
246 void addComponent(
int component);
247 void setIceControlling(
bool controlling);
249 QList<QXmppJingleCandidate> localCandidates()
const;
250 QString localUser()
const;
251 QString localPassword()
const;
254 void setRemoteUser(
const QString &user);
255 void setRemotePassword(
const QString &password);
257 void setStunServer(
const QHostAddress &host, quint16 port = 3478);
258 void setTurnServer(
const QHostAddress &host, quint16 port = 3478);
259 void setTurnUser(
const QString &user);
260 void setTurnPassword(
const QString &password);
262 bool bind(
const QList<QHostAddress> &addresses);
263 bool isConnected()
const;
273 void localCandidatesChanged();
277 void connectToHost();
280 void slotConnected();
284 QXmppIceConnectionPrivate *d;
The QXmppIceConnection class represents a set of UDP sockets capable of performing Interactive Connec...
Definition: QXmppStun.h:237
The QXmppLoggable class represents a source of logging messages.
Definition: QXmppLogger.h:111
The QXmppIceComponent class represents a piece of a media stream requiring a single transport address...
Definition: QXmppStun.h:165
The QXmppJingleCandidate class represents a transport candidate as specified by XEP-0176: Jingle ICE-...
Definition: QXmppJingleIq.h:84