static std::recursive_mutex qGlobalFactoryLoaderMutex;
-class QFactoryLoaderPrivate : public QObjectPrivate
+class QFactoryLoaderPrivate
{
- Q_DECLARE_PUBLIC(QFactoryLoader)
public:
- QFactoryLoaderPrivate(){}
+ QFactoryLoaderPrivate();
~QFactoryLoaderPrivate();
+
mutable QMutex mutex;
QByteArray iid;
QList<QLibraryPrivate*> libraryList;
QStringList loadedPaths;
};
+QFactoryLoaderPrivate::QFactoryLoaderPrivate()
+{
+}
+
QFactoryLoaderPrivate::~QFactoryLoaderPrivate()
{
foreach (QLibraryPrivate *library, libraryList)
QFactoryLoader::QFactoryLoader(const char *iid,
const QString &suffix,
Qt::CaseSensitivity cs)
- : QObject(*new QFactoryLoaderPrivate)
+ : d_ptr(new QFactoryLoaderPrivate())
{
Q_D(QFactoryLoader);
d->iid = iid;
{
std::lock_guard<std::recursive_mutex> locker(qGlobalFactoryLoaderMutex);
qt_factory_loaders()->removeAll(this);
+ delete d_ptr;
}
QStringList QFactoryLoader::keys() const
}
}
-#include "moc_qfactoryloader_p.h"
-
QT_END_NAMESPACE
#endif // QT_NO_LIBRARY
class QFactoryLoaderPrivate;
-class Q_CORE_EXPORT QFactoryLoader : public QObject
+class Q_CORE_EXPORT QFactoryLoader
{
- Q_OBJECT
- Q_DECLARE_PRIVATE(QFactoryLoader)
-
public:
QFactoryLoader(const char *iid,
const QString &suffix,
void updateDir(const QString &pluginDir);
static void refreshAll();
+
+private:
+ QFactoryLoaderPrivate *d_ptr;
+ Q_DECLARE_PRIVATE(QFactoryLoader)
+
};
QT_END_NAMESPACE