#ifndef EXPORTABLE_H_ #define EXPORTABLE_H_ #include #include #define UPKG_TYPE_EXPORTABLE (upkg_exportable_get_type()) #define UPKG_EXPORTABLE(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, \ UPKG_TYPE_EXPORTABLE, UPkgExportable) #define UPKG_IS_EXPORTABLE(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, \ UPKG_TYPE_EXPORTABLE) #define UPKG_EXPORTABLE_GET_INTERFACE(inst) G_TYPE_INSTANCE_GET_INTERFACE \ (inst, UPKG_TYPE_EXPORTABLE, UPkgExportable) typedef struct UPkgExportable UPkgExportable; struct UPkgExportable { GTypeInterface parent; int (*export)(GObject *obj, FILE *f); int (*export_name)(GObject *obj, char *buf, size_t n); }; GType upkg_exportable_get_type(void); int upkg_export(GObject *obj, FILE *f); int upkg_export_name(GObject *obj, char *buf, size_t n); #endif