#include "{namespace}-{template-}.h" #define {NAMESPACE}_{TEMPLATE}_GET_PRIVATE(object)( \ G_TYPE_INSTANCE_GET_PRIVATE((object), \ {NAMESPACE}_TYPE_{TEMPLATE}, {Namespace}{Template}Private)) struct _{Namespace}{Template}Private { }; /* Signals enum { PROTO NUM_SIGNALS }; static guint {namespace}_{template_}_signals[NUM_SIGNALS] = {0};*/ G_DEFINE_TYPE({Namespace}{Template}, {namespace}_{template_}, {PARENT_NAMESPACE}_TYPE_{PARENT}) static void {namespace}_{template_}_finalize(GObject *object) { //{Namespace}{Template} *obj = {NAMESPACE}_{TEMPLATE}(object); G_OBJECT_CLASS({namespace}_{template_}_parent_class)->finalize(object); } static void {namespace}_{template_}_class_init({Namespace}{Template}Class *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = {namespace}_{template_}_finalize; /*{namespace}_{template_}_signals[PROTO] = g_signal_new("proto", G_OBJECT_CLASS_TYPE(object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET({Namespace}{Template}Class, proto), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);*/ g_type_class_add_private(object_class, sizeof({Namespace}{Template}Private)); } static void {namespace}_{template_}_init({Namespace}{Template} *obj) { obj->priv = {NAMESPACE}_{TEMPLATE}_GET_PRIVATE(obj); } {Namespace}{Template} * {namespace}_{template_}_new() { {Namespace}{Template} *obj = {NAMESPACE}_{TEMPLATE}(g_object_new({NAMESPACE}_TYPE_{TEMPLATE}, NULL)); return obj; }