From 92308f9cd705d3bbe05605ff36dfe6ecf647c2e4 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Sun, 8 Nov 2009 08:34:43 +0000 Subject: roster example --- example/example_2_rosterHandling/README | 1 + .../example_2_rosterHandling.pro | 21 ++++++ example/example_2_rosterHandling/main.cpp | 38 +++++++++++ example/example_2_rosterHandling/xmppClient.cpp | 74 ++++++++++++++++++++++ example/example_2_rosterHandling/xmppClient.h | 44 +++++++++++++ 5 files changed, 178 insertions(+) create mode 100644 example/example_2_rosterHandling/README create mode 100644 example/example_2_rosterHandling/example_2_rosterHandling.pro create mode 100644 example/example_2_rosterHandling/main.cpp create mode 100644 example/example_2_rosterHandling/xmppClient.cpp create mode 100644 example/example_2_rosterHandling/xmppClient.h (limited to 'example') diff --git a/example/example_2_rosterHandling/README b/example/example_2_rosterHandling/README new file mode 100644 index 00000000..58c49535 --- /dev/null +++ b/example/example_2_rosterHandling/README @@ -0,0 +1 @@ +This example demonstrates how to get the roster and presence updates. diff --git a/example/example_2_rosterHandling/example_2_rosterHandling.pro b/example/example_2_rosterHandling/example_2_rosterHandling.pro new file mode 100644 index 00000000..bf780ed6 --- /dev/null +++ b/example/example_2_rosterHandling/example_2_rosterHandling.pro @@ -0,0 +1,21 @@ +TEMPLATE = app + +TARGET = example_2_rosterHandling + +SOURCES += main.cpp \ + xmppClient.cpp + +HEADERS += xmppClient.h + +INCLUDEPATH += ../../source + +QT += network xml +CONFIG += console debug_and_release + +CONFIG(debug, debug|release) { + LIBS += -L../../source/debug -lQXmppClient_d + } else { + LIBS += -L../../source/release -lQXmppClient + } + +OTHER_FILES += README diff --git a/example/example_2_rosterHandling/main.cpp b/example/example_2_rosterHandling/main.cpp new file mode 100644 index 00000000..9ab3f1f1 --- /dev/null +++ b/example/example_2_rosterHandling/main.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2008-2009 Manjeet Dahiya + * + * Author: + * Manjeet Dahiya + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + + +#include +#include "xmppClient.h" +#include "QXmppLogger.h" + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + + QXmppLogger::getLogger()->setLoggingType(QXmppLogger::FILE); + + xmppClient client; + client.connectToServer("talk.google.com", "qxmpp.test1@gmail.com", "qxmpp123"); + return a.exec(); +} diff --git a/example/example_2_rosterHandling/xmppClient.cpp b/example/example_2_rosterHandling/xmppClient.cpp new file mode 100644 index 00000000..72fc2220 --- /dev/null +++ b/example/example_2_rosterHandling/xmppClient.cpp @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2008-2009 Manjeet Dahiya + * + * Author: + * Manjeet Dahiya + * + * Source: + * http://code.google.com/p/qxmpp + * + * This file is a part of QXmpp library. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + */ + + +#include "xmppClient.h" +#include "QXmppMessage.h" +#include "QXmppRoster.h" +#include + +xmppClient::xmppClient(QObject *parent) + : QXmppClient(parent) +{ + bool check = connect(this, SIGNAL(connected()), + SLOT(clientConnected())); + Q_ASSERT(check); + + check = connect(&this->getRoster(), SIGNAL(rosterReceived()), + SLOT(rosterReceived())); + Q_ASSERT(check); + + /// Then QXmppRoster::presenceChanged() is emitted whenever presence of someone + /// in roster changes + check = connect(&this->getRoster(), + SIGNAL(presenceChanged(const QString&, const QString&)), + SLOT(presenceChanged(const QString&, const QString&))); + Q_ASSERT(check); +} + +xmppClient::~xmppClient() +{ + +} + +void xmppClient::clientConnected() +{ + std::cout<<"example_2_rosterHandling:: CONNECTED"<