summaryrefslogtreecommitdiffstats
path: root/sip/tqt/tqbytearray.sip
diff options
context:
space:
mode:
Diffstat (limited to 'sip/tqt/tqbytearray.sip')
-rw-r--r--sip/tqt/tqbytearray.sip244
1 files changed, 244 insertions, 0 deletions
diff --git a/sip/tqt/tqbytearray.sip b/sip/tqt/tqbytearray.sip
new file mode 100644
index 0000000..f25ecd6
--- /dev/null
+++ b/sip/tqt/tqbytearray.sip
@@ -0,0 +1,244 @@
+// This is the SIP interface definition for TQByteArray.
+//
+// Copyright (c) 2007
+// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
+//
+// 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
+<Sect2><Title>TQByteArray</Title>
+<Para>
+A Python string can be used whenever a <Literal>TQByteArray</Literal> can be
+used. A <Literal>TQByteArray</Literal> can be converted to a Python string
+using the Python <Literal>str()</Literal> function.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>TQByteArray &<Function>assign</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>size</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>char &<Function>at</Function></FuncDef>
+ <ParamDef>uint <Parameter>i</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>contains</Function></FuncDef>
+ <ParamDef>const char &<Parameter>d</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>bool <Function>fill</Function></FuncDef>
+ <ParamDef>const char &<Parameter>d</Parameter></ParamDef>
+ <ParamDef>int <Parameter>size</Parameter> = -1</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>int <Function>find</Function></FuncDef>
+ <ParamDef>const char &<Parameter>d</Parameter></ParamDef>
+ <ParamDef>uint <Parameter>i</Parameter> = 0</ParamDef>
+</FuncSynopsis>
+<Para>
+Not yet implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>void <Function>resetRawData</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>uint<Parameter>size</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>TQByteArray &<Function>setRawData</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>uint<Parameter>size</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+Not implemented.
+</Para>
+</Sect2>
+%End
+
+
+class TQByteArray
+{
+%TypeHeaderCode
+#include <tqstring.h>
+%End
+
+%TypeCode
+// Convert a TQByteArray to a Python string or Py_None if there's
+// no data
+static PyObject* TQByteArray_To_String(TQByteArray *ba)
+{
+ // TQByteArrays aren't '\0' terminated so set the size
+ // explicitly.
+ char *data;
+ uint len;
+
+ Py_BEGIN_ALLOW_THREADS
+ data = ba->data();
+ len = ba->size();
+ Py_END_ALLOW_THREADS
+
+ if (data)
+ {
+ return PyUnicode_FromStringAndSize(data, len);
+ }
+ else
+ {
+ return Py_None;
+ }
+}
+%End
+
+public:
+ TQByteArray();
+ TQByteArray(int);
+ TQByteArray(const TQByteArray &);
+
+ SIP_PYOBJECT data() const;
+%MethodCode
+ PyObject* res = TQByteArray_To_String(sipCpp);
+
+ if (res == Py_None)
+ {
+ Py_INCREF(Py_None);
+ }
+ else if (res == NULL)
+ {
+ sipIsErr = 1;
+ }
+ else
+ {
+ sipRes = res;
+ }
+%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
+ PyObject* res = TQByteArray_To_String(sipCpp);
+
+ if (res == Py_None)
+ {
+ sipRes = PyBytes_FromString("");
+ }
+ else
+ {
+ sipRes = res;
+ }
+%End
+
+
+%ConvertToTypeCode
+ // Allow a Python string whenever a TQByteArray is expected.
+
+ if (sipIsErr == NULL)
+ return (PyBytes_Check(sipPy) ||
+ PyUnicode_Check(sipPy) ||
+ sipCanConvertToInstance(sipPy,sipClass_TQByteArray,SIP_NO_CONVERTORS));
+
+ if (PyUnicode_Check(sipPy))
+ {
+ Py_BEGIN_ALLOW_THREADS
+ TQByteArray *ba = new TQByteArray();
+
+#if PY_VERSION_HEX >= 0x03030000
+ ba -> duplicate((char *)PyUnicode_1BYTE_DATA(sipPy),PyUnicode_GET_SIZE(sipPy));
+#else
+ ba -> duplicate((char *)PyUnicode_AS_DATA(sipPy),PyUnicode_GET_SIZE(sipPy));
+#endif
+ *sipCppPtr = ba;
+ Py_END_ALLOW_THREADS
+
+ return sipGetState(sipTransferObj);
+ }
+ else if (PyByteArray_Check(sipPy))
+ {
+ Py_BEGIN_ALLOW_THREADS
+ TQByteArray *ba = new TQByteArray();
+
+ ba -> duplicate(PyByteArray_AS_STRING(sipPy),PyByteArray_GET_SIZE(sipPy));
+
+ *sipCppPtr = ba;
+ Py_END_ALLOW_THREADS
+
+ return sipGetState(sipTransferObj);
+ }
+ else if (PyBytes_Check(sipPy))
+ {
+ Py_BEGIN_ALLOW_THREADS
+ TQByteArray *ba = new TQByteArray();
+
+ ba -> duplicate(PyBytes_AS_STRING(sipPy),PyBytes_GET_SIZE(sipPy));
+
+ *sipCppPtr = ba;
+ Py_END_ALLOW_THREADS
+
+ return sipGetState(sipTransferObj);
+ }
+
+ *sipCppPtr = reinterpret_cast<TQByteArray *>(sipConvertToInstance(sipPy,sipClass_TQByteArray,sipTransferObj,SIP_NO_CONVERTORS,0,sipIsErr));
+
+ return 0;
+%End
+};
+
+
+TQByteArray tqCompress(const uchar * /Array/,int /ArraySize/);
+TQByteArray tqCompress(const TQByteArray &);
+TQByteArray tqUncompress(const uchar * /Array/,int /ArraySize/);
+TQByteArray tqUncompress(const TQByteArray &);