1 #include "slack-object.h" 2 slack_object_id_hash(gconstpointer p)3guint slack_object_id_hash(gconstpointer p) { 4 const guint *x = p+1; 5 return x[0] ^ (x[1] << 1); 6 } 7 slack_object_id_equal(gconstpointer a,gconstpointer b)8gboolean slack_object_id_equal(gconstpointer a, gconstpointer b) { 9 return !slack_object_id_cmp(a, b); 10 } 11 12 G_DEFINE_ABSTRACT_TYPE(SlackObject, slack_object, G_TYPE_OBJECT); 13 slack_object_finalize(GObject * gobj)14static void slack_object_finalize(GObject *gobj) { 15 SlackObject *obj = SLACK_OBJECT(gobj); 16 17 g_free(obj->name); 18 g_free(obj->last_mesg); 19 g_free(obj->last_read); 20 g_free(obj->last_mark); 21 g_free(obj->last_sent); 22 } 23 slack_object_class_init(SlackObjectClass * klass)24static void slack_object_class_init(SlackObjectClass *klass) { 25 GObjectClass *gobj = G_OBJECT_CLASS(klass); 26 gobj->finalize = slack_object_finalize; 27 } 28 slack_object_init(SlackObject * self)29static void slack_object_init(SlackObject *self) { 30 } 31