diff options
| author | Niels Ole Salscheider <niels_ole@salscheider-online.de> | 2017-09-04 15:06:38 +0200 |
|---|---|---|
| committer | Niels Ole Salscheider <niels_ole@salscheider-online.de> | 2017-09-04 20:34:53 +0200 |
| commit | 8e0415d0bacbce3fc6d7b66304936d578d52b214 (patch) | |
| tree | fd1e276c3e839e6d9734b96c0e4f08e6963334f2 /examples/example_8_server/example_8_server.cpp | |
| parent | 638deefa227d89d4d4d803c2f0f66e2ca7bc3777 (diff) | |
Port examples to the new build system
Diffstat (limited to 'examples/example_8_server/example_8_server.cpp')
| -rw-r--r-- | examples/example_8_server/example_8_server.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/examples/example_8_server/example_8_server.cpp b/examples/example_8_server/example_8_server.cpp new file mode 100644 index 00000000..e28f1de5 --- /dev/null +++ b/examples/example_8_server/example_8_server.cpp @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2008-2014 The QXmpp developers + * + * Author: + * Jeremy Lainé + * + * Source: + * https://github.com/qxmpp-project/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 "QXmppLogger.h" +#include "QXmppPasswordChecker.h" +#include "QXmppServer.h" + +#define USERNAME "qxmpp.test1" +#define PASSWORD "qxmpp123" + +class passwordChecker : public QXmppPasswordChecker +{ + /// Retrieves the password for the given username. + QXmppPasswordReply::Error getPassword(const QXmppPasswordRequest &request, QString &password) + { + if (request.username() == USERNAME) + { + password = PASSWORD; + return QXmppPasswordReply::NoError; + } else { + return QXmppPasswordReply::AuthorizationError; + } + }; + + /// Returns true as we implemented getPassword(). + bool hasGetPassword() const + { + return true; + }; +}; + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + + // we want one argument : the domain to serve + if (argc != 2) + { + fprintf(stderr, "Usage: xmppServer <domain>\n"); + return EXIT_FAILURE; + } + const QString domain = QString::fromLocal8Bit(argv[1]); + + QXmppLogger logger; + logger.setLoggingType(QXmppLogger::StdoutLogging); + + passwordChecker checker; + + QXmppServer server; + server.setDomain(domain); + server.setLogger(&logger); + server.setPasswordChecker(&checker); + server.listenForClients(); + server.listenForServers(); + return a.exec(); +} |
