static void get_property (GObject* obj, guint prop, GValue* val, GParamSpec* pspec) { GtGame* self = GT_GAME(obj); GtGamePrivate* priv = gt_game_get_instance_private(self); switch (prop) { case PROP_ID: g_value_set_int64(val, priv->id); break; case PROP_NAME: g_value_set_string(val, priv->name); break; case PROP_PREVIEW: g_value_set_object(val, priv->preview); break; case PROP_LOGO: g_value_set_object(val, priv->logo); break; case PROP_VIEWERS: g_value_set_int64(val, priv->viewers); break; case PROP_CHANNELS: g_value_set_int64(val, priv->channels); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop, pspec); } }
static GtkWidget* create_child(GtItemContainer* item_container, gpointer data) { g_assert(GT_IS_SEARCH_GAME_CONTAINER(item_container)); g_assert(GT_IS_GAME(data)); return GTK_WIDGET(gt_games_container_child_new(GT_GAME(data))); }
static void set_property(GObject* obj, guint prop, const GValue* val, GParamSpec* pspec) { GtGame* self = GT_GAME(obj); GtGamePrivate* priv = gt_game_get_instance_private(self); switch (prop) { case PROP_ID: priv->id = g_value_get_int64(val); break; case PROP_NAME: if (priv->name) g_free(priv->name); priv->name = g_value_dup_string(val); if (!priv->name) priv->name = "Untitled broadcast"; break; case PROP_PREVIEW: if (priv->preview) g_object_unref(priv->preview); priv->preview = g_value_ref_sink_object(val); utils_pixbuf_scale_simple(&priv->preview, 200, 270, GDK_INTERP_BILINEAR); break; case PROP_LOGO: if (priv->logo) g_object_unref(priv->logo); priv->logo = g_value_dup_object(val); break; case PROP_VIEWERS: priv->viewers = g_value_get_int64(val); break; case PROP_CHANNELS: priv->channels = g_value_get_int64(val); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop, pspec); } }