? base-20061020-1.defs ? base-20070126-1.defs ? core.9601 ? core.9642 ? core.9663 ? defs-0.10.5.defs ? defs-20060509-1.defs ? defs-20060519.defs ? defs-20060609-1.defs ? defs-20060718-1.defs ? defs-20060824-1.defs ? defs-20060831-1.defs ? defs-20061020-1.defs ? defs-20061218-1.defs ? defs-20070126-1.defs ? libs-20061020-1.defs ? libs-20070126-1.defs ? log-valgrind ? out ? release.diff ? testfrac.py ? gst/extend/level.pck ? gst/extend/list ? gst/extend/log 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; +}