#ifndef __GM_{TEMPLATE}_H__ #define __GM_{TEMPLATE}_H__ #include G_BEGIN_DECLS /* * Type checking and casting macros */ #define GM_TYPE_{TEMPLATE} (gm_{template_}_get_type()) #define GM_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ GM_TYPE_{TEMPLATE}, Gm{Template})) #define GM_{TEMPLATE}_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \ GM_TYPE_{TEMPLATE}, Gm{Template} const)) #define GM_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \ GM_TYPE_{TEMPLATE}, Gm{Template}Class)) #define GM_IS_{TEMPLATE}(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), \ GM_TYPE_{TEMPLATE})) #define GM_IS_{TEMPLATE}_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \ GM_TYPE_{TEMPLATE})) #define GM_{TEMPLATE}_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), \ GM_TYPE_{TEMPLATE}, Gm{Template}Class)) /* Private structure type */ typedef struct _Gm{Template}Private Gm{Template}Private; /* * Main object structure */ typedef struct _Gm{Template} Gm{Template}; struct _Gm{Template} { Gtk{Parent} parent; /*< private > */ Gm{Template}Private *priv; }; /* * Class definition */ typedef struct _Gm{Template}Class Gm{Template}Class; struct _Gm{Template}Class { Gtk{Parent}Class parent_class; /* Signals void (* proto) (Gm{Template} *obj); */ }; GType gm_{template_}_get_type(void) G_GNUC_CONST; Gm{Template} *gm_{template_}_new(void); G_END_DECLS #endif /* __GM_{TEMPLATE}_H__ */