gstreamer/gst/pygstminiobject.h
Edward Hervey 9fdbc6b987 gst/pygstminiobject.h: Some crack distributions do weirdo stuff with PYGIL_API_IS_BUGGY.
Original commit message from CVS:
* gst/pygstminiobject.h:
Some crack distributions do weirdo stuff with PYGIL_API_IS_BUGGY.
Let's keep our own detection.
Closes #333055
2006-03-02 09:40:13 +00:00

56 lines
1.2 KiB
C

/* -*- Mode: C; c-basic-offset: 4 -*- */
#ifndef _PYGSTMINIOBJECT_H_
#define _PYGSTMINIOBJECT_H_
#include <Python.h>
#include <glib.h>
#include <glib-object.h>
#include "common.h"
G_BEGIN_DECLS
/* Work around bugs in PyGILState api fixed in 2.4.0a4 */
#undef PYGIL_API_IS_BUGGY
#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_ */