From 9d3e77f18e3bd19c1723199f0dfb5af9eabdabe8 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Sun, 27 May 2012 05:34:53 +0200 Subject: Remove QFactoryInterface from sql drivers Change-Id: Ib31e6c4ce5264fc1e4281c8846df5630a6479a7c Reviewed-by: Mark Brand Reviewed-by: Thiago Macieira Reviewed-by: Lars Knoll --- src/sql/kernel/qsqldatabase.cpp | 2 +- src/sql/kernel/qsqldriverplugin.cpp | 20 ++++++++------------ src/sql/kernel/qsqldriverplugin.h | 10 +--------- 3 files changed, 10 insertions(+), 22 deletions(-) (limited to 'src/sql/kernel') diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp index 7e820d9047..f4a4cf9447 100644 --- a/src/sql/kernel/qsqldatabase.cpp +++ b/src/sql/kernel/qsqldatabase.cpp @@ -778,7 +778,7 @@ void QSqlDatabasePrivate::init(const QString &type) #ifndef QT_NO_LIBRARY if (!driver && loader()) - driver = qLoadPlugin(loader(), type); + driver = qLoadPlugin(loader(), type); #endif // QT_NO_LIBRARY if (!driver) { diff --git a/src/sql/kernel/qsqldriverplugin.cpp b/src/sql/kernel/qsqldriverplugin.cpp index ea28ba2aa1..34772222f9 100644 --- a/src/sql/kernel/qsqldriverplugin.cpp +++ b/src/sql/kernel/qsqldriverplugin.cpp @@ -55,24 +55,20 @@ QT_BEGIN_NAMESPACE dynamically by Qt. Writing a SQL plugin is achieved by subclassing this base class, - reimplementing the pure virtual functions keys() and create(), and - exporting the class with the Q_EXPORT_PLUGIN2() macro. See the SQL + reimplementing the pure virtual function create(), and + exporting the class with the Q_PLUGIN_METADATA() macro. See the SQL plugins that come with Qt for example implementations (in the \c{plugins/src/sqldrivers} subdirectory of the source distribution). - \sa {How to Create Qt Plugins} -*/ - -/*! - \fn QStringList QSqlDriverPlugin::keys() const - - Returns the list of drivers (keys) this plugin supports. + The json file containing the metadata for the plugin contains a list of + keys indicating the supported sql drivers - These keys are usually the class names of the custom drivers that - are implemented in the plugin. + \code + { "Keys": [ "mysqldriver" ] } + \endcode - \sa create() + \sa {How to Create Qt Plugins} */ /*! diff --git a/src/sql/kernel/qsqldriverplugin.h b/src/sql/kernel/qsqldriverplugin.h index 96dcec0313..4af9c8f73f 100644 --- a/src/sql/kernel/qsqldriverplugin.h +++ b/src/sql/kernel/qsqldriverplugin.h @@ -52,23 +52,15 @@ QT_BEGIN_NAMESPACE class QSqlDriver; -struct Q_SQL_EXPORT QSqlDriverFactoryInterface : public QFactoryInterface -{ - virtual QSqlDriver *create(const QString &name) = 0; -}; - #define QSqlDriverFactoryInterface_iid "org.qt-project.Qt.QSqlDriverFactoryInterface" -Q_DECLARE_INTERFACE(QSqlDriverFactoryInterface, QSqlDriverFactoryInterface_iid) -class Q_SQL_EXPORT QSqlDriverPlugin : public QObject, public QSqlDriverFactoryInterface +class Q_SQL_EXPORT QSqlDriverPlugin : public QObject { Q_OBJECT - Q_INTERFACES(QSqlDriverFactoryInterface:QFactoryInterface) public: explicit QSqlDriverPlugin(QObject *parent = 0); ~QSqlDriverPlugin(); - virtual QStringList keys() const = 0; virtual QSqlDriver *create(const QString &key) = 0; }; -- cgit v1.2.3