From f1c7c786943e66e45a632491192a8b4a40da45e3 Mon Sep 17 00:00:00 2001 From: Hugo Parente Lima Date: Wed, 1 Jun 2011 15:40:48 -0300 Subject: Port all buffer related code to the new Shiboken buffer interface. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewer: Renato Araújo Luciano Wolf --- PySide/QtCore/typesystem_core.xml | 55 +++++++++++++-------------------------- 1 file changed, 18 insertions(+), 37 deletions(-) (limited to 'PySide/QtCore') diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml index 2e1cbad48..20946454a 100644 --- a/PySide/QtCore/typesystem_core.xml +++ b/PySide/QtCore/typesystem_core.xml @@ -518,9 +518,9 @@ - const uchar* d = %CPPSELF.%FUNCTION_NAME(); + const void* d = %CPPSELF.%FUNCTION_NAME(); if (d) { - %PYARG_0 = PyBuffer_FromMemory(const_cast<uchar*>(d), %CPPSELF.size()); + %PYARG_0 = Shiboken::Buffer::newObject(d, %CPPSELF.size()); } else { Py_INCREF(Py_None); %PYARG_0 = Py_None; @@ -528,21 +528,13 @@ - + @@ -550,7 +542,7 @@ - + @@ -1968,15 +1960,13 @@ - const void* ptr; - Py_ssize_t len; - PyObject_AsReadBuffer(%PYARG_1, &ptr, &len); - %PYARG_0 = %CONVERTTOPYTHON[bool](%CPPSELF.%FUNCTION_NAME((uchar*)ptr)); + uchar* ptr = (uchar*) Shiboken::Buffer::getPointer(%PYARG_1); + %PYARG_0 = %CONVERTTOPYTHON[bool](%CPPSELF.%FUNCTION_NAME(ptr)); - %PYARG_0 = PyBuffer_FromReadWriteMemory(%CPPSELF.%FUNCTION_NAME(%1, %2, %3), %2); + %PYARG_0 = Shiboken::Buffer::newObject(%CPPSELF.%FUNCTION_NAME(%1, %2, %3), %2, Shiboken::Buffer::ReadWrite); @@ -2175,22 +2165,15 @@ - + - PyTypeObject* pyType = %PYARG_1->ob_type; - if (pyType->tp_as_buffer - && pyType->tp_as_buffer->bf_getreadbuffer - && pyType->tp_as_buffer->bf_getsegcount(%PYARG_1, 0) == 1) { - void* ptr; - Py_ssize_t size = pyType->tp_as_buffer->bf_getreadbuffer(%PYARG_1, 0, &ptr); - %PYARG_0 = %CONVERTTOPYTHON[bool](%CPPSELF.%FUNCTION_NAME(const_cast<const uchar*>((uchar*)ptr), size)); - } else { - PyErr_SetString(PyExc_TypeError, "The object must support buffer protocol with just one segment."); - } + Py_ssize_t size; + uchar* ptr = (uchar*) Shiboken::Buffer::getPointer(%PYARG_1, &size); + %PYARG_0 = %CONVERTTOPYTHON[bool](%CPPSELF.%FUNCTION_NAME(const_cast<const uchar*>(ptr), size)); @@ -2309,15 +2292,13 @@ - const void* ptr; - Py_ssize_t len; - PyObject_AsReadBuffer(%PYARG_1, &ptr, &len); - %PYARG_0 = %CONVERTTOPYTHON[bool](%CPPSELF.%FUNCTION_NAME((uchar*)ptr)); + uchar* ptr = (uchar*)Shiboken::Buffer::getPointer(%PYARG_1); + %PYARG_0 = %CONVERTTOPYTHON[bool](%CPPSELF.%FUNCTION_NAME(ptr)); - %PYARG_0 = PyBuffer_FromReadWriteMemory(%CPPSELF.%FUNCTION_NAME(%1, %2, %3), %2); + %PYARG_0 = Shiboken::Buffer::newObject(%CPPSELF.%FUNCTION_NAME(%1, %2, %3), %2, Shiboken::Buffer::ReadWrite); @@ -2983,8 +2964,8 @@ - - + + -- cgit v1.2.3