/* -*- Mode: C; c-basic-offset: 4 -*- */ #ifndef _PYGSTMINIOBJECT_H_ #define _PYGSTMINIOBJECT_H_ #include #include #include #include "common.h" G_BEGIN_DECLS /* Work around bugs in PyGILState api fixed in 2.4.0a4 */ #if PY_VERSION_HEX < 0x020400A4 #define PYGIL_API_IS_BUGGY TRUE #else #define PYGIL_API_IS_BUGGY FALSE #endif typedef struct { PyObject_HEAD GstMiniObject *obj; PyObject *inst_dict; /* the instance dictionary -- must be last */ PyObject *weakreflist; /* list of weak references */ } PyGstMiniObject; PyObject * pygstminiobject_new(GstMiniObject *obj); #define pygstminiobject_get(v) (((PyGstMiniObject *)(v))->obj) #define pygstminiobject_check(v,base) (PyObject_TypeCheck(v,base)) void pygstminiobject_register_class(PyObject *dict, const gchar *type_name, GType gtype, PyTypeObject *type, PyObject *bases); void pygstminiobject_register_wrapper(PyObject *self); void pygst_miniobject_init(); #ifndef _INSIDE_PYGSTMINIOBJECT_ struct _PyGObject_Functions *_PyGObject_API; extern PyTypeObject PyGstMiniObject_Type; #endif /* !_INSIDE_PYGSTMINIOBJECT_ */ G_END_DECLS #endif /* !_PYGSTMINIOBJECT_H_ */