QDB2DriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QDB2DriverPlugin::QDB2DriverPlugin()
return 0;
}
-QStringList QDB2DriverPlugin::keys() const
-{
- return QStringList(QStringLiteral("QDB2"));
-}
-
QT_END_NAMESPACE
#include "main.moc"
QIBaseDriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QIBaseDriverPlugin::QIBaseDriverPlugin()
return 0;
}
-QStringList QIBaseDriverPlugin::keys() const
-{
- return QStringList(QStringLiteral("QIBASE"));
-}
-
QT_END_NAMESPACE
#include "main.moc"
QMYSQLDriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QMYSQLDriverPlugin::QMYSQLDriverPlugin()
return 0;
}
-QStringList QMYSQLDriverPlugin::keys() const
-{
- QStringList l;
- l << QLatin1String("QMYSQL3");
- l << QLatin1String("QMYSQL");
- return l;
-}
-
QT_END_NAMESPACE
#include "main.moc"
QOCIDriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QOCIDriverPlugin::QOCIDriverPlugin()
return 0;
}
-QStringList QOCIDriverPlugin::keys() const
-{
- QStringList l;
- l.append(QLatin1String("QOCI8"));
- l.append(QLatin1String("QOCI"));
- return l;
-}
-
QT_END_NAMESPACE
#include "main.moc"
QODBCDriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QODBCDriverPlugin::QODBCDriverPlugin()
return 0;
}
-QStringList QODBCDriverPlugin::keys() const
-{
- QStringList l;
- l.append(QLatin1String("QODBC3"));
- l.append(QLatin1String("QODBC"));
- return l;
-}
-
QT_END_NAMESPACE
#include "main.moc"
QPSQLDriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QPSQLDriverPlugin::QPSQLDriverPlugin()
return 0;
}
-QStringList QPSQLDriverPlugin::keys() const
-{
- QStringList l;
- l.append(QLatin1String("QPSQL7"));
- l.append(QLatin1String("QPSQL"));
- return l;
-}
-
QT_END_NAMESPACE
#include "main.moc"
QSQLiteDriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QSQLiteDriverPlugin::QSQLiteDriverPlugin()
return 0;
}
-QStringList QSQLiteDriverPlugin::keys() const
-{
- return QStringList(QStringLiteral("QSQLITE"));
-}
-
QT_END_NAMESPACE
#include "smain.moc"
QSQLite2DriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QSQLite2DriverPlugin::QSQLite2DriverPlugin()
return 0;
}
-QStringList QSQLite2DriverPlugin::keys() const
-{
- return QStringList(QStringLiteral("QSQLITE2"));
-}
-
QT_END_NAMESPACE
#include "smain.moc"
QTDSDriverPlugin();
QSqlDriver* create(const QString &);
- QStringList keys() const;
};
QTDSDriverPlugin::QTDSDriverPlugin()
return 0;
}
-QStringList QTDSDriverPlugin::keys() const
-{
- QStringList l;
- l.append(QLatin1String("QTDS7"));
- l.append(QLatin1String("QTDS"));
- return l;
-}
-
QT_END_NAMESPACE
#include "main.moc"
#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) {
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}
*/
/*!
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;
};