#ifndef DumpRenderTreeSupportGObject_h
#define DumpRenderTreeSupportGObject_h

#include <glib-object.h>

G_BEGIN_DECLS

#define DRT_SUPPORT_TYPE_GOBJECT            (drt_support_gobject_get_type())
#define DRT_SUPPORT_GOBJECT(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), DRT_SUPPORT_TYPE_GOBJECT, DRTSupportGObject))
#define DRT_SUPPORT_GOBJECT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),  DRT_SUPPORT_TYPE_GOBJECT, DRTSupportGObjectClass))
#define DRT_SUPPORT_IS_GOBJECT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), DRT_SUPPORT_TYPE_GOBJECT))
#define DRT_SUPPORT_IS_GOBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),  DRT_SUPPORT_TYPE_GOBJECT))
#define DRT_SUPPORT_GOBJECT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),  DRT_SUPPORT_TYPE_GOBJECT, DRTSupportGObjectClass))

typedef struct _DRTSupportGObject      DRTSupportGObject;
typedef struct _DRTSupportGObjectClass DRTSupportGObjectClass;

struct _DRTSupportGObject {
    GObject parent_instance;
};

struct _DRTSupportGObjectClass {
    GObjectClass parent_class;

    /* Padding for future expansion */
    void (*_drt_support_reserved0) (void);
    void (*_drt_support_reserved1) (void);
    void (*_drt_support_reserved2) (void);
    void (*_drt_support_reserved3) (void);
};

GType
drt_support_gobject_get_type    (void);

DRTSupportGObject*
drt_support_gobject_new         (void);

G_END_DECLS

#endif
