Remove QFactoryInterface from sql drivers

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>
bb10
Lars Knoll 2012-05-27 05:34:53 +02:00 committed by Qt by Nokia
parent ee7fa67eb0
commit 9d3e77f18e
12 changed files with 11 additions and 92 deletions

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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"

View 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) {

View File

@ -55,26 +55,22 @@ 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).
The json file containing the metadata for the plugin contains a list of
keys indicating the supported sql drivers
\code
{ "Keys": [ "mysqldriver" ] }
\endcode
\sa {How to Create Qt Plugins}
*/
/*!
\fn QStringList QSqlDriverPlugin::keys() const
Returns the list of drivers (keys) this plugin supports.
These keys are usually the class names of the custom drivers that
are implemented in the plugin.
\sa create()
*/
/*!
\fn QSqlDriver *QSqlDriverPlugin::create(const QString& key)

View 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;
};