diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-03-08 18:49:51 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-14 20:00:00 +0100 |
commit | ded80cfc8a3f258a85954b4fd19063f9988f3744 (patch) | |
tree | 457b34880bcc25fdd5c9c3157f8b3020cb27994b /src/dbus | |
parent | b05139b2dc1f52690fb30f0734ef38716a87303d (diff) |
Make some DBus classes bootstrapping-ready.
Change-Id: Ib7611fb0bf8e226a36064a100280e1ab7a0e159d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus')
-rw-r--r-- | src/dbus/qdbusconnection_p.h | 6 | ||||
-rw-r--r-- | src/dbus/qdbuserror.cpp | 6 | ||||
-rw-r--r-- | src/dbus/qdbuserror.h | 4 | ||||
-rw-r--r-- | src/dbus/qdbusmetatype.cpp | 23 | ||||
-rw-r--r-- | src/dbus/qdbusmisc.cpp | 13 | ||||
-rw-r--r-- | src/dbus/qdbusutil.cpp | 6 |
6 files changed, 55 insertions, 3 deletions
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h index 41a1341e40..caeb116b31 100644 --- a/src/dbus/qdbusconnection_p.h +++ b/src/dbus/qdbusconnection_p.h @@ -88,6 +88,8 @@ class QDBusAbstractInterface; class QDBusConnectionInterface; class QDBusPendingCallPrivate; +#ifndef QT_BOOTSTRAPPED + class QDBusErrorInternal { mutable DBusError error; @@ -336,7 +338,10 @@ public: // in qdbusmisc.cpp extern int qDBusParametersForMethod(const QMetaMethod &mm, QList<int>& metaTypes); +#endif // QT_BOOTSTRAPPED +extern int qDBusParametersForMethod(const QList<QByteArray> ¶meters, QList<int>& metaTypes); extern bool qDBusCheckAsyncTag(const char *tag); +#ifndef QT_BOOTSTRAPPED extern bool qDBusInterfaceInObject(QObject *obj, const QString &interface_name); extern QString qDBusInterfaceFromMetaObject(const QMetaObject *mo); @@ -348,6 +353,7 @@ extern QDBusMessage qDBusPropertySet(const QDBusConnectionPrivate::ObjectTreeNod const QDBusMessage &msg); extern QDBusMessage qDBusPropertyGetAll(const QDBusConnectionPrivate::ObjectTreeNode &node, const QDBusMessage &msg); +#endif // QT_BOOTSTRAPPED QT_END_NAMESPACE diff --git a/src/dbus/qdbuserror.cpp b/src/dbus/qdbuserror.cpp index 81afe6c483..713ef75a93 100644 --- a/src/dbus/qdbuserror.cpp +++ b/src/dbus/qdbuserror.cpp @@ -44,9 +44,11 @@ #include <qdebug.h> #include <qvarlengtharray.h> +#ifndef QT_BOOTSTRAPPED #include "qdbus_symbols_p.h" #include "qdbusmessage.h" #include "qdbusmessage_p.h" +#endif #ifndef QT_NO_DBUS @@ -239,6 +241,7 @@ static inline QDBusError::ErrorType get(const char *name) \value UnknownObject The remote object could not be found. */ +#ifndef QT_BOOTSTRAPPED /*! \internal Constructs a QDBusError from a DBusError structure. @@ -268,6 +271,7 @@ QDBusError::QDBusError(const QDBusMessage &qdmsg) nm = qdmsg.errorName(); msg = qdmsg.errorMessage(); } +#endif /*! \internal @@ -302,6 +306,7 @@ QDBusError &QDBusError::operator=(const QDBusError &other) return *this; } +#ifndef QT_BOOTSTRAPPED /*! \internal Assignment operator from a QDBusMessage @@ -319,6 +324,7 @@ QDBusError &QDBusError::operator=(const QDBusMessage &qdmsg) } return *this; } +#endif /*! Returns this error's ErrorType. diff --git a/src/dbus/qdbuserror.h b/src/dbus/qdbuserror.h index 3057f88715..b73ad34db1 100644 --- a/src/dbus/qdbuserror.h +++ b/src/dbus/qdbuserror.h @@ -93,12 +93,16 @@ public: #endif }; +#ifndef QT_BOOTSTRAPPED explicit QDBusError(const DBusError *error = 0); /*implicit*/ QDBusError(const QDBusMessage& msg); +#endif QDBusError(ErrorType error, const QString &message); QDBusError(const QDBusError &other); QDBusError &operator=(const QDBusError &other); +#ifndef QT_BOOTSTRAPPED QDBusError &operator=(const QDBusMessage &msg); +#endif ErrorType type() const; QString name() const; diff --git a/src/dbus/qdbusmetatype.cpp b/src/dbus/qdbusmetatype.cpp index 7c8d8cf679..1cbac43441 100644 --- a/src/dbus/qdbusmetatype.cpp +++ b/src/dbus/qdbusmetatype.cpp @@ -49,11 +49,13 @@ #include <qreadwritelock.h> #include <qvector.h> +#include "qdbusmetatype_p.h" +#ifndef QT_BOOTSTRAPPED #include "qdbusmessage.h" #include "qdbusunixfiledescriptor.h" #include "qdbusutil_p.h" -#include "qdbusmetatype_p.h" #include "qdbusargument_p.h" +#endif #ifndef QT_NO_DBUS @@ -73,6 +75,20 @@ Q_DECLARE_METATYPE(QList<double>) QT_BEGIN_NAMESPACE +#ifdef QT_BOOTSTRAPPED +int QDBusMetaTypeId::message = QMetaType::User + 1; +int QDBusMetaTypeId::argument = QMetaType::User + 2; +int QDBusMetaTypeId::variant = QMetaType::User + 3; +int QDBusMetaTypeId::objectpath = QMetaType::User + 4; +int QDBusMetaTypeId::signature = QMetaType::User + 5; +int QDBusMetaTypeId::error = QMetaType::User + 6; +int QDBusMetaTypeId::unixfd = QMetaType::User + 7; + +void QDBusMetaTypeId::init() +{ + +} +#else class QDBusCustomTypeInfo { public: @@ -295,6 +311,7 @@ bool QDBusMetaType::demarshall(const QDBusArgument &arg, int id, void *data) df(copy, data); return true; } +#endif /*! \fn QDBusMetaType::signatureToType(const char *signature) @@ -447,6 +464,7 @@ const char *QDBusMetaType::typeToSignature(int type) else if (type == QDBusMetaTypeId::unixfd) return DBUS_TYPE_UNIX_FD_AS_STRING; +#ifndef QT_BOOTSTRAPPED // try the database QVector<QDBusCustomTypeInfo> *ct = customTypes(); { @@ -476,6 +494,9 @@ const char *QDBusMetaType::typeToSignature(int type) info->signature = signature; } return info->signature; +#else + return 0; +#endif } QT_END_NAMESPACE diff --git a/src/dbus/qdbusmisc.cpp b/src/dbus/qdbusmisc.cpp index 88bab88a13..5b20511422 100644 --- a/src/dbus/qdbusmisc.cpp +++ b/src/dbus/qdbusmisc.cpp @@ -41,14 +41,16 @@ #include <string.h> +#ifndef QT_BOOTSTRAPPED #include <QtCore/qcoreapplication.h> #include <QtCore/qvariant.h> #include <QtCore/qmetaobject.h> #include "qdbusutil_p.h" #include "qdbusconnection_p.h" -#include "qdbusmetatype_p.h" #include "qdbusabstractadaptor_p.h" // for QCLASSINFO_DBUS_* +#endif +#include "qdbusmetatype_p.h" #ifndef QT_NO_DBUS @@ -69,6 +71,8 @@ bool qDBusCheckAsyncTag(const char *tag) return false; } +#ifndef QT_BOOTSTRAPPED + QString qDBusInterfaceFromMetaObject(const QMetaObject *mo) { QString interface; @@ -129,8 +133,13 @@ bool qDBusInterfaceInObject(QObject *obj, const QString &interface_name) int qDBusParametersForMethod(const QMetaMethod &mm, QList<int>& metaTypes) { QDBusMetaTypeId::init(); + return qDBusParametersForMethod(mm.parameterTypes(), metaTypes); +} + +#endif // QT_BOOTSTRAPPED - QList<QByteArray> parameterTypes = mm.parameterTypes(); +int qDBusParametersForMethod(const QList<QByteArray> ¶meterTypes, QList<int>& metaTypes) +{ metaTypes.clear(); metaTypes.append(0); // return type diff --git a/src/dbus/qdbusutil.cpp b/src/dbus/qdbusutil.cpp index bed07692b8..00141bb1cc 100644 --- a/src/dbus/qdbusutil.cpp +++ b/src/dbus/qdbusutil.cpp @@ -76,6 +76,7 @@ static inline bool isValidNumber(QChar c) return (u >= '0' && u <= '9'); } +#ifndef QT_BOOTSTRAPPED static bool argToString(const QDBusArgument &arg, QString &out); static bool variantToString(const QVariant &arg, QString &out) @@ -237,6 +238,7 @@ bool argToString(const QDBusArgument &busArg, QString &out) return true; } +#endif //------- D-Bus Types -------- static const char oneLetterTypes[] = "vsogybnqiuxtdh"; @@ -319,7 +321,11 @@ namespace QDBusUtil { QString out; +#ifndef QT_BOOTSTRAPPED variantToString(arg, out); +#else + Q_UNUSED(arg); +#endif return out; } |