pyside_p.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright (C) 2018 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 PYSIDE_P_H
  4. #define PYSIDE_P_H
  5. #include <pysidemacros.h>
  6. #include <dynamicqmetaobject.h>
  7. namespace PySide
  8. {
  9. // Struct associated with QObject's via Shiboken::Object::getTypeUserData()
  10. struct TypeUserData
  11. {
  12. explicit TypeUserData(PyTypeObject *type, const QMetaObject *metaobject, std::size_t size) :
  13. mo(type, metaobject), cppObjSize(size) {}
  14. // Plain wrapped Qt types
  15. explicit TypeUserData(const QMetaObject *metaobject, std::size_t size) :
  16. mo(metaobject), cppObjSize(size) {}
  17. MetaObjectBuilder mo;
  18. std::size_t cppObjSize;
  19. };
  20. TypeUserData *retrieveTypeUserData(PyTypeObject *pyTypeObj);
  21. TypeUserData *retrieveTypeUserData(PyObject *pyObj);
  22. // For QML
  23. PYSIDE_API const QMetaObject *retrieveMetaObject(PyTypeObject *pyTypeObj);
  24. PYSIDE_API const QMetaObject *retrieveMetaObject(PyObject *pyObj);
  25. } //namespace PySide
  26. #endif // PYSIDE_P_H