diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-06 05:45:44 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2010-09-06 05:45:44 +0000 |
| commit | f688bd853516b63d07a203f2d7ab15535a1688fe (patch) | |
| tree | 5353c370de05feb65b4d055b5956b7c1aff59c9b /examples/example_9_vCard | |
| parent | e6e1e636d9e2de64644098fba4b599a5f13f1354 (diff) | |
| download | qxmpp-f688bd853516b63d07a203f2d7ab15535a1688fe.tar.gz | |
add
Diffstat (limited to 'examples/example_9_vCard')
| -rw-r--r-- | examples/example_9_vCard/example_9_vCard.pro | 8 | ||||
| -rw-r--r-- | examples/example_9_vCard/main.cpp | 38 | ||||
| -rw-r--r-- | examples/example_9_vCard/xmppClient.cpp | 96 | ||||
| -rw-r--r-- | examples/example_9_vCard/xmppClient.h | 46 |
4 files changed, 188 insertions, 0 deletions
diff --git a/examples/example_9_vCard/example_9_vCard.pro b/examples/example_9_vCard/example_9_vCard.pro new file mode 100644 index 00000000..d1681ce0 --- /dev/null +++ b/examples/example_9_vCard/example_9_vCard.pro @@ -0,0 +1,8 @@ +include(../examples.pri)
+
+TARGET = example_9_vCard
+
+SOURCES += main.cpp \
+ xmppClient.cpp
+
+HEADERS += xmppClient.h
diff --git a/examples/example_9_vCard/main.cpp b/examples/example_9_vCard/main.cpp new file mode 100644 index 00000000..d4a7814d --- /dev/null +++ b/examples/example_9_vCard/main.cpp @@ -0,0 +1,38 @@ +/*
+ * Copyright (C) 2008-2010 The QXmpp developers
+ *
+ * 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 <QtCore/QCoreApplication>
+#include "xmppClient.h"
+#include "QXmppLogger.h"
+
+int main(int argc, char *argv[])
+{
+ QCoreApplication a(argc, argv);
+
+ QXmppLogger::getLogger()->setLoggingType(QXmppLogger::FileLogging);
+
+ xmppClient client;
+ client.connectToServer("qxmpp.test1@gmail.com", "qxmpp123");
+ return a.exec();
+}
diff --git a/examples/example_9_vCard/xmppClient.cpp b/examples/example_9_vCard/xmppClient.cpp new file mode 100644 index 00000000..77b22655 --- /dev/null +++ b/examples/example_9_vCard/xmppClient.cpp @@ -0,0 +1,96 @@ +/*
+ * Copyright (C) 2008-2010 The QXmpp developers
+ *
+ * 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 <iostream>
+
+#include "QXmppMessage.h"
+#include "QXmppRosterManager.h"
+#include "QXmppVCardManager.h"
+
+#include <QFile>
+#include <QDir>
+#include <QXmlStreamWriter>
+
+xmppClient::xmppClient(QObject *parent)
+ : QXmppClient(parent)
+{
+ bool check = connect(this, SIGNAL(connected()),
+ SLOT(clientConnected()));
+ Q_ASSERT(check);
+
+ check = connect(&this->rosterManager(), SIGNAL(rosterReceived()),
+ SLOT(rosterReceived()));
+ Q_ASSERT(check);
+
+}
+
+xmppClient::~xmppClient()
+{
+
+}
+
+void xmppClient::clientConnected()
+{
+ std::cout<<"example_9_vCard:: CONNECTED"<<std::endl;
+}
+
+void xmppClient::rosterReceived()
+{
+ std::cout<<"example_9_vCard:: Roster Received"<<std::endl;
+ bool check = connect(&this->vCardManager(), SIGNAL(vCardReceived(const QXmppVCard&)),
+ SLOT(vCardReceived(const QXmppVCard&)));
+ Q_ASSERT(check);
+
+ QStringList list = rosterManager().getRosterBareJids();
+ for(int i = 0; i < list.size(); ++i)
+ {
+ // request vCard of all the bareJids in roster
+ vCardManager().requestVCard(list.at(i));
+ }
+}
+
+void xmppClient::vCardReceived(const QXmppVCard& vCard)
+{
+ QString bareJid = vCard.from();
+ std::cout<<"example_9_vCard:: vCard Received:: " << qPrintable(bareJid) <<std::endl;
+
+ QString out("FullName: %1\nNickName: %2\n");
+ std::cout<<qPrintable(out.arg(vCard.fullName()).arg(vCard.nickName())) <<std::endl;
+
+ QString vCardsDir("vCards/");
+
+ QDir dir;
+ if(!dir.exists(vCardsDir))
+ dir.mkdir(vCardsDir);
+
+ QFile file("vCards/" + bareJid + ".xml");
+ if(file.open(QIODevice::ReadWrite))
+ {
+ QXmlStreamWriter stream(&file);
+ vCard.toXml(&stream);
+ file.close();
+ std::cout<<"example_9_vCard:: vCard written to the file:: " << qPrintable(bareJid) <<std::endl;
+ }
+}
diff --git a/examples/example_9_vCard/xmppClient.h b/examples/example_9_vCard/xmppClient.h new file mode 100644 index 00000000..69267a8b --- /dev/null +++ b/examples/example_9_vCard/xmppClient.h @@ -0,0 +1,46 @@ +/*
+ * Copyright (C) 2008-2010 The QXmpp developers
+ *
+ * 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.
+ *
+ */
+
+
+#ifndef XMPPCLIENT_H
+#define XMPPCLIENT_H
+
+#include "QXmppClient.h"
+
+class QXmppVCard;
+
+class xmppClient : public QXmppClient
+{
+ Q_OBJECT
+
+public:
+ xmppClient(QObject *parent = 0);
+ ~xmppClient();
+
+public slots:
+ void clientConnected();
+ void rosterReceived();
+ void vCardReceived(const QXmppVCard&);
+};
+
+#endif // XMPPCLIENT_H
|
