QXmpp  Version:0.8.0
 All Classes Functions Variables Enumerations Enumerator Properties Groups
Public Slots | Signals | Public Member Functions | Static Public Member Functions | List of all members
QXmppIceComponent Class Reference

The QXmppIceComponent class represents a piece of a media stream requiring a single transport address, as defined by RFC 5245 (Interactive Connectivity Establishment). More...

#include <QXmppStun.h>

Inheritance diagram for QXmppIceComponent:
QXmppLoggable

Public Slots

void close ()
 Stops ICE connectivity checks and closes the underlying sockets.
void connectToHost ()
 Starts ICE connectivity checks.
qint64 sendDatagram (const QByteArray &datagram)

Signals

void connected ()
 This signal is emitted once ICE negotiation succeeds.
void datagramReceived (const QByteArray &datagram)
 This signal is emitted when a data packet is received.
void localCandidatesChanged ()
 This signal is emitted when the list of local candidates changes.
- Signals inherited from QXmppLoggable
void setGauge (const QString &gauge, double value)
 Sets the given gauge to value.
void logMessage (QXmppLogger::MessageType type, const QString &msg)
 This signal is emitted to send logging messages.
void updateCounter (const QString &counter, qint64 amount=1)
 Updates the given counter by amount.

Public Member Functions

 QXmppIceComponent (QObject *parent=0)
 ~QXmppIceComponent ()
 Destroys the QXmppIceComponent.
void setIceControlling (bool controlling)
 Sets whether the local party has the ICE controlling role.
void setStunServer (const QHostAddress &host, quint16 port)
void setTurnServer (const QHostAddress &host, quint16 port)
void setTurnUser (const QString &user)
void setTurnPassword (const QString &password)
QList< QXmppJingleCandidatelocalCandidates () const
 Returns the list of local candidates.
void setLocalUser (const QString &user)
void setLocalPassword (const QString &password)
int component () const
void setComponent (int component)
bool addRemoteCandidate (const QXmppJingleCandidate &candidate)
 Adds a remote STUN candidate.
void setRemoteUser (const QString &user)
void setRemotePassword (const QString &password)
bool isConnected () const
 Returns true if ICE negotiation completed, false otherwise.
void setSockets (QList< QUdpSocket * > sockets)
- Public Member Functions inherited from QXmppLoggable
 QXmppLoggable (QObject *parent=0)

Static Public Member Functions

static QList< QHostAddress > discoverAddresses ()
 Returns the list of local network addresses.
static QList< QUdpSocket * > reservePorts (const QList< QHostAddress > &addresses, int count, QObject *parent=0)

Additional Inherited Members

- Protected Member Functions inherited from QXmppLoggable
void debug (const QString &message)
void info (const QString &message)
void warning (const QString &message)
void logReceived (const QString &message)
void logSent (const QString &message)

Detailed Description

The QXmppIceComponent class represents a piece of a media stream requiring a single transport address, as defined by RFC 5245 (Interactive Connectivity Establishment).

Constructor & Destructor Documentation

QXmppIceComponent::QXmppIceComponent ( QObject *  parent = 0)

Constructs a new QXmppIceComponent.

Parameters
parent

Member Function Documentation

int QXmppIceComponent::component ( ) const

Returns the component id for the current socket, e.g. 1 for RTP and 2 for RTCP.

QList< QUdpSocket * > QXmppIceComponent::reservePorts ( const QList< QHostAddress > &  addresses,
int  count,
QObject *  parent = 0 
)
static

Tries to bind count UDP sockets on each of the given addresses.

The port numbers are chosen so that they are consecutive, starting at an even port. This makes them suitable for RTP/RTCP sockets pairs.

Parameters
addressesThe network address on which to bind the sockets.
countThe number of ports to reserve.
parentThe parent object for the sockets.
qint64 QXmppIceComponent::sendDatagram ( const QByteArray &  datagram)
slot

Sends a data packet to the remote party.

Parameters
datagram
void QXmppIceComponent::setComponent ( int  component)

Sets the component id for the current socket, e.g. 1 for RTP and 2 for RTCP.

Parameters
component
void QXmppIceComponent::setLocalPassword ( const QString &  password)

Sets the local password.

Parameters
password
void QXmppIceComponent::setLocalUser ( const QString &  user)

Sets the local user fragment.

Parameters
user
void QXmppIceComponent::setRemotePassword ( const QString &  password)

Sets the remote password.

Parameters
password
void QXmppIceComponent::setRemoteUser ( const QString &  user)

Sets the remote user fragment.

Parameters
user
void QXmppIceComponent::setSockets ( QList< QUdpSocket * >  sockets)

Sets the list of sockets to use for this component.

Parameters
sockets
void QXmppIceComponent::setStunServer ( const QHostAddress &  host,
quint16  port 
)

Sets the STUN server to use to determine server-reflexive addresses and ports.

Parameters
hostThe address of the STUN server.
portThe port of the STUN server.
void QXmppIceComponent::setTurnPassword ( const QString &  password)

Sets the password used for authentication with the TURN server.

Parameters
password
void QXmppIceComponent::setTurnServer ( const QHostAddress &  host,
quint16  port 
)

Sets the TURN server to use to relay packets in double-NAT configurations.

Parameters
hostThe address of the TURN server.
portThe port of the TURN server.
void QXmppIceComponent::setTurnUser ( const QString &  user)

Sets the user used for authentication with the TURN server.

Parameters
user

The documentation for this class was generated from the following files: