pyside6_qtwebsockets_python.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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_QTWEBSOCKETS_PYTHON_H
  4. #define SBK_QTWEBSOCKETS_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtcore_python.h>
  10. #include <pyside6_qtnetwork_python.h>
  11. // Bound library includes
  12. #include <QtWebSockets/qwebsocketprotocol.h>
  13. #include <QtWebSockets/qwebsocketserver.h>
  14. QT_BEGIN_NAMESPACE
  15. class QMaskGenerator;
  16. class QWebSocket;
  17. class QWebSocketCorsAuthenticator;
  18. class QWebSocketHandshakeOptions;
  19. QT_END_NAMESPACE
  20. // Type indices
  21. enum [[deprecated]] : int {
  22. SBK_QMASKGENERATOR_IDX = 0,
  23. SBK_QWEBSOCKET_IDX = 2,
  24. SBK_QWEBSOCKETCORSAUTHENTICATOR_IDX = 4,
  25. SBK_QWEBSOCKETHANDSHAKEOPTIONS_IDX = 6,
  26. SBK_QWEBSOCKETPROTOCOL_VERSION_IDX = 12,
  27. SBK_QWEBSOCKETPROTOCOL_CLOSECODE_IDX = 10,
  28. SBK_QTWEBSOCKETSQWEBSOCKETPROTOCOL_IDX = 8,
  29. SBK_QWEBSOCKETSERVER_SSLMODE_IDX = 16,
  30. SBK_QWEBSOCKETSERVER_IDX = 14,
  31. SBK_QTWEBSOCKETS_IDX_COUNT = 18,
  32. };
  33. // Type indices
  34. enum : int {
  35. SBK_QMaskGenerator_IDX = 0,
  36. SBK_QWebSocket_IDX = 1,
  37. SBK_QWebSocketCorsAuthenticator_IDX = 2,
  38. SBK_QWebSocketHandshakeOptions_IDX = 3,
  39. SBK_QWebSocketProtocol_Version_IDX = 6,
  40. SBK_QWebSocketProtocol_CloseCode_IDX = 5,
  41. SBK_QtWebSocketsQWebSocketProtocol_IDX = 4,
  42. SBK_QWebSocketServer_SslMode_IDX = 8,
  43. SBK_QWebSocketServer_IDX = 7,
  44. SBK_QtWebSockets_IDX_COUNT = 9,
  45. };
  46. // This variable stores all Python types exported by this module.
  47. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtWebSocketsTypeStructs;
  48. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  49. [[deprecated]] extern PyTypeObject **SbkPySide6_QtWebSocketsTypes;
  50. // This variable stores the Python module object exported by this module.
  51. extern PyObject *SbkPySide6_QtWebSocketsModuleObject;
  52. // This variable stores all type converters exported by this module.
  53. extern SbkConverter **SbkPySide6_QtWebSocketsTypeConverters;
  54. // Converter indices
  55. enum [[deprecated]] : int {
  56. SBK_QTWEBSOCKETS_QLIST_INT_IDX = 0, // QList<int>
  57. SBK_QTWEBSOCKETS_QLIST_QSSLERROR_IDX = 1, // QList<QSslError>
  58. SBK_QTWEBSOCKETS_QLIST_QWEBSOCKETPROTOCOL_VERSION_IDX = 2, // QList<QWebSocketProtocol::Version>
  59. SBK_QTWEBSOCKETS_QLIST_QVARIANT_IDX = 3, // QList<QVariant>
  60. SBK_QTWEBSOCKETS_QLIST_QSTRING_IDX = 4, // QList<QString>
  61. SBK_QTWEBSOCKETS_QMAP_QSTRING_QVARIANT_IDX = 5, // QMap<QString,QVariant>
  62. SBK_QTWEBSOCKETS_CONVERTERS_IDX_COUNT = 6,
  63. };
  64. // Converter indices
  65. enum : int {
  66. SBK_QtWebSockets_QList_int_IDX = 0, // QList<int>
  67. SBK_QtWebSockets_QList_QSslError_IDX = 1, // QList<QSslError>
  68. SBK_QtWebSockets_QList_QWebSocketProtocol_Version_IDX = 2, // QList<QWebSocketProtocol::Version>
  69. SBK_QtWebSockets_QList_QVariant_IDX = 3, // QList<QVariant>
  70. SBK_QtWebSockets_QList_QString_IDX = 4, // QList<QString>
  71. SBK_QtWebSockets_QMap_QString_QVariant_IDX = 5, // QMap<QString,QVariant>
  72. SBK_QtWebSockets_CONVERTERS_IDX_COUNT = 6,
  73. };
  74. // Macros for type check
  75. QT_WARNING_PUSH
  76. QT_WARNING_DISABLE_DEPRECATED
  77. namespace Shiboken
  78. {
  79. // PyType functions, to get the PyObjectType for a type T
  80. template<> inline PyTypeObject *SbkType< ::QMaskGenerator >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QMaskGenerator_IDX]); }
  81. template<> inline PyTypeObject *SbkType< ::QWebSocket >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QWebSocket_IDX]); }
  82. template<> inline PyTypeObject *SbkType< ::QWebSocketCorsAuthenticator >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QWebSocketCorsAuthenticator_IDX]); }
  83. template<> inline PyTypeObject *SbkType< ::QWebSocketHandshakeOptions >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QWebSocketHandshakeOptions_IDX]); }
  84. template<> inline PyTypeObject *SbkType< ::QWebSocketProtocol::Version >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QWebSocketProtocol_Version_IDX]); }
  85. template<> inline PyTypeObject *SbkType< ::QWebSocketProtocol::CloseCode >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QWebSocketProtocol_CloseCode_IDX]); }
  86. template<> inline PyTypeObject *SbkType< ::QWebSocketServer::SslMode >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QWebSocketServer_SslMode_IDX]); }
  87. template<> inline PyTypeObject *SbkType< ::QWebSocketServer >() { return Shiboken::Module::get(SbkPySide6_QtWebSocketsTypeStructs[SBK_QWebSocketServer_IDX]); }
  88. } // namespace Shiboken
  89. QT_WARNING_POP
  90. #endif // SBK_QTWEBSOCKETS_PYTHON_H