/* objects_interfaces.c generated by valac, the Vala compiler * generated from objects_interfaces.vala, do not modify */ #include #include #include #if !defined(VALA_EXTERN) #if defined(_WIN32) || defined(__CYGWIN__) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif #define MAMAN_TYPE_IBAZ (maman_ibaz_get_type ()) #define MAMAN_IBAZ(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MAMAN_TYPE_IBAZ, MamanIbaz)) #define MAMAN_IS_IBAZ(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MAMAN_TYPE_IBAZ)) #define MAMAN_IBAZ_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MAMAN_TYPE_IBAZ, MamanIbazIface)) typedef struct _MamanIbaz MamanIbaz; typedef struct _MamanIbazIface MamanIbazIface; #define MAMAN_TYPE_BAZ (maman_baz_get_type ()) #define MAMAN_BAZ(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MAMAN_TYPE_BAZ, MamanBaz)) #define MAMAN_BAZ_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MAMAN_TYPE_BAZ, MamanBazClass)) #define MAMAN_IS_BAZ(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MAMAN_TYPE_BAZ)) #define MAMAN_IS_BAZ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MAMAN_TYPE_BAZ)) #define MAMAN_BAZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MAMAN_TYPE_BAZ, MamanBazClass)) typedef struct _MamanBaz MamanBaz; typedef struct _MamanBazClass MamanBazClass; typedef struct _MamanBazPrivate MamanBazPrivate; enum { MAMAN_BAZ_0_PROPERTY, MAMAN_BAZ_NUM_PROPERTIES }; static GParamSpec* maman_baz_properties[MAMAN_BAZ_NUM_PROPERTIES]; #define MAMAN_TYPE_SUB_BAZ (maman_sub_baz_get_type ()) #define MAMAN_SUB_BAZ(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MAMAN_TYPE_SUB_BAZ, MamanSubBaz)) #define MAMAN_SUB_BAZ_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MAMAN_TYPE_SUB_BAZ, MamanSubBazClass)) #define MAMAN_IS_SUB_BAZ(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MAMAN_TYPE_SUB_BAZ)) #define MAMAN_IS_SUB_BAZ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MAMAN_TYPE_SUB_BAZ)) #define MAMAN_SUB_BAZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MAMAN_TYPE_SUB_BAZ, MamanSubBazClass)) typedef struct _MamanSubBaz MamanSubBaz; typedef struct _MamanSubBazClass MamanSubBazClass; typedef struct _MamanSubBazPrivate MamanSubBazPrivate; enum { MAMAN_SUB_BAZ_0_PROPERTY, MAMAN_SUB_BAZ_NUM_PROPERTIES }; static GParamSpec* maman_sub_baz_properties[MAMAN_SUB_BAZ_NUM_PROPERTIES]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _MamanIbazIface { GTypeInterface parent_iface; void (*do_action) (MamanIbaz* self); void (*do_virtual_action) (MamanIbaz* self); }; struct _MamanBaz { GObject parent_instance; MamanBazPrivate * priv; }; struct _MamanBazClass { GObjectClass parent_class; void (*do_virtual_action) (MamanBaz* self); }; struct _MamanSubBaz { MamanBaz parent_instance; MamanSubBazPrivate * priv; }; struct _MamanSubBazClass { MamanBazClass parent_class; }; static gpointer maman_baz_parent_class = NULL; static MamanIbazIface * maman_baz_maman_ibaz_parent_iface = NULL; static gpointer maman_sub_baz_parent_class = NULL; VALA_EXTERN GType maman_ibaz_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (MamanIbaz, g_object_unref) VALA_EXTERN void maman_ibaz_do_action (MamanIbaz* self); VALA_EXTERN void maman_ibaz_do_virtual_action (MamanIbaz* self); VALA_EXTERN void maman_ibaz_protected_mixin_1 (MamanIbaz* self); VALA_EXTERN void maman_ibaz_protected_mixin_2 (MamanIbaz* self); VALA_EXTERN void maman_ibaz_public_mixin (MamanIbaz* self); static GType maman_ibaz_get_type_once (void); VALA_EXTERN GType maman_baz_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (MamanBaz, g_object_unref) VALA_EXTERN void maman_baz_do_virtual_action (MamanBaz* self); static void maman_baz_real_do_action (MamanIbaz* base); static void maman_baz_real_do_virtual_action (MamanBaz* self); VALA_EXTERN void maman_baz_do_mixin (MamanBaz* self); VALA_EXTERN MamanBaz* maman_baz_new (void); VALA_EXTERN MamanBaz* maman_baz_construct (GType object_type); static GType maman_baz_get_type_once (void); VALA_EXTERN GType maman_sub_baz_get_type (void) G_GNUC_CONST ; G_DEFINE_AUTOPTR_CLEANUP_FUNC (MamanSubBaz, g_object_unref) static void maman_sub_baz_real_do_virtual_action (MamanBaz* base); VALA_EXTERN gint maman_sub_baz_main_func (void); VALA_EXTERN MamanSubBaz* maman_sub_baz_new (void); VALA_EXTERN MamanSubBaz* maman_sub_baz_construct (GType object_type); static GType maman_sub_baz_get_type_once (void); static void _vala_main (void); void maman_ibaz_do_action (MamanIbaz* self) { MamanIbazIface* _iface_; g_return_if_fail (MAMAN_IS_IBAZ (self)); _iface_ = MAMAN_IBAZ_GET_INTERFACE (self); if (_iface_->do_action) { _iface_->do_action (self); } } void maman_ibaz_do_virtual_action (MamanIbaz* self) { MamanIbazIface* _iface_; g_return_if_fail (MAMAN_IS_IBAZ (self)); _iface_ = MAMAN_IBAZ_GET_INTERFACE (self); if (_iface_->do_virtual_action) { _iface_->do_virtual_action (self); } } void maman_ibaz_protected_mixin_1 (MamanIbaz* self) { FILE* _tmp0_; _tmp0_ = stdout; fputs ("protected_mixin_1\n", _tmp0_); maman_ibaz_protected_mixin_2 (self); } void maman_ibaz_protected_mixin_2 (MamanIbaz* self) { FILE* _tmp0_; _tmp0_ = stdout; fputs ("protected_mixin_2\n", _tmp0_); } void maman_ibaz_public_mixin (MamanIbaz* self) { maman_ibaz_protected_mixin_1 (self); maman_ibaz_protected_mixin_2 (self); } static void maman_ibaz_default_init (MamanIbazIface * iface, gpointer iface_data) { } static GType maman_ibaz_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (MamanIbazIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) maman_ibaz_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; GType maman_ibaz_type_id; maman_ibaz_type_id = g_type_register_static (G_TYPE_INTERFACE, "MamanIbaz", &g_define_type_info, 0); g_type_interface_add_prerequisite (maman_ibaz_type_id, G_TYPE_OBJECT); return maman_ibaz_type_id; } GType maman_ibaz_get_type (void) { static volatile gsize maman_ibaz_type_id__once = 0; if (g_once_init_enter (&maman_ibaz_type_id__once)) { GType maman_ibaz_type_id; maman_ibaz_type_id = maman_ibaz_get_type_once (); g_once_init_leave (&maman_ibaz_type_id__once, maman_ibaz_type_id); } return maman_ibaz_type_id__once; } static void maman_baz_real_do_action (MamanIbaz* base) { MamanBaz * self; FILE* _tmp0_; self = G_TYPE_CHECK_INSTANCE_CAST (base, MAMAN_TYPE_BAZ, MamanBaz); _tmp0_ = stdout; fprintf (_tmp0_, " 2"); } static void maman_baz_real_do_virtual_action (MamanBaz* self) { FILE* _tmp0_; _tmp0_ = stdout; fprintf (_tmp0_, " 4"); } void maman_baz_do_virtual_action (MamanBaz* self) { MamanBazClass* _klass_; g_return_if_fail (MAMAN_IS_BAZ (self)); _klass_ = MAMAN_BAZ_GET_CLASS (self); if (_klass_->do_virtual_action) { _klass_->do_virtual_action (self); } } void maman_baz_do_mixin (MamanBaz* self) { g_return_if_fail (MAMAN_IS_BAZ (self)); maman_ibaz_public_mixin (G_TYPE_CHECK_INSTANCE_CAST (self, MAMAN_TYPE_IBAZ, MamanIbaz)); } MamanBaz* maman_baz_construct (GType object_type) { MamanBaz * self = NULL; self = (MamanBaz*) g_object_new (object_type, NULL); return self; } MamanBaz* maman_baz_new (void) { return maman_baz_construct (MAMAN_TYPE_BAZ); } static void maman_baz_class_init (MamanBazClass * klass, gpointer klass_data) { maman_baz_parent_class = g_type_class_peek_parent (klass); ((MamanBazClass *) klass)->do_virtual_action = (void (*) (MamanBaz*)) maman_baz_real_do_virtual_action; } static void maman_baz_maman_ibaz_interface_init (MamanIbazIface * iface, gpointer iface_data) { maman_baz_maman_ibaz_parent_iface = g_type_interface_peek_parent (iface); iface->do_action = (void (*) (MamanIbaz*)) maman_baz_real_do_action; iface->do_virtual_action = (void (*) (MamanIbaz*)) maman_baz_do_virtual_action; } static void maman_baz_instance_init (MamanBaz * self, gpointer klass) { } static GType maman_baz_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (MamanBazClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) maman_baz_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MamanBaz), 0, (GInstanceInitFunc) maman_baz_instance_init, NULL }; static const GInterfaceInfo maman_ibaz_info = { (GInterfaceInitFunc) maman_baz_maman_ibaz_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType maman_baz_type_id; maman_baz_type_id = g_type_register_static (G_TYPE_OBJECT, "MamanBaz", &g_define_type_info, 0); g_type_add_interface_static (maman_baz_type_id, MAMAN_TYPE_IBAZ, &maman_ibaz_info); return maman_baz_type_id; } GType maman_baz_get_type (void) { static volatile gsize maman_baz_type_id__once = 0; if (g_once_init_enter (&maman_baz_type_id__once)) { GType maman_baz_type_id; maman_baz_type_id = maman_baz_get_type_once (); g_once_init_leave (&maman_baz_type_id__once, maman_baz_type_id); } return maman_baz_type_id__once; } static void maman_sub_baz_real_do_virtual_action (MamanBaz* base) { MamanSubBaz * self; FILE* _tmp0_; self = G_TYPE_CHECK_INSTANCE_CAST (base, MAMAN_TYPE_SUB_BAZ, MamanSubBaz); _tmp0_ = stdout; fprintf (_tmp0_, " 6"); } gint maman_sub_baz_main_func (void) { FILE* _tmp0_; MamanIbaz* ibaz = NULL; MamanBaz* _tmp1_; FILE* _tmp2_; FILE* _tmp3_; MamanIbaz* subbaz = NULL; MamanSubBaz* _tmp4_; FILE* _tmp5_; gint result; _tmp0_ = stdout; fprintf (_tmp0_, "Interface Test: 1"); _tmp1_ = maman_baz_new (); ibaz = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, MAMAN_TYPE_IBAZ, MamanIbaz); maman_ibaz_do_action (ibaz); maman_ibaz_public_mixin (ibaz); maman_baz_do_mixin (MAMAN_IS_BAZ (ibaz) ? ((MamanBaz*) ibaz) : NULL); _tmp2_ = stdout; fprintf (_tmp2_, " 3"); maman_ibaz_do_virtual_action (ibaz); _tmp3_ = stdout; fprintf (_tmp3_, " 5"); _tmp4_ = maman_sub_baz_new (); subbaz = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, MAMAN_TYPE_IBAZ, MamanIbaz); maman_ibaz_do_virtual_action (subbaz); _tmp5_ = stdout; fprintf (_tmp5_, " 7\n"); maman_ibaz_public_mixin (subbaz); maman_ibaz_public_mixin (G_TYPE_CHECK_INSTANCE_CAST (MAMAN_IS_BAZ (subbaz) ? ((MamanBaz*) subbaz) : NULL, MAMAN_TYPE_IBAZ, MamanIbaz)); result = 0; _g_object_unref0 (subbaz); _g_object_unref0 (ibaz); return result; } MamanSubBaz* maman_sub_baz_construct (GType object_type) { MamanSubBaz * self = NULL; self = (MamanSubBaz*) maman_baz_construct (object_type); return self; } MamanSubBaz* maman_sub_baz_new (void) { return maman_sub_baz_construct (MAMAN_TYPE_SUB_BAZ); } static void maman_sub_baz_class_init (MamanSubBazClass * klass, gpointer klass_data) { maman_sub_baz_parent_class = g_type_class_peek_parent (klass); ((MamanBazClass *) klass)->do_virtual_action = (void (*) (MamanBaz*)) maman_sub_baz_real_do_virtual_action; } static void maman_sub_baz_instance_init (MamanSubBaz * self, gpointer klass) { } static GType maman_sub_baz_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (MamanSubBazClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) maman_sub_baz_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MamanSubBaz), 0, (GInstanceInitFunc) maman_sub_baz_instance_init, NULL }; GType maman_sub_baz_type_id; maman_sub_baz_type_id = g_type_register_static (MAMAN_TYPE_BAZ, "MamanSubBaz", &g_define_type_info, 0); return maman_sub_baz_type_id; } GType maman_sub_baz_get_type (void) { static volatile gsize maman_sub_baz_type_id__once = 0; if (g_once_init_enter (&maman_sub_baz_type_id__once)) { GType maman_sub_baz_type_id; maman_sub_baz_type_id = maman_sub_baz_get_type_once (); g_once_init_leave (&maman_sub_baz_type_id__once, maman_sub_baz_type_id); } return maman_sub_baz_type_id__once; } static void _vala_main (void) { maman_sub_baz_main_func (); } int main (int argc, char ** argv) { _vala_main (); return 0; }