mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-24 10:52:56 +00:00
QFactoryLoader does not need QObject as base class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
0bfcac7ed2
commit
a1ca746b80
2 changed files with 15 additions and 10 deletions
|
@ -40,12 +40,12 @@ Q_GLOBAL_STATIC(QList<QFactoryLoader *>, qt_factory_loaders)
|
|||
|
||||
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;
|
||||
|
@ -56,6 +56,10 @@ public:
|
|||
QStringList loadedPaths;
|
||||
};
|
||||
|
||||
QFactoryLoaderPrivate::QFactoryLoaderPrivate()
|
||||
{
|
||||
}
|
||||
|
||||
QFactoryLoaderPrivate::~QFactoryLoaderPrivate()
|
||||
{
|
||||
foreach (QLibraryPrivate *library, libraryList)
|
||||
|
@ -65,7 +69,7 @@ QFactoryLoaderPrivate::~QFactoryLoaderPrivate()
|
|||
QFactoryLoader::QFactoryLoader(const char *iid,
|
||||
const QString &suffix,
|
||||
Qt::CaseSensitivity cs)
|
||||
: QObject(*new QFactoryLoaderPrivate)
|
||||
: d_ptr(new QFactoryLoaderPrivate())
|
||||
{
|
||||
Q_D(QFactoryLoader);
|
||||
d->iid = iid;
|
||||
|
@ -185,6 +189,7 @@ QFactoryLoader::~QFactoryLoader()
|
|||
{
|
||||
std::lock_guard<std::recursive_mutex> locker(qGlobalFactoryLoaderMutex);
|
||||
qt_factory_loaders()->removeAll(this);
|
||||
delete d_ptr;
|
||||
}
|
||||
|
||||
QStringList QFactoryLoader::keys() const
|
||||
|
@ -216,8 +221,6 @@ void QFactoryLoader::refreshAll()
|
|||
}
|
||||
}
|
||||
|
||||
#include "moc_qfactoryloader_p.h"
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // QT_NO_LIBRARY
|
||||
|
|
|
@ -43,11 +43,8 @@ QT_BEGIN_NAMESPACE
|
|||
|
||||
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,
|
||||
|
@ -61,6 +58,11 @@ public:
|
|||
void updateDir(const QString &pluginDir);
|
||||
|
||||
static void refreshAll();
|
||||
|
||||
private:
|
||||
QFactoryLoaderPrivate *d_ptr;
|
||||
Q_DECLARE_PRIVATE(QFactoryLoader)
|
||||
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
|
Loading…
Add table
Reference in a new issue