diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2012-03-15 12:57:25 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-15 19:36:01 +0100 |
commit | e640c3bcfefe02261cfa74227128da70837cc834 (patch) | |
tree | dc0fff70da401e15c4adea98c839d6b14fee1128 /src/dbus/qdbus_symbols.cpp | |
parent | 43a176804fbfae86e3bccb7f1a84816d4ae9c7ff (diff) |
Make more of QDBus bootstrapping-ready.
The DBus metatype system and marshaller is required for determining
the dbus-signature of built-in Qt types, for example QPoint.
Change-Id: I8860ab3b88827aeb8063dfb79c4a9b28c0a20c0f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus/qdbus_symbols.cpp')
-rw-r--r-- | src/dbus/qdbus_symbols.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/dbus/qdbus_symbols.cpp b/src/dbus/qdbus_symbols.cpp index 7f4d8e7f33..9e3bd5c5d6 100644 --- a/src/dbus/qdbus_symbols.cpp +++ b/src/dbus/qdbus_symbols.cpp @@ -52,6 +52,7 @@ void (*qdbus_resolve_me(const char *name))(); #if !defined QT_LINKED_LIBDBUS +#ifndef QT_BOOTSTRAPPED static QLibrary *qdbus_libdbus = 0; void qdbus_unloadLibDBus() @@ -59,9 +60,11 @@ void qdbus_unloadLibDBus() delete qdbus_libdbus; qdbus_libdbus = 0; } +#endif bool qdbus_loadLibDBus() { +#ifndef QT_BOOTSTRAPPED #ifdef QT_BUILD_INTERNAL // this is to simulate a library load failure for our autotest suite. if (!qgetenv("QT_SIMULATE_DBUS_LIBFAIL").isEmpty()) @@ -93,17 +96,23 @@ bool qdbus_loadLibDBus() delete lib; lib = 0; return false; +#else + return true; +#endif } +#ifndef QT_BOOTSTRAPPED void (*qdbus_resolve_conditionally(const char *name))() { if (qdbus_loadLibDBus()) return qdbus_libdbus->resolve(name); return 0; } +#endif void (*qdbus_resolve_me(const char *name))() { +#ifndef QT_BOOTSTRAPPED if (!qdbus_loadLibDBus()) qFatal("Cannot find libdbus-1 in your system to resolve symbol '%s'.", name); @@ -112,9 +121,15 @@ void (*qdbus_resolve_me(const char *name))() qFatal("Cannot resolve '%s' in your libdbus-1.", name); return ptr; +#else + Q_UNUSED(name); + return 0; +#endif } +#ifndef QT_BOOTSTRAPPED Q_DESTRUCTOR_FUNCTION(qdbus_unloadLibDBus) +#endif #endif // QT_LINKED_LIBDBUS |