summaryrefslogtreecommitdiffstats
path: root/gobject/pygpointer.c
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-07-27 09:35:57 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-07-27 09:35:57 +0000
commit5ffb6e17bf5ea51abe9c9f440e7cfdd8920d143a (patch)
tree869b1650717b1dac5490aa889683f01ecc0479ea /gobject/pygpointer.c
parent2c1fecd16f1cc8943455cf3d573cf441162a8969 (diff)
downloadpygobject-5ffb6e17bf5ea51abe9c9f440e7cfdd8920d143a.tar.gz
pygobject-5ffb6e17bf5ea51abe9c9f440e7cfdd8920d143a.tar.xz
pygobject-5ffb6e17bf5ea51abe9c9f440e7cfdd8920d143a.zip
Use PYGLIB_DEFINE_TYPE macro and move struct field initialization to the
2008-07-27 Johan Dahlin <johan@gnome.org> * gobject/pygboxed.c (pygobject_boxed_register_types): * gobject/pygenum.c (pygobject_enum_register_types): * gobject/pygflags.c (pygobject_flags_register_types): * gobject/pygobject.c (pygobject_object_register_types): * gobject/pygparamspec.c (pygobject_paramspec_register_types): * gobject/pygpointer.c (pygobject_pointer_register_types): * gobject/pygtype.c (pygobject_type_register_types): Use PYGLIB_DEFINE_TYPE macro and move struct field initialization to the registration methods. svn path=/trunk/; revision=883
Diffstat (limited to 'gobject/pygpointer.c')
-rw-r--r--gobject/pygpointer.c56
1 files changed, 9 insertions, 47 deletions
diff --git a/gobject/pygpointer.c b/gobject/pygpointer.c
index 013ea6c..d06118e 100644
--- a/gobject/pygpointer.c
+++ b/gobject/pygpointer.c
@@ -30,6 +30,8 @@
GQuark pygpointer_class_key;
+PYGLIB_DEFINE_TYPE("gobject.GPointer", PyGPointer_Type, PyGPointer);
+
static void
pyg_pointer_dealloc(PyGPointer *self)
{
@@ -82,52 +84,6 @@ pyg_pointer_free(PyObject *op)
PyObject_FREE(op);
}
-PyTypeObject PyGPointer_Type = {
- PyObject_HEAD_INIT(NULL)
- 0, /* ob_size */
- "gobject.GPointer", /* tp_name */
- sizeof(PyGPointer), /* tp_basicsize */
- 0, /* tp_itemsize */
- /* methods */
- (destructor)pyg_pointer_dealloc, /* tp_dealloc */
- (printfunc)0, /* tp_print */
- (getattrfunc)0, /* tp_getattr */
- (setattrfunc)0, /* tp_setattr */
- (cmpfunc)pyg_pointer_compare, /* tp_compare */
- (reprfunc)pyg_pointer_repr, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- (hashfunc)pyg_pointer_hash, /* tp_hash */
- (ternaryfunc)0, /* tp_call */
- (reprfunc)0, /* tp_str */
- (getattrofunc)0, /* tp_getattro */
- (setattrofunc)0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
- NULL, /* Documentation string */
- (traverseproc)0, /* tp_traverse */
- (inquiry)0, /* tp_clear */
- (richcmpfunc)0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- (getiterfunc)0, /* tp_iter */
- (iternextfunc)0, /* tp_iternext */
- 0, /* tp_methods */
- 0, /* tp_members */
- 0, /* tp_getset */
- (PyTypeObject *)0, /* tp_base */
- (PyObject *)0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)pyg_pointer_init, /* tp_init */
- (allocfunc)0, /* tp_alloc */
- (newfunc)0, /* tp_new */
- (freefunc)pyg_pointer_free, /* tp_free */
- (inquiry)0, /* tp_is_gc */
- (PyObject *)0, /* tp_bases */
-};
-
/**
* pyg_register_pointer:
* @dict: the module dictionary to store the wrapper class.
@@ -218,6 +174,12 @@ pygobject_pointer_register_types(PyObject *d)
{
pygpointer_class_key = g_quark_from_static_string("PyGPointer::class");
+ PyGPointer_Type.tp_dealloc = (destructor)pyg_pointer_dealloc;
+ PyGPointer_Type.tp_compare = (cmpfunc)pyg_pointer_compare;
+ PyGPointer_Type.tp_repr = (reprfunc)pyg_pointer_repr;
+ PyGPointer_Type.tp_hash = (hashfunc)pyg_pointer_hash;
+ PyGPointer_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;
+ PyGPointer_Type.tp_init = (initproc)pyg_pointer_init;
+ PyGPointer_Type.tp_free = (freefunc)pyg_pointer_free;
PYGOBJECT_REGISTER_GTYPE(d, PyGPointer_Type, "GPointer", G_TYPE_POINTER);
-
}