/****************************************************************************
**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
**
** This file is part of the QtDBus module of the Qt Toolkit.
**
**
**
**
+**
** $QT_END_LICENSE$
**
****************************************************************************/
(*(*list)[i])(amsg);
}
- if (!ref)
+ if (!ref.load())
return false;
switch (amsg.type()) {
continue;
// check name:
- QByteArray slotname = mm.signature();
+ QByteArray slotname = mm.methodSignature();
int paren = slotname.indexOf('(');
if (paren != name.length() || !slotname.startsWith(name))
continue;
- int returnType = qDBusNameToTypeId(mm.typeName());
+ int returnType = QMetaType::type(mm.typeName());
bool isAsync = qDBusCheckAsyncTag(mm.tag());
bool isScriptable = mm.attributes() & QMetaMethod::Scriptable;
++i;
// make sure that the output parameters have signatures too
- if (returnType != 0 && QDBusMetaType::typeToSignature(returnType) == 0)
+ if (returnType != QMetaType::UnknownType && returnType != QMetaType::Void && QDBusMetaType::typeToSignature(returnType) == 0)
continue;
bool ok = true;
}
}
- bool takesMessage = false;
if (metaTypes.count() > i && metaTypes[i] == QDBusMetaTypeId::message) {
params.append(const_cast<void*>(static_cast<const void*>(&msg)));
- takesMessage = true;
++i;
}
// output arguments
QVariantList outputArgs;
void *null = 0;
- if (metaTypes[0] != QMetaType::Void) {
+ if (metaTypes[0] != QMetaType::Void && metaTypes[0] != QMetaType::UnknownType) {
QVariant arg(metaTypes[0], null);
outputArgs.append( arg );
params[0] = const_cast<void*>(outputArgs.at( outputArgs.count() - 1 ).constData());
QString interface = qDBusInterfaceFromMetaObject(mo);
QMetaMethod mm = mo->method(signalId);
- QByteArray memberName = mm.signature();
+ QByteArray memberName = mm.methodSignature();
memberName.truncate(memberName.indexOf('('));
// check if it's scriptable
checkThread();
QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate(message, this);
- pcall->ref = 0;
+ pcall->ref.store(0);
QDBusError error;
DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message, capabilities, &error);