pyside6_qtscxml_python.h 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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_QTSCXML_PYTHON_H
  4. #define SBK_QTSCXML_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtcore_python.h>
  10. // Bound library includes
  11. #include <QtScxml/qscxmlcompiler.h>
  12. #include <QtScxml/qscxmldatamodel.h>
  13. #include <QtScxml/qscxmlevent.h>
  14. #include <QtScxml/qscxmlexecutablecontent.h>
  15. QT_BEGIN_NAMESPACE
  16. class QScxmlCppDataModel;
  17. class QScxmlDynamicScxmlServiceFactory;
  18. class QScxmlError;
  19. class QScxmlInvokableService;
  20. class QScxmlInvokableServiceFactory;
  21. class QScxmlNullDataModel;
  22. class QScxmlStateMachine;
  23. class QScxmlStaticScxmlServiceFactory;
  24. class QScxmlTableData;
  25. namespace QScxmlExecutableContent {
  26. struct AssignmentInfo;
  27. struct EvaluatorInfo;
  28. struct ForeachInfo;
  29. struct InvokeInfo;
  30. struct ParameterInfo;
  31. }
  32. QT_END_NAMESPACE
  33. // Type indices
  34. enum [[deprecated]] : int {
  35. SBK_QSCXMLCOMPILER_IDX = 0,
  36. SBK_QSCXMLCOMPILER_LOADER_IDX = 2,
  37. SBK_QSCXMLCPPDATAMODEL_IDX = 4,
  38. SBK_QSCXMLDATAMODEL_IDX = 6,
  39. SBK_QSCXMLDATAMODEL_FOREACHLOOPBODY_IDX = 8,
  40. SBK_QSCXMLDYNAMICSCXMLSERVICEFACTORY_IDX = 10,
  41. SBK_QSCXMLERROR_IDX = 12,
  42. SBK_QSCXMLEVENT_EVENTTYPE_IDX = 16,
  43. SBK_QSCXMLEVENT_IDX = 14,
  44. SBK_QTSCXMLQSCXMLEXECUTABLECONTENT_IDX = 18,
  45. SBK_QSCXMLEXECUTABLECONTENT_ASSIGNMENTINFO_IDX = 20,
  46. SBK_QSCXMLEXECUTABLECONTENT_EVALUATORINFO_IDX = 22,
  47. SBK_QSCXMLEXECUTABLECONTENT_FOREACHINFO_IDX = 24,
  48. SBK_QSCXMLEXECUTABLECONTENT_INVOKEINFO_IDX = 26,
  49. SBK_QSCXMLEXECUTABLECONTENT_PARAMETERINFO_IDX = 28,
  50. SBK_QSCXMLINVOKABLESERVICE_IDX = 30,
  51. SBK_QSCXMLINVOKABLESERVICEFACTORY_IDX = 32,
  52. SBK_QSCXMLNULLDATAMODEL_IDX = 34,
  53. SBK_QSCXMLSTATEMACHINE_IDX = 36,
  54. SBK_QSCXMLSTATICSCXMLSERVICEFACTORY_IDX = 38,
  55. SBK_QSCXMLTABLEDATA_IDX = 40,
  56. SBK_QTSCXML_IDX_COUNT = 42,
  57. };
  58. // Type indices
  59. enum : int {
  60. SBK_QScxmlCompiler_IDX = 0,
  61. SBK_QScxmlCompiler_Loader_IDX = 1,
  62. SBK_QScxmlCppDataModel_IDX = 2,
  63. SBK_QScxmlDataModel_IDX = 3,
  64. SBK_QScxmlDataModel_ForeachLoopBody_IDX = 4,
  65. SBK_QScxmlDynamicScxmlServiceFactory_IDX = 5,
  66. SBK_QScxmlError_IDX = 6,
  67. SBK_QScxmlEvent_EventType_IDX = 8,
  68. SBK_QScxmlEvent_IDX = 7,
  69. SBK_QtScxmlQScxmlExecutableContent_IDX = 9,
  70. SBK_QScxmlExecutableContent_AssignmentInfo_IDX = 10,
  71. SBK_QScxmlExecutableContent_EvaluatorInfo_IDX = 11,
  72. SBK_QScxmlExecutableContent_ForeachInfo_IDX = 12,
  73. SBK_QScxmlExecutableContent_InvokeInfo_IDX = 13,
  74. SBK_QScxmlExecutableContent_ParameterInfo_IDX = 14,
  75. SBK_QScxmlInvokableService_IDX = 15,
  76. SBK_QScxmlInvokableServiceFactory_IDX = 16,
  77. SBK_QScxmlNullDataModel_IDX = 17,
  78. SBK_QScxmlStateMachine_IDX = 18,
  79. SBK_QScxmlStaticScxmlServiceFactory_IDX = 19,
  80. SBK_QScxmlTableData_IDX = 20,
  81. SBK_QtScxml_IDX_COUNT = 21,
  82. };
  83. // This variable stores all Python types exported by this module.
  84. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtScxmlTypeStructs;
  85. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  86. [[deprecated]] extern PyTypeObject **SbkPySide6_QtScxmlTypes;
  87. // This variable stores the Python module object exported by this module.
  88. extern PyObject *SbkPySide6_QtScxmlModuleObject;
  89. // This variable stores all type converters exported by this module.
  90. extern SbkConverter **SbkPySide6_QtScxmlTypeConverters;
  91. // Converter indices
  92. enum [[deprecated]] : int {
  93. SBK_QTSCXML_QLIST_INT_IDX = 0, // QList<int>
  94. SBK_QTSCXML_QLIST_QSCXMLERROR_IDX = 1, // QList<QScxmlError>
  95. SBK_QTSCXML_QMAP_QSTRING_QVARIANT_IDX = 2, // QMap<QString,QVariant>
  96. SBK_QTSCXML_QLIST_QSCXMLINVOKABLESERVICEPTR_IDX = 3, // QList<QScxmlInvokableService*>
  97. SBK_QTSCXML_QLIST_QSCXMLEXECUTABLECONTENT_PARAMETERINFO_IDX = 4, // QList<QScxmlExecutableContent::ParameterInfo>
  98. SBK_QTSCXML_QLIST_QVARIANT_IDX = 5, // QList<QVariant>
  99. SBK_QTSCXML_QLIST_QSTRING_IDX = 6, // QList<QString>
  100. SBK_QTSCXML_CONVERTERS_IDX_COUNT = 7,
  101. };
  102. // Converter indices
  103. enum : int {
  104. SBK_QtScxml_QList_int_IDX = 0, // QList<int>
  105. SBK_QtScxml_QList_QScxmlError_IDX = 1, // QList<QScxmlError>
  106. SBK_QtScxml_QMap_QString_QVariant_IDX = 2, // QMap<QString,QVariant>
  107. SBK_QtScxml_QList_QScxmlInvokableServicePTR_IDX = 3, // QList<QScxmlInvokableService*>
  108. SBK_QtScxml_QList_QScxmlExecutableContent_ParameterInfo_IDX = 4, // QList<QScxmlExecutableContent::ParameterInfo>
  109. SBK_QtScxml_QList_QVariant_IDX = 5, // QList<QVariant>
  110. SBK_QtScxml_QList_QString_IDX = 6, // QList<QString>
  111. SBK_QtScxml_CONVERTERS_IDX_COUNT = 7,
  112. };
  113. // Macros for type check
  114. QT_WARNING_PUSH
  115. QT_WARNING_DISABLE_DEPRECATED
  116. namespace Shiboken
  117. {
  118. // PyType functions, to get the PyObjectType for a type T
  119. template<> inline PyTypeObject *SbkType< ::QScxmlCompiler >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlCompiler_IDX]); }
  120. template<> inline PyTypeObject *SbkType< ::QScxmlCompiler::Loader >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlCompiler_Loader_IDX]); }
  121. template<> inline PyTypeObject *SbkType< ::QScxmlCppDataModel >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlCppDataModel_IDX]); }
  122. template<> inline PyTypeObject *SbkType< ::QScxmlDataModel >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlDataModel_IDX]); }
  123. template<> inline PyTypeObject *SbkType< ::QScxmlDataModel::ForeachLoopBody >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlDataModel_ForeachLoopBody_IDX]); }
  124. template<> inline PyTypeObject *SbkType< ::QScxmlDynamicScxmlServiceFactory >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlDynamicScxmlServiceFactory_IDX]); }
  125. template<> inline PyTypeObject *SbkType< ::QScxmlError >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlError_IDX]); }
  126. template<> inline PyTypeObject *SbkType< ::QScxmlEvent::EventType >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlEvent_EventType_IDX]); }
  127. template<> inline PyTypeObject *SbkType< ::QScxmlEvent >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlEvent_IDX]); }
  128. template<> inline PyTypeObject *SbkType< ::QScxmlExecutableContent::AssignmentInfo >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlExecutableContent_AssignmentInfo_IDX]); }
  129. template<> inline PyTypeObject *SbkType< ::QScxmlExecutableContent::EvaluatorInfo >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlExecutableContent_EvaluatorInfo_IDX]); }
  130. template<> inline PyTypeObject *SbkType< ::QScxmlExecutableContent::ForeachInfo >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlExecutableContent_ForeachInfo_IDX]); }
  131. template<> inline PyTypeObject *SbkType< ::QScxmlExecutableContent::InvokeInfo >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlExecutableContent_InvokeInfo_IDX]); }
  132. template<> inline PyTypeObject *SbkType< ::QScxmlExecutableContent::ParameterInfo >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlExecutableContent_ParameterInfo_IDX]); }
  133. template<> inline PyTypeObject *SbkType< ::QScxmlInvokableService >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlInvokableService_IDX]); }
  134. template<> inline PyTypeObject *SbkType< ::QScxmlInvokableServiceFactory >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlInvokableServiceFactory_IDX]); }
  135. template<> inline PyTypeObject *SbkType< ::QScxmlNullDataModel >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlNullDataModel_IDX]); }
  136. template<> inline PyTypeObject *SbkType< ::QScxmlStateMachine >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlStateMachine_IDX]); }
  137. template<> inline PyTypeObject *SbkType< ::QScxmlStaticScxmlServiceFactory >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlStaticScxmlServiceFactory_IDX]); }
  138. template<> inline PyTypeObject *SbkType< ::QScxmlTableData >() { return Shiboken::Module::get(SbkPySide6_QtScxmlTypeStructs[SBK_QScxmlTableData_IDX]); }
  139. } // namespace Shiboken
  140. QT_WARNING_POP
  141. #endif // SBK_QTSCXML_PYTHON_H