Index: gst/gst.defs =================================================================== RCS file: /cvs/gstreamer/gst-python/gst/gst.defs,v retrieving revision 1.129 diff -u -p -r1.129 gst.defs --- gst/gst.defs 26 Jan 2007 11:58:55 -0000 1.129 +++ gst/gst.defs 6 Feb 2007 16:12:30 -0000 @@ -1822,7 +1822,16 @@ (return-type "GQuark") ) - +(define-function new + (c-name "g_error_new") + (is-constructor-of "GError") + (return-type "GError*") + (parameters + '("gchar*" "domain") + '("gint" "code") + '("gchar*" "message") + ) +) ;; From ../gstreamer/gst/gstevent.h Index: gst/gst.override =================================================================== RCS file: /cvs/gstreamer/gst-python/gst/gst.override,v retrieving revision 1.113 diff -u -p -r1.113 gst.override --- gst/gst.override 29 Jan 2007 11:16:35 -0000 1.113 +++ gst/gst.override 6 Feb 2007 16:12:30 -0000 @@ -1218,3 +1218,29 @@ _wrap_gst_segment_clip (PyObject * self, return py_ret; } +%% +override g_error_new kwargs +static int +_wrap_g_error_new(PyGBoxed *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "domain", "code", "message", NULL }; + int code; + gchar *message; + gchar *domain; + GQuark domainq; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs,"sis:GError.__init__", kwlist, &domain, &code, &message)) + return -1; + domainq = g_quark_from_string(domain); + + self->gtype = GST_TYPE_G_ERROR; + self->free_on_dealloc = FALSE; + self->boxed = g_error_new(domainq, code, message); + + if (!self->boxed) { + PyErr_SetString(PyExc_RuntimeError, "could not create GError object"); + return -1; + } + self->free_on_dealloc = TRUE; + return 0; +}