Permalink
Browse files

bundle qxmpp, the simplest xmpp code i could find for qt

  • Loading branch information...
RJ committed Feb 5, 2010
1 parent 62294a0 commit d0df209f4008929a9e041770fc44521e66419632
View
@@ -1,6 +1,7 @@
+*.a
build/*
-libqf2f
+conjist
*.user
-Makefile
+Makefile*
*.o
moc_*
View
@@ -1,45 +1,5 @@
-TEMPLATE = app
-
+TEMPLATE = subdirs
OBJECTS_DIR = build
MOC_DIR = build
-QT += network
-HEADERS += src/servent.h \
- src/connection.h \
- src/controlconnection.h \
- src/proxyconnection.h \
- src/proxyconnectionlistener.h \
- src/proxylistener.h \
- src/testdriver.h \
- zeroconf/bonjourrecord.h \
- zeroconf/bonjourservicebrowser.h \
- zeroconf/bonjourserviceregister.h \
- zeroconf/bonjourserviceresolver.h
-SOURCES += src/servent.cpp \
- src/connection.cpp \
- src/main.cpp \
- src/proxyconnection.cpp \
- src/proxyconnectionlistener.cpp \
- src/proxylistener.cpp \
- src/controlconnection.cpp \
- zeroconf/bonjourservicebrowser.cpp \
- zeroconf/bonjourserviceregister.cpp \
- zeroconf/bonjourserviceresolver.cpp
-
-
-LIBS += -L/usr/local/lib \
- -lqjson
-
-!mac:x11:LIBS+=-ldns_sd
-
-win32 {
- LIBS+=-ldnssd
- # Add your path to bonjour here.
- #LIBPATH=C:/...
- #INCLUDEPATH += c:/...
-}
-
-unix {
- LIBS += -ldns_sd
-}
-
+SUBDIRS = qxmpp src
View

Large diffs are not rendered by default.

Oops, something went wrong.
View
@@ -0,0 +1,78 @@
+/*
+ * 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 "QXmppBind.h"
+#include "utils.h"
+#include "QXmppConstants.h"
+
+#include <QTextStream>
+
+QXmppBind::QXmppBind(QXmppIq::Type type)
+ : QXmppIq(type)
+{
+}
+QXmppBind::QXmppBind(const QString& type)
+ : QXmppIq(type)
+{
+}
+
+QXmppBind::~QXmppBind()
+{
+}
+
+QString QXmppBind::getJid() const
+{
+ return m_jid;
+}
+
+QString QXmppBind::getResource() const
+{
+ return m_resource;
+}
+
+void QXmppBind::setJid(const QString& str)
+{
+ m_jid = str;
+}
+
+void QXmppBind::setResource(const QString& str)
+{
+ m_resource = str;
+}
+
+QByteArray QXmppBind::toXmlElementFromChild() const
+{
+ QString data;
+ QTextStream stream(&data);
+
+ stream << "<bind";
+ helperToXmlAddAttribute(stream, "xmlns", ns_bind);
+ stream << ">";
+ helperToXmlAddElement(stream, "jid", getJid());
+ helperToXmlAddElement(stream, "resource", getResource());
+ stream << "</bind>";
+
+ return data.toAscii();
+}
+
View
@@ -0,0 +1,48 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef QXMPPBIND_H
+#define QXMPPBIND_H
+
+#include "QXmppIq.h"
+
+class QXmppBind : public QXmppIq
+{
+public:
+ QXmppBind(QXmppIq::Type type);
+ QXmppBind(const QString& type);
+ ~QXmppBind();
+
+ QString getJid() const;
+ QString getResource() const;
+ void setJid(const QString&);
+ void setResource(const QString&);
+
+private:
+ QString m_jid;
+ QString m_resource;
+ QByteArray toXmlElementFromChild() const;
+};
+
+#endif // QXMPPBIND_H
View
@@ -0,0 +1,93 @@
+/*
+ * 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 "QXmppClient.h"
+#include "QXmppStream.h"
+#include "QXmppRoster.h"
+#include "QXmppMessage.h"
+
+QXmppClient::QXmppClient(QObject *parent)
+ : QObject(parent), m_stream(0)
+{
+ m_stream = new QXmppStream(this);
+
+ bool check = connect(m_stream, SIGNAL(messageReceived(const QXmppMessage&)), this,
+ SIGNAL(messageReceived(const QXmppMessage&)));
+ Q_ASSERT(check);
+
+ check = connect(m_stream, SIGNAL(presenceReceived(const QXmppPresence&)), this,
+ SIGNAL(presenceReceived(const QXmppPresence&)));
+ Q_ASSERT(check);
+
+ check = connect(m_stream, SIGNAL(iqReceived(const QXmppIq&)), this,
+ SIGNAL(iqReceived(const QXmppIq&)));
+ Q_ASSERT(check);
+}
+
+QXmppClient::~QXmppClient()
+{
+}
+
+QXmppConfiguration& QXmppClient::getConfigurgation()
+{
+ return m_config;
+}
+
+void QXmppClient::connectToServer(const QString& host, const QString& user, const QString& passwd,
+ const QString& domain, int port)
+{
+ m_config.setHost(host);
+ m_config.setUser(user);
+ m_config.setPasswd(passwd);
+ m_config.setDomain(domain);
+ m_config.setPort(port);
+
+ m_stream->connect();
+}
+
+void QXmppClient::connectToServer(const QXmppConfiguration& config)
+{
+ m_config = config;
+
+ m_stream->connect();
+}
+
+void QXmppClient::sendPacket(const QXmppPacket& packet)
+{
+ if(m_stream)
+ {
+ m_stream->sendPacket(packet);
+ }
+}
+
+void QXmppClient::disconnect()
+{
+ if(m_stream)
+ m_stream->disconnect();
+}
+
+QXmppRoster& QXmppClient::getRoster()
+{
+ return m_stream->getRoster();
+}
View
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef QXMPPCLIENT_H
+#define QXMPPCLIENT_H
+
+#include <QObject>
+#include "QXmppConfiguration.h"
+
+class QXmppStream;
+class QXmppPresence;
+class QXmppMessage;
+class QXmppPacket;
+class QXmppIq;
+class QXmppRoster;
+
+class QXmppClient : public QObject
+{
+ Q_OBJECT
+
+public:
+ QXmppClient(QObject *parent = 0);
+ ~QXmppClient();
+ void connectToServer(const QString& host, const QString& user, const QString& passwd,
+ const QString& domain, int port = 5222);
+ void connectToServer(const QXmppConfiguration&);
+ void disconnect();
+ QXmppRoster& getRoster();
+ QXmppConfiguration& getConfigurgation();
+
+signals:
+ void messageReceived(const QXmppMessage&);
+ void presenceReceived(const QXmppPresence&);
+ void iqReceived(const QXmppIq&);
+
+public slots:
+ void sendPacket(const QXmppPacket&);
+
+private:
+ QXmppStream* m_stream;
+ QXmppConfiguration m_config;
+};
+
+#endif // QXMPPCLIENT_H
Oops, something went wrong.

0 comments on commit d0df209

Please sign in to comment.