diff options
Diffstat (limited to 'src/sql/kernel/qsqlresult_p.h')
-rw-r--r-- | src/sql/kernel/qsqlresult_p.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/sql/kernel/qsqlresult_p.h b/src/sql/kernel/qsqlresult_p.h index 34b260d89b..b158618b78 100644 --- a/src/sql/kernel/qsqlresult_p.h +++ b/src/sql/kernel/qsqlresult_p.h @@ -46,12 +46,17 @@ // #include <QtCore/qpointer.h> -#include <QtSql/qsqldriver.h> #include "qsqlerror.h" #include "qsqlresult.h" +#include "qsqldriver.h" QT_BEGIN_NAMESPACE +// convenience method Q*ResultPrivate::drv_d_func() returns pointer to private driver. Compare to Q_DECLARE_PRIVATE in qglobal.h. +#define Q_DECLARE_SQLDRIVER_PRIVATE(Class) \ + inline const Class##Private* drv_d_func() const { return !sqldriver ? nullptr : reinterpret_cast<const Class *>(static_cast<const QSqlDriver*>(sqldriver))->d_func(); } \ + inline Class##Private* drv_d_func() { return !sqldriver ? nullptr : reinterpret_cast<Class *>(static_cast<QSqlDriver*>(sqldriver))->d_func(); } + struct QHolder { QHolder(const QString &hldr = QString(), int index = -1): holderName(hldr), holderPos(index) { } bool operator==(const QHolder &h) const { return h.holderPos == holderPos && h.holderName == holderName; } @@ -62,10 +67,12 @@ struct QHolder { class Q_SQL_EXPORT QSqlResultPrivate { + Q_DECLARE_PUBLIC(QSqlResult) public: - QSqlResultPrivate() - : q_ptr(0), + QSqlResultPrivate(QSqlResult *q, const QSqlDriver *drv) + : q_ptr(q), + sqldriver(const_cast<QSqlDriver*>(drv)), idx(QSql::BeforeFirstRow), active(false), isSel(false), |