(core) > replaceConverterTypeSystemVariable converterVariable= 2 code=" // ======================================================================== // START of custom code block [file: ../glue/qtcore.cpp (qbytearray-bufferprotocol)] extern "C" { // QByteArray buffer protocol functions // see: http://www.python.org/dev/peps/pep-3118/ static int SbkQByteArray_getbufferproc(PyObject *obj, Py_buffer *view, int flags) { if (!view || !Shiboken::Object::isValid(obj)) return -1; QByteArray * cppSelf = %CONVERTTOCPP[QByteArray *](obj); //XXX /|\ omitting this space crashes shiboken! view->obj = obj; view->buf = reinterpret_cast(cppSelf->data()); view->len = cppSelf->size(); view->readonly = 0; view->itemsize = 1; view->format = const_cast("c"); view->ndim = 1; view->shape = NULL; view->strides = &view->itemsize; view->suboffsets = NULL; view->internal = NULL; Py_XINCREF(obj); return 0; } #if PY_VERSION_HEX < 0x03000000 static Py_ssize_t SbkQByteArray_segcountproc(PyObject *self, Py_ssize_t *lenp) { if (lenp) *lenp = Py_TYPE(self)->tp_as_sequence->sq_length(self); return 1; } static Py_ssize_t SbkQByteArray_readbufferproc(PyObject *self, Py_ssize_t segment, void **ptrptr) { if (segment || !Shiboken::Object::isValid(self)) return -1; QByteArray * cppSelf = %CONVERTTOCPP[QByteArray *](self); //XXX /|\ omitting this space crashes shiboken! *ptrptr = reinterpret_cast(cppSelf->data()); return cppSelf->size(); } PyBufferProcs SbkQByteArrayBufferProc = { /*bf_getreadbuffer*/ &SbkQByteArray_readbufferproc, /*bf_getwritebuffer*/ (writebufferproc) &SbkQByteArray_readbufferproc, /*bf_getsegcount*/ &SbkQByteArray_segcountproc, /*bf_getcharbuffer*/ (charbufferproc) &SbkQByteArray_readbufferproc, /*bf_getbuffer*/ (getbufferproc)SbkQByteArray_getbufferproc, }; #else static PyBufferProcs SbkQByteArrayBufferProc = { /*bf_getbuffer*/ (getbufferproc)SbkQByteArray_getbufferproc, /*bf_releasebuffer*/ (releasebufferproc)0, }; #endif } // END of custom code block [file: ../glue/qtcore.cpp (qbytearray-bufferprotocol)] // ======================================================================== " loop/list=( " cppSelf = %CONVERTTOCPP[QByteArray *]( " " cppSelf " " QByteArray * " ) varType= QByteArray * varType= QByteArray * (normalized) varName= cppSelf loop conversionString=" QByteArray * cppSelf = %CONVERTTOCPP[QByteArray *](obj ", conversion=" ::QByteArray* cppSelf{nullptr}; Shiboken::Conversions::pythonToCppPointer(reinterpret_cast(SbkPySide2_QtCoreTypes[SBK_QBYTEARRAY_IDX]), obj, &(cppSelf) " loop/list=( " cppSelf = %CONVERTTOCPP[QByteArray *]( " " cppSelf " " QByteArray * " ) varType= QByteArray * varType= QByteArray * (normalized) varName= cppSelf loop conversionString=" QByteArray * cppSelf = %CONVERTTOCPP[QByteArray *](self ", conversion=" ::QByteArray* cppSelf{nullptr}; Shiboken::Conversions::pythonToCppPointer(reinterpret_cast(SbkPySide2_QtCoreTypes[SBK_QBYTEARRAY_IDX]), self, &(cppSelf) " < replaceConverterTypeSystemVariable code=" // ======================================================================== // START of custom code block [file: ../glue/qtcore.cpp (qbytearray-bufferprotocol)] extern "C" { // QByteArray buffer protocol functions // see: http://www.python.org/dev/peps/pep-3118/ static int SbkQByteArray_getbufferproc(PyObject *obj, Py_buffer *view, int flags) { if (!view || !Shiboken::Object::isValid(obj)) return -1; ::QByteArray* cppSelf{nullptr}; Shiboken::Conversions::pythonToCppPointer(reinterpret_cast(SbkPySide2_QtCoreTypes[SBK_QBYTEARRAY_IDX]), obj, &(cppSelf)); //XXX /|\ omitting this space crashes shiboken! view->obj = obj; view->buf = reinterpret_cast(cppSelf->data()); view->len = cppSelf->size(); view->readonly = 0; view->itemsize = 1; view->format = const_cast("c"); view->ndim = 1; view->shape = NULL; view->strides = &view->itemsize; view->suboffsets = NULL; view->internal = NULL; Py_XINCREF(obj); return 0; } #if PY_VERSION_HEX < 0x03000000 static Py_ssize_t SbkQByteArray_segcountproc(PyObject *self, Py_ssize_t *lenp) { if (lenp) *lenp = Py_TYPE(self)->tp_as_sequence->sq_length(self); return 1; } static Py_ssize_t SbkQByteArray_readbufferproc(PyObject *self, Py_ssize_t segment, void **ptrptr) { if (segment || !Shiboken::Object::isValid(self)) return -1; ::QByteArray* cppSelf{nullptr}; Shiboken::Conversions::pythonToCppPointer(reinterpret_cast(SbkPySide2_QtCoreTypes[SBK_QBYTEARRAY_IDX]), self, &(cppSelf)); //XXX /|\ omitting this space crashes shiboken! *ptrptr = reinterpret_cast(cppSelf->data()); return cppSelf->size(); } PyBufferProcs SbkQByteArrayBufferProc = { /*bf_getreadbuffer*/ &SbkQByteArray_readbufferproc, /*bf_getwritebuffer*/ (writebufferproc) &SbkQByteArray_readbufferproc, /*bf_getsegcount*/ &SbkQByteArray_segcountproc, /*bf_getcharbuffer*/ (charbufferproc) &SbkQByteArray_readbufferproc, /*bf_getbuffer*/ (getbufferproc)SbkQByteArray_getbufferproc, }; #else static PyBufferProcs SbkQByteArrayBufferProc = { /*bf_getbuffer*/ (getbufferproc)SbkQByteArray_getbufferproc, /*bf_releasebuffer*/ (releasebufferproc)0, }; #endif } // END of custom code block [file: ../glue/qtcore.cpp (qbytearray-bufferprotocol)] // ======================================================================== "