#ifndef EXPORTABLE_H_ #define EXPORTABLE_H_ #include #include #define U_OBJECT_TYPE_EXPORTABLE (u_object_exportable_get_type()) #define U_OBJECT_EXPORTABLE(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, \ U_OBJECT_TYPE_EXPORTABLE, UObjectExportable) #define U_OBJECT_IS_EXPORTABLE(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, \ U_OBJECT_TYPE_EXPORTABLE) #define U_OBJECT_EXPORTABLE_GET_INTERFACE(inst) G_TYPE_INSTANCE_GET_INTERFACE \ (inst, U_OBJECT_TYPE_EXPORTABLE, UObjectExportable) typedef struct UObjectExportable UObjectExportable; struct UObjectExportable { GTypeInterface parent; int (*export)(GObject *obj, FILE *f); int (*export_name)(GObject *obj, char *buf, size_t n); }; GType u_object_exportable_get_type(void); int u_object_export(GObject *obj, FILE *f); int u_object_export_name(GObject *obj, char *buf, size_t n); #endif