summaryrefslogtreecommitdiffstats
path: root/qt/qdbusabstractadaptor.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago@kde.org>2006-05-02 14:00:27 +0000
committerThiago Macieira <thiago@kde.org>2006-05-02 14:00:27 +0000
commit838a740ea6f25108b2bca922a1f1ea9d90b64ec2 (patch)
tree495e99f08481911adefd1fd048d02597f74ccdbe /qt/qdbusabstractadaptor.cpp
parent86bb5584d353e336aeaac5ddad3b5d51b359836e (diff)
* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
call (r535506) * qt/dbusidl2cpp.cpp: * qt/qdbusabstractadaptor.cpp: * qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a sibling of the QDBusAbstractAdaptor objects instead of the parent. (r535848) * qt/dbusidl2cpp.cpp: * qt/qdbusabstractinterface.cpp: * qt/qdbusabstractinterface.h: * qt/qdbusabstractinterface_p.h: * qt/qdbusinterface.cpp: Make properties in interfaces actually work. The code that was generated would not compile, due to moc calls to functions that did not exist. They now shall. (r536571)
Diffstat (limited to 'qt/qdbusabstractadaptor.cpp')
-rw-r--r--qt/qdbusabstractadaptor.cpp40
1 files changed, 19 insertions, 21 deletions
diff --git a/qt/qdbusabstractadaptor.cpp b/qt/qdbusabstractadaptor.cpp
index e2ab0964..2794293d 100644
--- a/qt/qdbusabstractadaptor.cpp
+++ b/qt/qdbusabstractadaptor.cpp
@@ -51,12 +51,7 @@ Q_GLOBAL_STATIC(QDBusAdaptorInit, qAdaptorInit)
QDBusAdaptorConnector *qDBusFindAdaptorConnector(QObject *obj)
{
- qAdaptorInit();
-
-#if 0
- if (caller->metaObject() == QDBusAdaptorConnector::staticMetaObject)
- return 0; // it's a QDBusAdaptorConnector
-#endif
+ (void)qAdaptorInit();
if (!obj)
return 0;
@@ -66,9 +61,14 @@ QDBusAdaptorConnector *qDBusFindAdaptorConnector(QObject *obj)
return connector;
}
+QDBusAdaptorConnector *qDBusFindAdaptorConnector(QDBusAbstractAdaptor *adaptor)
+{
+ return qDBusFindAdaptorConnector(adaptor->parent());
+}
+
QDBusAdaptorConnector *qDBusCreateAdaptorConnector(QObject *obj)
{
- qAdaptorInit();
+ (void)qAdaptorInit();
QDBusAdaptorConnector *connector = qDBusFindAdaptorConnector(obj);
if (connector)
@@ -122,15 +122,11 @@ void QDBusAbstractAdaptorPrivate::saveIntrospectionXml(QDBusAbstractAdaptor *ada
/*!
Constructs a QDBusAbstractAdaptor with \a parent as the object we refer to.
-
- \warning Use object() to retrieve the object passed as \a parent to this constructor. The real
- parent object (as retrieved by QObject::parent()) may be something else.
*/
QDBusAbstractAdaptor::QDBusAbstractAdaptor(QObject* parent)
- : d(new QDBusAbstractAdaptorPrivate)
+ : QObject(parent), d(new QDBusAbstractAdaptorPrivate)
{
QDBusAdaptorConnector *connector = qDBusCreateAdaptorConnector(parent);
- setParent(connector);
connector->waitingForPolish = true;
QTimer::singleShot(0, connector, SLOT(polish()));
@@ -153,7 +149,7 @@ QDBusAbstractAdaptor::~QDBusAbstractAdaptor()
*/
QObject* QDBusAbstractAdaptor::object() const
{
- return parent()->parent();
+ return parent();
}
/*!
@@ -167,7 +163,7 @@ QObject* QDBusAbstractAdaptor::object() const
void QDBusAbstractAdaptor::setAutoRelaySignals(bool enable)
{
const QMetaObject *us = metaObject();
- const QMetaObject *them = object()->metaObject();
+ const QMetaObject *them = parent()->metaObject();
for (int idx = staticMetaObject.methodCount(); idx < us->methodCount(); ++idx) {
QMetaMethod mm = us->method(idx);
@@ -179,9 +175,9 @@ void QDBusAbstractAdaptor::setAutoRelaySignals(bool enable)
if (them->indexOfSignal(sig) == -1)
continue;
sig.prepend(QSIGNAL_CODE + '0');
- object()->disconnect(sig, this, sig);
+ parent()->disconnect(sig, this, sig);
if (enable)
- connect(object(), sig, sig);
+ connect(parent(), sig, sig);
}
}
@@ -274,7 +270,7 @@ void QDBusAdaptorConnector::relay(QObject *sender)
qWarning("Inconsistency detected: QDBusAdaptorConnector::relay got called with unexpected sender object!");
} else {
QMetaMethod mm = senderMetaObject->method(lastSignalIdx);
- QObject *object = static_cast<QDBusAbstractAdaptor *>(sender)->object();
+ QObject *object = static_cast<QDBusAbstractAdaptor *>(sender)->parent();
// break down the parameter list
QList<int> types;
@@ -316,8 +312,9 @@ void QDBusAdaptorConnector::relay(QObject *sender)
void QDBusAdaptorConnector::signalBeginCallback(QObject *caller, int method_index, void **argv)
{
- QDBusAdaptorConnector *data = qobject_cast<QDBusAdaptorConnector *>(caller->parent());
- if (data) {
+ QDBusAbstractAdaptor *adaptor = qobject_cast<QDBusAbstractAdaptor *>(caller);
+ if (adaptor) {
+ QDBusAdaptorConnector *data = qDBusFindAdaptorConnector(adaptor);
data->lastSignalIdx = method_index;
data->argv = argv;
data->senderMetaObject = caller->metaObject();
@@ -327,8 +324,9 @@ void QDBusAdaptorConnector::signalBeginCallback(QObject *caller, int method_inde
void QDBusAdaptorConnector::signalEndCallback(QObject *caller, int)
{
- QDBusAdaptorConnector *data = qobject_cast<QDBusAdaptorConnector *>(caller->parent());
- if (data) {
+ QDBusAbstractAdaptor *adaptor = qobject_cast<QDBusAbstractAdaptor *>(caller);
+ if (adaptor) {
+ QDBusAdaptorConnector *data = qDBusFindAdaptorConnector(adaptor);
data->lastSignalIdx = 0;
data->argv = 0;
data->senderMetaObject = 0;