// This is the SIP interface definition for TQByteArray. // // Copyright (c) 2007 // Riverbank Computing Limited // // This file is part of PyTQt. // // This copy of PyTQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2, or (at your option) any later // version. // // PyTQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyTQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %ExportedDoc TQByteArray A Python string can be used whenever a TQByteArray can be used. A TQByteArray can be converted to a Python string using the Python str() function. TQByteArray &assign const char *data uint size Not implemented. char &at uint i Not yet implemented. int contains const char &d Not yet implemented. bool fill const char &d int size = -1 Not yet implemented. int find const char &d uint i = 0 Not yet implemented. void resetRawData const char *data uintsize Not implemented. TQByteArray &setRawData const char *data uintsize Not implemented. %End class TQByteArray { %TypeHeaderCode #include %End public: TQByteArray(); TQByteArray(int); TQByteArray(const TQByteArray &); SIP_PYOBJECT data() const; %MethodCode // TQByteArrays aren't '\0' terminated so set the size // explicitly. char *res; uint len; Py_BEGIN_ALLOW_THREADS res = sipCpp -> data(); len = sipCpp -> size(); Py_END_ALLOW_THREADS if (res) { if ((sipRes = PyString_FromStringAndSize(res,len)) == NULL) sipIsErr = 1; } else { Py_INCREF(Py_None); sipRes = Py_None; } %End // These are actually in TQMemArray, which isn't implemented so pretend // they are here. uint nrefs() const; bool isEmpty() const; bool isNull() const; bool resize(uint); bool truncate(uint); // bool fill(const char &,int = -1); void detach(); TQByteArray copy() const; TQByteArray &assign(const TQByteArray &); // TQByteArray &assign(const char *,uint); TQByteArray &duplicate(const TQByteArray &); TQByteArray &duplicate(const char *,uint); // TQByteArray &setRawData(const char *,uint); // void resetRawData(const char *,uint); // int find(const char &,uint = 0) const; // int contains(const char &) const; // char &at(uint) const; SIP_PYOBJECT __str__(); %MethodCode // TQByteArrays aren't '\0' terminated so set the size // explicitly. char *data; uint len; Py_BEGIN_ALLOW_THREADS data = sipCpp -> data(); len = sipCpp -> size(); Py_END_ALLOW_THREADS if (data == NULL) sipRes = PyString_FromString(""); else sipRes = PyString_FromStringAndSize(data,len); %End %ConvertToTypeCode // Allow a Python string whenever a TQByteArray is expected. if (sipIsErr == NULL) return (PyString_Check(sipPy) || sipCanConvertToInstance(sipPy,sipClass_QByteArray,SIP_NO_CONVERTORS)); if (PyString_Check(sipPy)) { Py_BEGIN_ALLOW_THREADS TQByteArray *ba = new TQByteArray(); ba -> duplicate(PyString_AS_STRING(sipPy),PyString_GET_SIZE(sipPy)); *sipCppPtr = ba; Py_END_ALLOW_THREADS return sipGetState(sipTransferObj); } *sipCppPtr = reinterpret_cast(sipConvertToInstance(sipPy,sipClass_QByteArray,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr)); return 0; %End }; %If (TQt_3_1_0 -) TQByteArray qCompress(const uchar * /Array/,int /ArraySize/); TQByteArray qCompress(const TQByteArray &); TQByteArray qUncompress(const uchar * /Array/,int /ArraySize/); TQByteArray qUncompress(const TQByteArray &); %End