#include "base.h" G_DEFINE_ABSTRACT_TYPE(DiyaObject, diya_object, G_TYPE_OBJECT) static void diya_object_class_init(DiyaObjectClass *class) { class->to_string = NULL; } static void diya_object_init(DiyaObject *self) { (void) self; } const gchar * diya_object_to_string(gpointer object) { g_return_val_if_fail(DIYA_IS_OBJECT(object), NULL); DiyaObject * self = DIYA_OBJECT(object); DiyaObjectClass *class = DIYA_OBJECT_GET_CLASS(self); return class->to_string ? class->to_string(self) : NULL; }