Added tmdb-image support
[maevies] / src / mvs-tmdb-movie.c
index 4d789a9..52c33a3 100644 (file)
@@ -58,7 +58,7 @@ struct _MvsTmdbMoviePrivate {
         gchar *certification;
         gchar *overview;
         gchar *released;
-        gchar *images;
+        GList *images;
         gchar *last_modified;
 };
 
@@ -78,9 +78,6 @@ mvs_tmdb_movie_get_property (GObject *object, guint property_id,
         case PROP_ID:
                 g_value_set_string (value, self->priv->id);
                 break;
-        case PROP_IMAGES:
-                g_value_set_string (value, self->priv->images);
-                break;
         case PROP_IMDB_ID:
                 g_value_set_string (value, self->priv->imdb_id);
                 break;
@@ -140,10 +137,6 @@ mvs_tmdb_movie_set_property (GObject *object, guint property_id,
                 mvs_tmdb_movie_set_id (self,
                                 g_value_get_string (value));
                 break;
-        case PROP_IMAGES:
-                mvs_tmdb_movie_set_images (self,
-                                g_value_get_string (value));
-                break;
         case PROP_IMDB_ID:
                 mvs_tmdb_movie_set_imdb_id (self,
                                 g_value_get_string (value));
@@ -205,7 +198,6 @@ mvs_tmdb_movie_finalize (GObject *object)
         g_free (self->priv->alt_name);
         g_free (self->priv->certification);
         g_free (self->priv->id);
-        g_free (self->priv->images);
         g_free (self->priv->imdb_id);
         g_free (self->priv->language);
         g_free (self->priv->last_modified);
@@ -219,6 +211,9 @@ mvs_tmdb_movie_finalize (GObject *object)
         g_free (self->priv->type);
         g_free (self->priv->url);
 
+        g_list_foreach (self->priv->images, (GFunc) g_object_unref, NULL);
+        g_list_free (self->priv->images);
+
         G_OBJECT_CLASS (mvs_tmdb_movie_parent_class)->finalize (object);
 }
 
@@ -254,13 +249,6 @@ mvs_tmdb_movie_class_init (MvsTmdbMovieClass *klass)
                                  G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
 
         g_object_class_install_property
-                (object_class, PROP_IMAGES,
-                 g_param_spec_string ("images", "Movie images",
-                                 "The movie images",
-                                 NULL,
-                                 G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
-        g_object_class_install_property
                 (object_class, PROP_IMDB_ID,
                  g_param_spec_string ("imdb_id", "Movie IMDB ID",
                                  "The movie IMDB ID",
@@ -416,13 +404,14 @@ mvs_tmdb_movie_get_id (MvsTmdbMovie *self)
 }
 
 gboolean
-mvs_tmdb_movie_set_images (MvsTmdbMovie *self, const gchar *images)
+mvs_tmdb_movie_set_images (MvsTmdbMovie *self, GList *images)
 {
         g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
-        return set_property (&self->priv->images, images);
+        self->priv->images = images;
+        return TRUE;
 }
 
-const gchar*
+GList*
 mvs_tmdb_movie_get_images (MvsTmdbMovie *self)
 {
         return self->priv->images;
@@ -593,7 +582,7 @@ mvs_tmdb_movie_print (MvsTmdbMovie *self)
         g_print ("[Alternative name]: %s\n", self->priv->alt_name);
         g_print ("[Certification]: %s\n", self->priv->certification);
         g_print ("[Id]: %s\n", self->priv->id);
-        g_print ("[Images]: %s\n", self->priv->images);
+        g_print ("[Images]: %d\n", g_list_length(self->priv->images));
         g_print ("[IMDB Id]: %s\n", self->priv->imdb_id);
         g_print ("[Language]: %s\n", self->priv->language);
         g_print ("[Last modified]: %s\n", self->priv->last_modified);