#ifndef SERIALIZABLE_H_ #define SERIALIZABLE_H_ #include #include "upkg.h" #define UPKG_TYPE_SERIALIZABLE (upkg_serializable_get_type()) #define UPKG_SERIALIZABLE(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, \ UPKG_TYPE_SERIALIZABLE, UPkgSerializable) #define UPKG_IS_SERIALIZABLE(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, \ UPKG_TYPE_SERIALIZABLE) #define UPKG_SERIALIZABLE_GET_INTERFACE(inst) G_TYPE_INSTANCE_GET_INTERFACE \ (inst, UPKG_TYPE_SERIALIZABLE, UPkgSerializable) typedef struct UPkgSerializable UPkgSerializable; struct UPkgSerializable { GTypeInterface parent; int (*deserialize)(GObject *obj, struct upkg_file *f); }; GType upkg_serializable_get_type(void); int upkg_deserialize(GObject *obj, struct upkg_file *f); #endif