pyside6_qtsql_python.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. // Copyright (C) 2022 The Qt Company Ltd.
  2. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
  3. #ifndef SBK_QTSQL_PYTHON_H
  4. #define SBK_QTSQL_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtwidgets_python.h>
  10. #include <pyside6_qtgui_python.h>
  11. #include <pyside6_qtcore_python.h>
  12. // Bound library includes
  13. #include <QtSql/qsqldriver.h>
  14. #include <QtSql/qsqlerror.h>
  15. #include <QtSql/qsqlfield.h>
  16. #include <QtSql/qsqlquery.h>
  17. #include <QtSql/qsqlrelationaltablemodel.h>
  18. #include <QtSql/qsqlresult.h>
  19. #include <QtSql/qsqltablemodel.h>
  20. #include <QtSql/qtsqlglobal.h>
  21. QT_BEGIN_NAMESPACE
  22. class QSqlDatabase;
  23. class QSqlDriverCreatorBase;
  24. class QSqlIndex;
  25. class QSqlQueryModel;
  26. class QSqlRecord;
  27. class QSqlRelation;
  28. class QSqlRelationalDelegate;
  29. QT_END_NAMESPACE
  30. // Type indices
  31. enum [[deprecated]] : int {
  32. SBK_QSQL_LOCATION_IDX = 4,
  33. SBK_QSQL_PARAMTYPEFLAG_IDX = 8,
  34. SBK_QFLAGS_QSQL_PARAMTYPEFLAG_IDX = 0,
  35. SBK_QSQL_TABLETYPE_IDX = 10,
  36. SBK_QSQL_NUMERICALPRECISIONPOLICY_IDX = 6,
  37. SBK_QTSQLQSQL_IDX = 2,
  38. SBK_QSQLDATABASE_IDX = 12,
  39. SBK_QSQLDRIVER_DRIVERFEATURE_IDX = 18,
  40. SBK_QSQLDRIVER_STATEMENTTYPE_IDX = 24,
  41. SBK_QSQLDRIVER_IDENTIFIERTYPE_IDX = 20,
  42. SBK_QSQLDRIVER_NOTIFICATIONSOURCE_IDX = 22,
  43. SBK_QSQLDRIVER_DBMSTYPE_IDX = 16,
  44. SBK_QSQLDRIVER_IDX = 14,
  45. SBK_QSQLDRIVERCREATORBASE_IDX = 26,
  46. SBK_QSQLERROR_ERRORTYPE_IDX = 30,
  47. SBK_QSQLERROR_IDX = 28,
  48. SBK_QSQLFIELD_REQUIREDSTATUS_IDX = 34,
  49. SBK_QSQLFIELD_IDX = 32,
  50. SBK_QSQLINDEX_IDX = 36,
  51. SBK_QSQLQUERY_BATCHEXECUTIONMODE_IDX = 40,
  52. SBK_QSQLQUERY_IDX = 38,
  53. SBK_QSQLQUERYMODEL_IDX = 42,
  54. SBK_QSQLRECORD_IDX = 44,
  55. SBK_QSQLRELATION_IDX = 46,
  56. SBK_QSQLRELATIONALDELEGATE_IDX = 48,
  57. SBK_QSQLRELATIONALTABLEMODEL_JOINMODE_IDX = 52,
  58. SBK_QSQLRELATIONALTABLEMODEL_IDX = 50,
  59. SBK_QSQLRESULT_BINDINGSYNTAX_IDX = 56,
  60. SBK_QSQLRESULT_VIRTUALHOOKOPERATION_IDX = 58,
  61. SBK_QSQLRESULT_IDX = 54,
  62. SBK_QSQLTABLEMODEL_EDITSTRATEGY_IDX = 62,
  63. SBK_QSQLTABLEMODEL_IDX = 60,
  64. SBK_QTSQL_IDX_COUNT = 64,
  65. };
  66. // Type indices
  67. enum : int {
  68. SBK_QSql_Location_IDX = 2,
  69. SBK_QSql_ParamTypeFlag_IDX = 4,
  70. SBK_QFlags_QSql_ParamTypeFlag_IDX = 0,
  71. SBK_QSql_TableType_IDX = 5,
  72. SBK_QSql_NumericalPrecisionPolicy_IDX = 3,
  73. SBK_QtSqlQSql_IDX = 1,
  74. SBK_QSqlDatabase_IDX = 6,
  75. SBK_QSqlDriver_DriverFeature_IDX = 9,
  76. SBK_QSqlDriver_StatementType_IDX = 12,
  77. SBK_QSqlDriver_IdentifierType_IDX = 10,
  78. SBK_QSqlDriver_NotificationSource_IDX = 11,
  79. SBK_QSqlDriver_DbmsType_IDX = 8,
  80. SBK_QSqlDriver_IDX = 7,
  81. SBK_QSqlDriverCreatorBase_IDX = 13,
  82. SBK_QSqlError_ErrorType_IDX = 15,
  83. SBK_QSqlError_IDX = 14,
  84. SBK_QSqlField_RequiredStatus_IDX = 17,
  85. SBK_QSqlField_IDX = 16,
  86. SBK_QSqlIndex_IDX = 18,
  87. SBK_QSqlQuery_BatchExecutionMode_IDX = 20,
  88. SBK_QSqlQuery_IDX = 19,
  89. SBK_QSqlQueryModel_IDX = 21,
  90. SBK_QSqlRecord_IDX = 22,
  91. SBK_QSqlRelation_IDX = 23,
  92. SBK_QSqlRelationalDelegate_IDX = 24,
  93. SBK_QSqlRelationalTableModel_JoinMode_IDX = 26,
  94. SBK_QSqlRelationalTableModel_IDX = 25,
  95. SBK_QSqlResult_BindingSyntax_IDX = 28,
  96. SBK_QSqlResult_VirtualHookOperation_IDX = 29,
  97. SBK_QSqlResult_IDX = 27,
  98. SBK_QSqlTableModel_EditStrategy_IDX = 31,
  99. SBK_QSqlTableModel_IDX = 30,
  100. SBK_QtSql_IDX_COUNT = 32,
  101. };
  102. // This variable stores all Python types exported by this module.
  103. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtSqlTypeStructs;
  104. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  105. [[deprecated]] extern PyTypeObject **SbkPySide6_QtSqlTypes;
  106. // This variable stores the Python module object exported by this module.
  107. extern PyObject *SbkPySide6_QtSqlModuleObject;
  108. // This variable stores all type converters exported by this module.
  109. extern SbkConverter **SbkPySide6_QtSqlTypeConverters;
  110. // Converter indices
  111. enum [[deprecated]] : int {
  112. SBK_QTSQL_QLIST_INT_IDX = 0, // QList<int>
  113. SBK_QTSQL_QLIST_QVARIANT_IDX = 1, // QList<QVariant>
  114. SBK_QTSQL_QMAP_INT_QVARIANT_IDX = 2, // QMap<int,QVariant>
  115. SBK_QTSQL_QLIST_QMODELINDEX_IDX = 3, // QList<QModelIndex>
  116. SBK_QTSQL_QHASH_INT_QBYTEARRAY_IDX = 4, // QHash<int,QByteArray>
  117. SBK_QTSQL_QLIST_QSTRING_IDX = 5, // QList<QString>
  118. SBK_QTSQL_QMAP_QSTRING_QVARIANT_IDX = 6, // QMap<QString,QVariant>
  119. SBK_QTSQL_CONVERTERS_IDX_COUNT = 7,
  120. };
  121. // Converter indices
  122. enum : int {
  123. SBK_QtSql_QList_int_IDX = 0, // QList<int>
  124. SBK_QtSql_QList_QVariant_IDX = 1, // QList<QVariant>
  125. SBK_QtSql_QMap_int_QVariant_IDX = 2, // QMap<int,QVariant>
  126. SBK_QtSql_QList_QModelIndex_IDX = 3, // QList<QModelIndex>
  127. SBK_QtSql_QHash_int_QByteArray_IDX = 4, // QHash<int,QByteArray>
  128. SBK_QtSql_QList_QString_IDX = 5, // QList<QString>
  129. SBK_QtSql_QMap_QString_QVariant_IDX = 6, // QMap<QString,QVariant>
  130. SBK_QtSql_CONVERTERS_IDX_COUNT = 7,
  131. };
  132. // Macros for type check
  133. // Protected enum surrogates
  134. enum PySide6_QtSql_QSqlResult_BindingSyntax_Surrogate : int {};
  135. enum PySide6_QtSql_QSqlResult_VirtualHookOperation_Surrogate : int {};
  136. QT_WARNING_PUSH
  137. QT_WARNING_DISABLE_DEPRECATED
  138. namespace Shiboken
  139. {
  140. // PyType functions, to get the PyObjectType for a type T
  141. template<> inline PyTypeObject *SbkType< ::QSql::Location >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSql_Location_IDX]); }
  142. template<> inline PyTypeObject *SbkType< ::QSql::ParamTypeFlag >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSql_ParamTypeFlag_IDX]); }
  143. template<> inline PyTypeObject *SbkType< ::QFlags<QSql::ParamTypeFlag> >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QFlags_QSql_ParamTypeFlag_IDX]); }
  144. template<> inline PyTypeObject *SbkType< ::QSql::TableType >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSql_TableType_IDX]); }
  145. template<> inline PyTypeObject *SbkType< ::QSql::NumericalPrecisionPolicy >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSql_NumericalPrecisionPolicy_IDX]); }
  146. template<> inline PyTypeObject *SbkType< ::QSqlDatabase >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDatabase_IDX]); }
  147. template<> inline PyTypeObject *SbkType< ::QSqlDriver::DriverFeature >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDriver_DriverFeature_IDX]); }
  148. template<> inline PyTypeObject *SbkType< ::QSqlDriver::StatementType >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDriver_StatementType_IDX]); }
  149. template<> inline PyTypeObject *SbkType< ::QSqlDriver::IdentifierType >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDriver_IdentifierType_IDX]); }
  150. template<> inline PyTypeObject *SbkType< ::QSqlDriver::NotificationSource >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDriver_NotificationSource_IDX]); }
  151. template<> inline PyTypeObject *SbkType< ::QSqlDriver::DbmsType >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDriver_DbmsType_IDX]); }
  152. template<> inline PyTypeObject *SbkType< ::QSqlDriver >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDriver_IDX]); }
  153. template<> inline PyTypeObject *SbkType< ::QSqlDriverCreatorBase >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlDriverCreatorBase_IDX]); }
  154. template<> inline PyTypeObject *SbkType< ::QSqlError::ErrorType >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlError_ErrorType_IDX]); }
  155. template<> inline PyTypeObject *SbkType< ::QSqlError >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlError_IDX]); }
  156. template<> inline PyTypeObject *SbkType< ::QSqlField::RequiredStatus >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlField_RequiredStatus_IDX]); }
  157. template<> inline PyTypeObject *SbkType< ::QSqlField >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlField_IDX]); }
  158. template<> inline PyTypeObject *SbkType< ::QSqlIndex >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlIndex_IDX]); }
  159. template<> inline PyTypeObject *SbkType< ::QSqlQuery::BatchExecutionMode >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlQuery_BatchExecutionMode_IDX]); }
  160. template<> inline PyTypeObject *SbkType< ::QSqlQuery >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlQuery_IDX]); }
  161. template<> inline PyTypeObject *SbkType< ::QSqlQueryModel >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlQueryModel_IDX]); }
  162. template<> inline PyTypeObject *SbkType< ::QSqlRecord >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlRecord_IDX]); }
  163. template<> inline PyTypeObject *SbkType< ::QSqlRelation >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlRelation_IDX]); }
  164. template<> inline PyTypeObject *SbkType< ::QSqlRelationalDelegate >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlRelationalDelegate_IDX]); }
  165. template<> inline PyTypeObject *SbkType< ::QSqlRelationalTableModel::JoinMode >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlRelationalTableModel_JoinMode_IDX]); }
  166. template<> inline PyTypeObject *SbkType< ::QSqlRelationalTableModel >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlRelationalTableModel_IDX]); }
  167. template<> inline PyTypeObject *SbkType< ::PySide6_QtSql_QSqlResult_BindingSyntax_Surrogate >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlResult_BindingSyntax_IDX]); }
  168. template<> inline PyTypeObject *SbkType< ::PySide6_QtSql_QSqlResult_VirtualHookOperation_Surrogate >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlResult_VirtualHookOperation_IDX]); }
  169. template<> inline PyTypeObject *SbkType< ::QSqlResult >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlResult_IDX]); }
  170. template<> inline PyTypeObject *SbkType< ::QSqlTableModel::EditStrategy >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlTableModel_EditStrategy_IDX]); }
  171. template<> inline PyTypeObject *SbkType< ::QSqlTableModel >() { return Shiboken::Module::get(SbkPySide6_QtSqlTypeStructs[SBK_QSqlTableModel_IDX]); }
  172. } // namespace Shiboken
  173. QT_WARNING_POP
  174. #endif // SBK_QTSQL_PYTHON_H