QXmpp: Using QXmpp

QXmpp Version: 1.14.4

Loading...
Searching...
No Matches
Using QXmpp

## Example: example_0_connected

This example just connects to the xmpp server. And starts receiving presences (updates) from the server. After running this example, you can see this user online, if it's added in your roster (friends list). Logging type has been set to stdout. You can see the progress on the command line. This example is also available with the source code in the example directory.

#include <QtCore/QCoreApplication>
#include "QXmppClient.h"
#include "QXmppLogger.h"
int main(int argc, char *argv[])
{
// create a Qt application
QCoreApplication a(argc, argv);
// setting the logging type to stdout
QXmppLogger::getLogger()->setLoggingType(QXmppLogger::StdoutLogging);
// creating the object of the client class QXmppClient
// and then calling the connectToServer function to connect to gtalk server
QXmppClient client;
client.connectToServer("qxmpp.test1@gmail.com", "qxmpp123");
// run the application main loop
return a.exec();
}
QXmppClient
Main class for starting and managing connections to XMPP servers.
Definition QXmppClient.h:62
QXmppClient::connectToServer
Q_SLOT void connectToServer(const QXmppConfiguration &, const QXmppPresence &initialPresence={})
Definition QXmppClient.cpp:456
QXmppLogger::setLoggingType
void setLoggingType(QXmppLogger::LoggingType type)
Sets the handler for logging messages.
Definition QXmppLogger.cpp:139
QXmppLogger::StdoutLogging
@ StdoutLogging
Log messages are written to the standard output.
Definition QXmppLogger.h:45
QXmppLogger::getLogger
static QXmppLogger * getLogger()
Definition QXmppLogger.cpp:124

## Example: example_1_echoClient

This is a very simple bot which echoes the message sent to it. Run this example, send it a message from a friend of this bot. You will receive the message back. This example shows how to receive and send messages. This example is also available with the source code in the example directory.

// subclass the QXmppClient and create a new class echoClient
// in the constructor the signal QXmppClient::messageReceived(const QXmppMessage&)
// is connected to the slot echoClient::messageReceived(const QXmppMessage&)
// in the slot one can process the message received
#include "QXmppClient.h"
class echoClient : public QXmppClient
{
Q_OBJECT
public:
echoClient(QObject *parent = 0);
~echoClient();
public slots:
void messageReceived(const QXmppMessage&);
};
}}}
QXmppClient::messageReceived
Q_SIGNAL void messageReceived(const QXmppMessage &message)
QXmppMessage
The QXmppMessage class represents an XMPP message.
Definition QXmppMessage.h:64
#include "echoClient.h"
#include "QXmppMessage.h"
echoClient::echoClient(QObject *parent)
: QXmppClient(parent)
{
bool check = connect(this, SIGNAL(messageReceived(const QXmppMessage&)),
SLOT(messageReceived(const QXmppMessage&)));
Q_ASSERT(check);
}
echoClient::~echoClient()
{
}
// slot where message sent to this client is received
// here getFrom() gives the sender and getBody() gives the message
// using the function sendPacket message is sent back to the sender
void echoClient::messageReceived(const QXmppMessage& message)
{
QString from = message.getFrom();
QString msg = message.getBody();
sendPacket(QXmppMessage("", from, "Your message: " + msg));
}
}}}
#include <QtCore/QCoreApplication>
#include "echoClient.h"
#include "QXmppLogger.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QXmppLogger::getLogger()->setLoggingType(QXmppLogger::StdoutLogging);
echoClient client;
client.connectToServer("qxmpp.test1@gmail.com", "qxmpp123");
return a.exec();
}