summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlbert Astals Cid <albert.astals@canonical.com>2013-08-07 18:15:43 (GMT)
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-08 07:22:31 (GMT)
commitb3116abe3ab3b8a233cfa2ebea06fdc3dd5d72d8 (patch)
tree226bb98686869bd2e846cf3cd916dfc6e7e4f0b9
parent9deca2ef28e1f593d3882ba0c7e9dd7b04aac993 (diff)
downloadQt-b3116abe3ab3b8a233cfa2ebea06fdc3dd5d72d8.zip
Qt-b3116abe3ab3b8a233cfa2ebea06fdc3dd5d72d8.tar.gz
Qt-b3116abe3ab3b8a233cfa2ebea06fdc3dd5d72d8.tar.bz2
Revert ea6ec4c781d5e94425b70f9f4e45d3e50eb12299
It has been discovered it changes the behavior of qdbuscpp2xml resulting in builds of some apps breaking. Even if the behavior is more correct, such behavior change in a stable branch is not acceptable Change-Id: I94826b06861188455779ee22218685951f0f8d6b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r--src/dbus/qdbusxmlgenerator.cpp5
-rw-r--r--tests/auto/dbus.pro1
-rw-r--r--tests/auto/qdbusxmlgenerator/qdbusxmlgenerator.pro5
-rw-r--r--tests/auto/qdbusxmlgenerator/tst_qdbusxmlgenerator.cpp125
4 files changed, 2 insertions, 134 deletions
diff --git a/src/dbus/qdbusxmlgenerator.cpp b/src/dbus/qdbusxmlgenerator.cpp
index 6cc924a..275d268 100644
--- a/src/dbus/qdbusxmlgenerator.cpp
+++ b/src/dbus/qdbusxmlgenerator.cpp
@@ -211,13 +211,12 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method
}
int wantedMask;
- const bool isSlot = mm.methodType() == QMetaMethod::Slot;
if (isScriptable)
wantedMask = isSignal ? QDBusConnection::ExportScriptableSignals
- : isSlot ? QDBusConnection::ExportScriptableSlots : QDBusConnection::ExportScriptableInvokables;
+ : QDBusConnection::ExportScriptableSlots;
else
wantedMask = isSignal ? QDBusConnection::ExportNonScriptableSignals
- : isSlot ? QDBusConnection::ExportNonScriptableSlots : QDBusConnection::ExportNonScriptableInvokables;
+ : QDBusConnection::ExportNonScriptableSlots;
if ((flags & wantedMask) != wantedMask)
continue;
diff --git a/tests/auto/dbus.pro b/tests/auto/dbus.pro
index 269a5dd..7470bf8 100644
--- a/tests/auto/dbus.pro
+++ b/tests/auto/dbus.pro
@@ -16,7 +16,6 @@ SUBDIRS=\
qdbustype \
qdbusthreading \
qdbusxmlparser \
- qdbusxmlgenerator \
!contains(QT_CONFIG, private_tests): SUBDIRS -= \
qdbusmarshall \
diff --git a/tests/auto/qdbusxmlgenerator/qdbusxmlgenerator.pro b/tests/auto/qdbusxmlgenerator/qdbusxmlgenerator.pro
deleted file mode 100644
index 5bf8523..0000000
--- a/tests/auto/qdbusxmlgenerator/qdbusxmlgenerator.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-CONFIG += testcase
-TARGET = tst_qdbusxmlgenerator
-QT = core dbus testlib xml
-SOURCES += tst_qdbusxmlgenerator.cpp
-DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/qdbusxmlgenerator/tst_qdbusxmlgenerator.cpp b/tests/auto/qdbusxmlgenerator/tst_qdbusxmlgenerator.cpp
deleted file mode 100644
index 1ff613b..0000000
--- a/tests/auto/qdbusxmlgenerator/tst_qdbusxmlgenerator.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Canonical Limited
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qcoreapplication.h>
-
-#include <QtTest/QtTest>
-#include <QtDBus/QtDBus>
-#include <QtXml/QDomDocument>
-
-static const QString serviceName = "org.example.qdbus";
-static const QString interfaceName = serviceName;
-
-Q_DECLARE_METATYPE(QDBusConnection::RegisterOption);
-
-class DBusXmlGenetarorObject : public QObject
-{
- Q_OBJECT
- Q_CLASSINFO("D-Bus Interface", "org.example.qdbus")
-public:
- Q_INVOKABLE void nonScriptableInvokable() {}
- Q_SCRIPTABLE Q_INVOKABLE void scriptableInvokable() {}
-};
-
-class tst_QDBusXmlGenerator : public QObject
-{
- Q_OBJECT
-
-private slots:
- void initTestCase();
- void introspect_data();
- void introspect();
-};
-
-void tst_QDBusXmlGenerator::initTestCase()
-{
- QDBusConnection::sessionBus().registerService(serviceName);
-}
-
-void tst_QDBusXmlGenerator::introspect_data()
-{
- QTest::addColumn<QString>("methodName");
- QTest::addColumn<QDBusConnection::RegisterOption>("flags");
-
- QTest::newRow("scriptableInvokable") << "scriptableInvokable" << QDBusConnection::ExportScriptableInvokables;
- QTest::newRow("nonScriptableInvokable") << "nonScriptableInvokable" << QDBusConnection::ExportNonScriptableInvokables;
-}
-
-void tst_QDBusXmlGenerator::introspect()
-{
- QFETCH(QString, methodName);
- QFETCH(QDBusConnection::RegisterOption, flags);
- DBusXmlGenetarorObject obj;
-
- QDBusConnection::sessionBus().registerObject("/" + methodName, &obj, flags );
-
- QDBusInterface dif(serviceName, "/" + methodName, "", QDBusConnection::sessionBus());
- QDBusReply<QString> reply = dif.call("Introspect");
-
- bool found = false;
- QDomDocument d;
- d.setContent(reply.value(), false);
- QDomNode n = d.documentElement().firstChild();
- while (!found && !n.isNull()) {
- QDomElement e = n.toElement(); // try to convert the node to an element.
- if (!e.isNull()) {
- if (e.tagName() == "interface" && e.attribute("name") == interfaceName ) {
- QDomNode n2 = e.firstChild();
- while (!n2.isNull()) {
- QDomElement e2 = n2.toElement(); // try to convert the node to an element.
- if (!e2.isNull()) {
- if (e2.tagName() == "method") {
- found = e2.attribute("name") == methodName;
- }
- }
- n2 = n2.nextSibling();
- }
- }
- }
- n = n.nextSibling();
- }
-
- QVERIFY(found);
-}
-
-QTEST_MAIN(tst_QDBusXmlGenerator)
-
-#include "tst_qdbusxmlgenerator.moc"
-