Remove QFactoryInterface from sql drivers
authorLars Knoll <lars.knoll@nokia.com>
Sun, 27 May 2012 03:34:53 +0000 (05:34 +0200)
committerQt by Nokia <qt-info@nokia.com>
Thu, 7 Jun 2012 19:18:36 +0000 (21:18 +0200)
Change-Id: Ib31e6c4ce5264fc1e4281c8846df5630a6479a7c
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
12 files changed:
src/plugins/sqldrivers/db2/main.cpp
src/plugins/sqldrivers/ibase/main.cpp
src/plugins/sqldrivers/mysql/main.cpp
src/plugins/sqldrivers/oci/main.cpp
src/plugins/sqldrivers/odbc/main.cpp
src/plugins/sqldrivers/psql/main.cpp
src/plugins/sqldrivers/sqlite/smain.cpp
src/plugins/sqldrivers/sqlite2/smain.cpp
src/plugins/sqldrivers/tds/main.cpp
src/sql/kernel/qsqldatabase.cpp
src/sql/kernel/qsqldriverplugin.cpp
src/sql/kernel/qsqldriverplugin.h

index 186eacf..8ea36ed 100644 (file)
@@ -54,7 +54,6 @@ public:
     QDB2DriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QDB2DriverPlugin::QDB2DriverPlugin()
@@ -71,11 +70,6 @@ QSqlDriver* QDB2DriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QDB2DriverPlugin::keys() const
-{
-    return QStringList(QStringLiteral("QDB2"));
-}
-
 QT_END_NAMESPACE
 
 #include "main.moc"
index e820c6a..e45aa76 100644 (file)
@@ -54,7 +54,6 @@ public:
     QIBaseDriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QIBaseDriverPlugin::QIBaseDriverPlugin()
@@ -71,11 +70,6 @@ QSqlDriver* QIBaseDriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QIBaseDriverPlugin::keys() const
-{
-    return QStringList(QStringLiteral("QIBASE"));
-}
-
 QT_END_NAMESPACE
 
 #include "main.moc"
index 7093721..9773581 100644 (file)
@@ -54,7 +54,6 @@ public:
     QMYSQLDriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QMYSQLDriverPlugin::QMYSQLDriverPlugin()
@@ -71,14 +70,6 @@ QSqlDriver* QMYSQLDriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QMYSQLDriverPlugin::keys() const
-{
-    QStringList l;
-    l << QLatin1String("QMYSQL3");
-    l << QLatin1String("QMYSQL");
-    return l;
-}
-
 QT_END_NAMESPACE
 
 #include "main.moc"
index 205bfae..f23af7d 100644 (file)
@@ -54,7 +54,6 @@ public:
     QOCIDriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QOCIDriverPlugin::QOCIDriverPlugin()
@@ -71,14 +70,6 @@ QSqlDriver* QOCIDriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QOCIDriverPlugin::keys() const
-{
-    QStringList l;
-    l.append(QLatin1String("QOCI8"));
-    l.append(QLatin1String("QOCI"));
-    return l;
-}
-
 QT_END_NAMESPACE
 
 #include "main.moc"
index c55af6e..c6bc475 100644 (file)
@@ -54,7 +54,6 @@ public:
     QODBCDriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QODBCDriverPlugin::QODBCDriverPlugin()
@@ -71,14 +70,6 @@ QSqlDriver* QODBCDriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QODBCDriverPlugin::keys() const
-{
-    QStringList l;
-    l.append(QLatin1String("QODBC3"));
-    l.append(QLatin1String("QODBC"));
-    return l;
-}
-
 QT_END_NAMESPACE
 
 #include "main.moc"
index 117df56..570e031 100644 (file)
@@ -54,7 +54,6 @@ public:
     QPSQLDriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QPSQLDriverPlugin::QPSQLDriverPlugin()
@@ -71,14 +70,6 @@ QSqlDriver* QPSQLDriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QPSQLDriverPlugin::keys() const
-{
-    QStringList l;
-    l.append(QLatin1String("QPSQL7"));
-    l.append(QLatin1String("QPSQL"));
-    return l;
-}
-
 QT_END_NAMESPACE
 
 #include "main.moc"
index 90ed72e..196d7a9 100644 (file)
@@ -54,7 +54,6 @@ public:
     QSQLiteDriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QSQLiteDriverPlugin::QSQLiteDriverPlugin()
@@ -71,11 +70,6 @@ QSqlDriver* QSQLiteDriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QSQLiteDriverPlugin::keys() const
-{
-    return QStringList(QStringLiteral("QSQLITE"));
-}
-
 QT_END_NAMESPACE
 
 #include "smain.moc"
index 49cfd1c..98a00d9 100644 (file)
@@ -54,7 +54,6 @@ public:
     QSQLite2DriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QSQLite2DriverPlugin::QSQLite2DriverPlugin()
@@ -71,11 +70,6 @@ QSqlDriver* QSQLite2DriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QSQLite2DriverPlugin::keys() const
-{
-    return  QStringList(QStringLiteral("QSQLITE2"));
-}
-
 QT_END_NAMESPACE
 
 #include "smain.moc"
index c63f0e5..6c106b2 100644 (file)
@@ -61,7 +61,6 @@ public:
     QTDSDriverPlugin();
 
     QSqlDriver* create(const QString &);
-    QStringList keys() const;
 };
 
 QTDSDriverPlugin::QTDSDriverPlugin()
@@ -78,14 +77,6 @@ QSqlDriver* QTDSDriverPlugin::create(const QString &name)
     return 0;
 }
 
-QStringList QTDSDriverPlugin::keys() const
-{
-    QStringList l;
-    l.append(QLatin1String("QTDS7"));
-    l.append(QLatin1String("QTDS"));
-    return l;
-}
-
 QT_END_NAMESPACE
 
 #include "main.moc"
index 7e820d9..f4a4cf9 100644 (file)
@@ -778,7 +778,7 @@ void QSqlDatabasePrivate::init(const QString &type)
 
 #ifndef QT_NO_LIBRARY
     if (!driver && loader())
-        driver = qLoadPlugin<QSqlDriver, QSqlDriverFactoryInterface>(loader(), type);
+        driver = qLoadPlugin<QSqlDriver, QSqlDriverPlugin>(loader(), type);
 #endif // QT_NO_LIBRARY
 
     if (!driver) {
index ea28ba2..3477222 100644 (file)
@@ -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}
 */
 
 /*!
index 96dcec0..4af9c8f 100644 (file)
@@ -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;
 
 };