/* -*- Mode: C; c-basic-offset: 4 -*- * pygobject - Python bindings for GObject * Copyright (C) 2008 Johan Dahlin * Copyright (C) 2009 Paul Pogonyshev * * gdatainputstream.override: module overrides for GDataInputStream * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA */ %% override g_data_input_stream_read_line kwargs static PyObject * _wrap_g_data_input_stream_read_line(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "cancellable", NULL }; PyGObject *pycancellable = NULL; GCancellable *cancellable; char *line; gsize length; PyObject *py_line; GError *error = NULL; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|O:gio.DataInputStream.read_line", kwlist, &pycancellable)) return NULL; if (!pygio_check_cancellable(pycancellable, &cancellable)) return NULL; line = g_data_input_stream_read_line(G_DATA_INPUT_STREAM(self->obj), &length, cancellable, &error); if (pyg_error_check(&error)) return NULL; py_line = _PyUnicode_FromStringAndSize(line, length); g_free(line); return py_line; } %% override g_data_input_stream_read_line_async kwargs static PyObject * _wrap_g_data_input_stream_read_line_async(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "callback", "io_priority", "cancellable", "user_data", NULL }; int io_priority = G_PRIORITY_DEFAULT; PyGObject *pycancellable = NULL; GCancellable *cancellable; PyGIONotify *notify; notify = pygio_notify_new(); if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|iOO:gio.DataInputStream.read_line_async", kwlist, ¬ify->callback, &io_priority, &pycancellable, ¬ify->data)) goto error; if (!pygio_notify_callback_is_valid(notify)) goto error; if (!pygio_check_cancellable(pycancellable, &cancellable)) goto error; pygio_notify_reference_callback(notify); g_data_input_stream_read_line_async(G_DATA_INPUT_STREAM(self->obj), io_priority, cancellable, (GAsyncReadyCallback) async_result_callback_marshal, notify); Py_INCREF(Py_None); return Py_None; error: pygio_notify_free(notify); return NULL; } %% override g_data_input_stream_read_line_finish kwargs static PyObject * _wrap_g_data_input_stream_read_line_finish(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "result", NULL }; PyGObject *result; GError *error = NULL; gchar *line; gsize length; PyObject *py_line; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:gio.DataInputStream.read_line_finish", kwlist, &PyGAsyncResult_Type, &result)) return NULL; line = g_data_input_stream_read_line_finish(G_DATA_INPUT_STREAM(self->obj), G_ASYNC_RESULT(result->obj), &length, &error); if (pyg_error_check(&error)) return NULL; py_line = _PyUnicode_FromStringAndSize(line, length); g_free(line); return py_line; } %% override g_data_input_stream_read_until kwargs static PyObject * _wrap_g_data_input_stream_read_until(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "stop_chars", "cancellable", NULL }; const char *stop_chars; PyGObject *pycancellable = NULL; GCancellable *cancellable; char *line; gsize length; PyObject *py_line; GError *error = NULL; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|O:gio.DataInputStream.read_line", kwlist, &stop_chars, &pycancellable)) return NULL; if (!pygio_check_cancellable(pycancellable, &cancellable)) return NULL; line = g_data_input_stream_read_until(G_DATA_INPUT_STREAM(self->obj), stop_chars, &length, cancellable, &error); if (pyg_error_check(&error)) return NULL; py_line = _PyUnicode_FromStringAndSize(line, length); g_free(line); return py_line; } %% override g_data_input_stream_read_until_async kwargs static PyObject * _wrap_g_data_input_stream_read_until_async(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "stop_chars", "callback", "io_priority", "cancellable", "user_data", NULL }; const char *stop_chars; int io_priority = G_PRIORITY_DEFAULT; PyGObject *pycancellable = NULL; GCancellable *cancellable; PyGIONotify *notify; notify = pygio_notify_new(); if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sO|iOO:gio.DataInputStream.read_until_async", kwlist, &stop_chars, ¬ify->callback, &io_priority, &pycancellable, ¬ify->data)) goto error; if (!pygio_notify_callback_is_valid(notify)) goto error; if (!pygio_check_cancellable(pycancellable, &cancellable)) goto error; pygio_notify_reference_callback(notify); g_data_input_stream_read_until_async(G_DATA_INPUT_STREAM(self->obj), stop_chars, io_priority, cancellable, (GAsyncReadyCallback) async_result_callback_marshal, notify); Py_INCREF(Py_None); return Py_None; error: pygio_notify_free(notify); return NULL; } %% override g_data_input_stream_read_until_finish kwargs static PyObject * _wrap_g_data_input_stream_read_until_finish(PyGObject *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "result", NULL }; PyGObject *result; GError *error = NULL; gchar *line; gsize length; PyObject *py_line; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:gio.DataInputStream.read_until_finish", kwlist, &PyGAsyncResult_Type, &result)) return NULL; line = g_data_input_stream_read_until_finish(G_DATA_INPUT_STREAM(self->obj), G_ASYNC_RESULT(result->obj), &length, &error); if (pyg_error_check(&error)) return NULL; py_line = _PyUnicode_FromStringAndSize(line, length); g_free(line); return py_line; }