diff options
Diffstat (limited to 'lib/python/_sugar.c')
-rw-r--r-- | lib/python/_sugar.c | 214 |
1 files changed, 36 insertions, 178 deletions
diff --git a/lib/python/_sugar.c b/lib/python/_sugar.c index 585cd0d..a1bd3c0 100644 --- a/lib/python/_sugar.c +++ b/lib/python/_sugar.c @@ -8,7 +8,7 @@ #include <Python.h> #include "pygobject.h" -#include "gecko-browser.h" +#include "sugar-browser.h" #include "sugar-key-grabber.h" #include "sugar-address-entry.h" @@ -25,83 +25,20 @@ static PyTypeObject *_PyGtkMozEmbed_Type; /* ---------- forward type declarations ---------- */ -PyTypeObject G_GNUC_INTERNAL PyGeckoBrowser_Type; PyTypeObject G_GNUC_INTERNAL PySugarAddressEntry_Type; +PyTypeObject G_GNUC_INTERNAL PySugarBrowser_Type; PyTypeObject G_GNUC_INTERNAL PySugarKeyGrabber_Type; #line 33 "_sugar.c" -/* ----------- GeckoBrowser ----------- */ - -static int -_wrap_gecko_browser_new(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char* kwlist[] = { NULL }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - ":gecko.Browser.__init__", - kwlist)) - return -1; - - pygobject_constructv(self, 0, NULL); - if (!self->obj) { - PyErr_SetString( - PyExc_RuntimeError, - "could not create gecko.Browser object"); - return -1; - } - return 0; -} - -static PyObject * -_wrap_gecko_browser_create_window(PyGObject *self) -{ - GeckoBrowser *ret; - - - ret = gecko_browser_create_window(GECKO_BROWSER(self->obj)); - - /* pygobject_new handles NULL checking */ - return pygobject_new((GObject *)ret); -} - -static PyObject * -_wrap_GeckoBrowser__do_create_window(PyObject *cls, PyObject *args, PyObject *kwargs) -{ - gpointer klass; - static char *kwlist[] = { "self", NULL }; - PyGObject *self; - GeckoBrowser *ret; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs,"O!:GeckoBrowser.create_window", kwlist, &PyGeckoBrowser_Type, &self)) - return NULL; - klass = g_type_class_ref(pyg_type_from_object(cls)); - if (GECKO_BROWSER_CLASS(klass)->create_window) - ret = GECKO_BROWSER_CLASS(klass)->create_window(GECKO_BROWSER(self->obj)); - else { - PyErr_SetString(PyExc_NotImplementedError, "virtual method GeckoBrowser.create_window not implemented"); - g_type_class_unref(klass); - return NULL; - } - g_type_class_unref(klass); - /* pygobject_new handles NULL checking */ - return pygobject_new((GObject *)ret); -} - -static const PyMethodDef _PyGeckoBrowser_methods[] = { - { "create_window", (PyCFunction)_wrap_gecko_browser_create_window, METH_NOARGS, - NULL }, - { "do_create_window", (PyCFunction)_wrap_GeckoBrowser__do_create_window, METH_VARARGS|METH_KEYWORDS|METH_CLASS, - NULL }, - { NULL, NULL, 0, NULL } -}; +/* ----------- SugarAddressEntry ----------- */ -PyTypeObject G_GNUC_INTERNAL PyGeckoBrowser_Type = { +PyTypeObject G_GNUC_INTERNAL PySugarAddressEntry_Type = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ - "gecko.Browser", /* tp_name */ + "gecko.AddressEntry", /* tp_name */ sizeof(PyGObject), /* tp_basicsize */ 0, /* tp_itemsize */ /* methods */ @@ -128,7 +65,7 @@ PyTypeObject G_GNUC_INTERNAL PyGeckoBrowser_Type = { offsetof(PyGObject, weakreflist), /* tp_weaklistoffset */ (getiterfunc)0, /* tp_iter */ (iternextfunc)0, /* tp_iternext */ - (struct PyMethodDef*)_PyGeckoBrowser_methods, /* tp_methods */ + (struct PyMethodDef*)NULL, /* tp_methods */ (struct PyMemberDef*)0, /* tp_members */ (struct PyGetSetDef*)0, /* tp_getset */ NULL, /* tp_base */ @@ -136,96 +73,39 @@ PyTypeObject G_GNUC_INTERNAL PyGeckoBrowser_Type = { (descrgetfunc)0, /* tp_descr_get */ (descrsetfunc)0, /* tp_descr_set */ offsetof(PyGObject, inst_dict), /* tp_dictoffset */ - (initproc)_wrap_gecko_browser_new, /* tp_init */ + (initproc)0, /* tp_init */ (allocfunc)0, /* tp_alloc */ (newfunc)0, /* tp_new */ (freefunc)0, /* tp_free */ (inquiry)0 /* tp_is_gc */ }; -static GeckoBrowser* -_wrap_GeckoBrowser__proxy_do_create_window(GeckoBrowser *self) + + +/* ----------- SugarBrowser ----------- */ + +static PyObject * +_wrap_sugar_browser_create_window(PyGObject *self) { - PyGILState_STATE __py_state; - PyObject *py_self; - GeckoBrowser* retval; - PyObject *py_retval; - PyObject *py_method; - - __py_state = pyg_gil_state_ensure(); - py_self = pygobject_new((GObject *) self); - if (!py_self) { - if (PyErr_Occurred()) - PyErr_Print(); - pyg_gil_state_release(__py_state); - return NULL; - } - - - py_method = PyObject_GetAttrString(py_self, "do_create_window"); - if (!py_method) { - if (PyErr_Occurred()) - PyErr_Print(); - Py_DECREF(py_self); - pyg_gil_state_release(__py_state); - return NULL; - } - py_retval = PyObject_CallObject(py_method, NULL); - if (!py_retval) { - if (PyErr_Occurred()) - PyErr_Print(); - Py_DECREF(py_method); - Py_DECREF(py_self); - pyg_gil_state_release(__py_state); - return NULL; - } - if (!PyObject_TypeCheck(py_retval, &PyGObject_Type)) { - PyErr_SetString(PyExc_TypeError, "retval should be a GObject"); - PyErr_Print(); - Py_DECREF(py_retval); - Py_DECREF(py_method); - Py_DECREF(py_self); - pyg_gil_state_release(__py_state); - return NULL; - } - retval = (GeckoBrowser*) pygobject_get(py_retval); - g_object_ref((GObject *) retval); - + SugarBrowser *ret; + - Py_DECREF(py_retval); - Py_DECREF(py_method); - Py_DECREF(py_self); - pyg_gil_state_release(__py_state); + ret = sugar_browser_create_window(SUGAR_BROWSER(self->obj)); - return retval; -} - -static int -__GeckoBrowser_class_init(gpointer gclass, PyTypeObject *pyclass) -{ - PyObject *o; - GeckoBrowserClass *klass = GECKO_BROWSER_CLASS(gclass); - PyObject *gsignals = PyDict_GetItemString(pyclass->tp_dict, "__gsignals__"); - - o = PyObject_GetAttrString((PyObject *) pyclass, "do_create_window"); - if (o == NULL) - PyErr_Clear(); - else { - if (!PyObject_TypeCheck(o, &PyCFunction_Type) - && !(gsignals && PyDict_GetItemString(gsignals, "create_window"))) - klass->create_window = _wrap_GeckoBrowser__proxy_do_create_window; - Py_DECREF(o); - } - return 0; + /* pygobject_new handles NULL checking */ + return pygobject_new((GObject *)ret); } +static const PyMethodDef _PySugarBrowser_methods[] = { + { "create_window", (PyCFunction)_wrap_sugar_browser_create_window, METH_NOARGS, + NULL }, + { NULL, NULL, 0, NULL } +}; -/* ----------- SugarAddressEntry ----------- */ - -PyTypeObject G_GNUC_INTERNAL PySugarAddressEntry_Type = { +PyTypeObject G_GNUC_INTERNAL PySugarBrowser_Type = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ - "gecko.AddressEntry", /* tp_name */ + "gecko.Browser", /* tp_name */ sizeof(PyGObject), /* tp_basicsize */ 0, /* tp_itemsize */ /* methods */ @@ -252,7 +132,7 @@ PyTypeObject G_GNUC_INTERNAL PySugarAddressEntry_Type = { offsetof(PyGObject, weakreflist), /* tp_weaklistoffset */ (getiterfunc)0, /* tp_iter */ (iternextfunc)0, /* tp_iternext */ - (struct PyMethodDef*)NULL, /* tp_methods */ + (struct PyMethodDef*)_PySugarBrowser_methods, /* tp_methods */ (struct PyMemberDef*)0, /* tp_members */ (struct PyGetSetDef*)0, /* tp_getset */ NULL, /* tp_base */ @@ -271,36 +151,16 @@ PyTypeObject G_GNUC_INTERNAL PySugarAddressEntry_Type = { /* ----------- SugarKeyGrabber ----------- */ -static int -_wrap_sugar_key_grabber_new(PyGObject *self, PyObject *args, PyObject *kwargs) -{ - static char* kwlist[] = { NULL }; - - if (!PyArg_ParseTupleAndKeywords(args, kwargs, - ":gecko.KeyGrabber.__init__", - kwlist)) - return -1; - - pygobject_constructv(self, 0, NULL); - if (!self->obj) { - PyErr_SetString( - PyExc_RuntimeError, - "could not create gecko.KeyGrabber object"); - return -1; - } - return 0; -} - static PyObject * _wrap_sugar_key_grabber_grab(PyGObject *self, PyObject *args, PyObject *kwargs) { - static char *kwlist[] = { "address", NULL }; - char *address; + static char *kwlist[] = { "key", NULL }; + char *key; - if (!PyArg_ParseTupleAndKeywords(args, kwargs,"s:SugarKeyGrabber.grab", kwlist, &address)) + if (!PyArg_ParseTupleAndKeywords(args, kwargs,"s:SugarKeyGrabber.grab", kwlist, &key)) return NULL; - sugar_key_grabber_grab(SUGAR_KEY_GRABBER(self->obj), address); + sugar_key_grabber_grab(SUGAR_KEY_GRABBER(self->obj), key); Py_INCREF(Py_None); return Py_None; @@ -350,7 +210,7 @@ PyTypeObject G_GNUC_INTERNAL PySugarKeyGrabber_Type = { (descrgetfunc)0, /* tp_descr_get */ (descrsetfunc)0, /* tp_descr_set */ offsetof(PyGObject, inst_dict), /* tp_dictoffset */ - (initproc)_wrap_sugar_key_grabber_new, /* tp_init */ + (initproc)0, /* tp_init */ (allocfunc)0, /* tp_alloc */ (newfunc)0, /* tp_new */ (freefunc)0, /* tp_free */ @@ -362,17 +222,17 @@ PyTypeObject G_GNUC_INTERNAL PySugarKeyGrabber_Type = { /* ----------- functions ----------- */ static PyObject * -_wrap_gecko_browser_startup(PyObject *self) +_wrap_sugar_browser_startup(PyObject *self) { - gecko_browser_startup(); + sugar_browser_startup(); Py_INCREF(Py_None); return Py_None; } const PyMethodDef py_sugar_functions[] = { - { "startup_browser", (PyCFunction)_wrap_gecko_browser_startup, METH_NOARGS, + { "startup_browser", (PyCFunction)_wrap_sugar_browser_startup, METH_NOARGS, NULL }, { NULL, NULL, 0, NULL } }; @@ -421,11 +281,9 @@ py_sugar_register_classes(PyObject *d) } -#line 425 "_sugar.c" - pygobject_register_class(d, "GeckoBrowser", GECKO_TYPE_BROWSER, &PyGeckoBrowser_Type, Py_BuildValue("(O)", &PyGtkMozEmbed_Type)); - pyg_set_object_has_new_constructor(GECKO_TYPE_BROWSER); - pyg_register_class_init(GECKO_TYPE_BROWSER, __GeckoBrowser_class_init); +#line 285 "_sugar.c" pygobject_register_class(d, "SugarAddressEntry", SUGAR_TYPE_ADDRESS_ENTRY, &PySugarAddressEntry_Type, Py_BuildValue("(O)", &PyGtkEntry_Type)); + pygobject_register_class(d, "SugarBrowser", SUGAR_TYPE_BROWSER, &PySugarBrowser_Type, Py_BuildValue("(O)", &PyGtkMozEmbed_Type)); pygobject_register_class(d, "SugarKeyGrabber", SUGAR_TYPE_KEY_GRABBER, &PySugarKeyGrabber_Type, Py_BuildValue("(O)", &PyGObject_Type)); pyg_set_object_has_new_constructor(SUGAR_TYPE_KEY_GRABBER); } |