voidptr.h 781 B

123456789101112131415161718192021222324252627282930313233
  1. // Copyright (C) 2017 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 VOIDPTR_H
  4. #define VOIDPTR_H
  5. #include "sbkpython.h"
  6. #include "shibokenmacros.h"
  7. #include "sbkconverter.h"
  8. extern "C"
  9. {
  10. // Void pointer type declaration.
  11. extern LIBSHIBOKEN_API PyTypeObject *SbkVoidPtr_TypeF(void);
  12. } // extern "C"
  13. namespace VoidPtr
  14. {
  15. void init();
  16. SbkConverter *createConverter();
  17. LIBSHIBOKEN_API void addVoidPtrToModule(PyObject *module);
  18. LIBSHIBOKEN_API void setSize(PyObject *voidPtr, Py_ssize_t size);
  19. LIBSHIBOKEN_API Py_ssize_t getSize(PyObject *voidPtr);
  20. LIBSHIBOKEN_API bool isWritable(PyObject *voidPtr);
  21. LIBSHIBOKEN_API void setWritable(PyObject *voidPtr, bool isWritable);
  22. }
  23. #endif // VOIDPTR_H