From 70c376063aa3a30db16facd8c103b2c6ef3b3e36 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Tue, 10 Aug 2010 16:22:18 +0000 Subject: rename "example" to "examples" --- .../example_5_rpcInterface.pro | 12 +++++ examples/example_5_rpcInterface/main.cpp | 39 ++++++++++++++ .../example_5_rpcInterface/remoteinterface.cpp | 15 ++++++ examples/example_5_rpcInterface/remoteinterface.h | 20 +++++++ examples/example_5_rpcInterface/rpcClient.cpp | 38 +++++++++++++ examples/example_5_rpcInterface/rpcClient.h | 40 ++++++++++++++ examples/example_5_rpcInterface/xmlrpctest.txt | 63 ++++++++++++++++++++++ 7 files changed, 227 insertions(+) create mode 100644 examples/example_5_rpcInterface/example_5_rpcInterface.pro create mode 100644 examples/example_5_rpcInterface/main.cpp create mode 100644 examples/example_5_rpcInterface/remoteinterface.cpp create mode 100644 examples/example_5_rpcInterface/remoteinterface.h create mode 100644 examples/example_5_rpcInterface/rpcClient.cpp create mode 100644 examples/example_5_rpcInterface/rpcClient.h create mode 100644 examples/example_5_rpcInterface/xmlrpctest.txt (limited to 'examples/example_5_rpcInterface') diff --git a/examples/example_5_rpcInterface/example_5_rpcInterface.pro b/examples/example_5_rpcInterface/example_5_rpcInterface.pro new file mode 100644 index 00000000..eaa19e67 --- /dev/null +++ b/examples/example_5_rpcInterface/example_5_rpcInterface.pro @@ -0,0 +1,12 @@ +include(../example.pri) + +TARGET = example_5_rpcInterface + +SOURCES += main.cpp \ + rpcClient.cpp \ + remoteinterface.cpp + +HEADERS += rpcClient.h \ + remoteinterface.h + +OTHER_FILES += README diff --git a/examples/example_5_rpcInterface/main.cpp b/examples/example_5_rpcInterface/main.cpp new file mode 100644 index 00000000..5792cc21 --- /dev/null +++ b/examples/example_5_rpcInterface/main.cpp @@ -0,0 +1,39 @@ +/* + * 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 +#include "rpcClient.h" +#include "QXmppLogger.h" + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + + QXmppLogger::getLogger()->setLoggingType(QXmppLogger::StdoutLogging); + + rpcClient client; + client.configuration().setUseSASLAuthentication( false ); + client.connectToServer("jabber.geiseri.com", "server", "Passw0rd", "geiseri.com"); + return a.exec(); +} diff --git a/examples/example_5_rpcInterface/remoteinterface.cpp b/examples/example_5_rpcInterface/remoteinterface.cpp new file mode 100644 index 00000000..77d52384 --- /dev/null +++ b/examples/example_5_rpcInterface/remoteinterface.cpp @@ -0,0 +1,15 @@ +#include "remoteinterface.h" + +RemoteInterface::RemoteInterface(QObject *parent) : QXmppInvokable(parent) +{ +} + +bool RemoteInterface::isAuthorized( const QString &jid ) const +{ + return true; +} + +QString RemoteInterface::echoString(const QString& message) +{ + return "Echo: " + message; +} diff --git a/examples/example_5_rpcInterface/remoteinterface.h b/examples/example_5_rpcInterface/remoteinterface.h new file mode 100644 index 00000000..02ce72d7 --- /dev/null +++ b/examples/example_5_rpcInterface/remoteinterface.h @@ -0,0 +1,20 @@ +#ifndef REMOTEINTERFACE_H +#define REMOTEINTERFACE_H + +#include "QXmppInvokable.h" + +class RemoteInterface : public QXmppInvokable +{ + Q_OBJECT +public: + RemoteInterface(QObject *parent = 0); + + bool isAuthorized( const QString &jid ) const; + +// RPC Interface +public slots: + QString echoString( const QString &message ); + +}; + +#endif // REMOTEINTERFACE_H diff --git a/examples/example_5_rpcInterface/rpcClient.cpp b/examples/example_5_rpcInterface/rpcClient.cpp new file mode 100644 index 00000000..60dd75ea --- /dev/null +++ b/examples/example_5_rpcInterface/rpcClient.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2008-2010 The QXmpp developers + * + * Author: + * Ian Reinhart Geiser + * + * 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 "rpcClient.h" +#include "remoteinterface.h" + +rpcClient::rpcClient(QObject *parent) + : QXmppClient(parent) +{ + addInvokableInterface( new RemoteInterface(this) ); +} + +rpcClient::~rpcClient() +{ + +} + diff --git a/examples/example_5_rpcInterface/rpcClient.h b/examples/example_5_rpcInterface/rpcClient.h new file mode 100644 index 00000000..22eda459 --- /dev/null +++ b/examples/example_5_rpcInterface/rpcClient.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2008-2010 The QXmpp developers + * + * Author: + * Ian Reinhart Geiser + * + * 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 RPCCLIENT_H +#define RPCCLIENT_H + +#include "QXmppClient.h" + +class rpcClient : public QXmppClient +{ + Q_OBJECT + +public: + rpcClient(QObject *parent = 0); + ~rpcClient(); + +}; + +#endif // RPCCLIENT_H diff --git a/examples/example_5_rpcInterface/xmlrpctest.txt b/examples/example_5_rpcInterface/xmlrpctest.txt new file mode 100644 index 00000000..4796fdd3 --- /dev/null +++ b/examples/example_5_rpcInterface/xmlrpctest.txt @@ -0,0 +1,63 @@ + + + + + client + telnet + Passw0rd + + + + + + + + + RemoteInterface.echoString + + + Test string + + + + + + + + + + RemoteInterface.badMethod + + + Test string + + + + + + + + + + BadInterface.echoString + + + Test string + + + + + + -- cgit v1.2.3