enum {
PROP_0,
- PROP_HAS_STINGERS,
- PROP_TITLE,
- PROP_DIRECTOR,
- PROP_CAST,
- PROP_RANKING,
- PROP_RELEASE_DATE,
- PROP_OVERVIEW,
+ PROP_SCORE,
+ PROP_POPULARITY,
+ PROP_TRANSLATED,
+ PROP_LANGUAGE,
+ PROP_NAME,
+ PROP_ALT_NAME,
+ PROP_TYPE,
+ PROP_ID,
+ PROP_IMDB_ID,
PROP_URL,
- PROP_SCHEDULE,
+ PROP_RATING,
+ PROP_CERTIFICATION,
+ PROP_OVERVIEW,
+ PROP_RELEASED,
+ PROP_IMAGES,
+ PROP_LAST_MODIFIED,
};
#define GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), MVS_TYPE_TMDB_MOVIE, MvsTmdbMoviePrivate))
struct _MvsTmdbMoviePrivate {
- gboolean has_stingers;
- gchar *title;
- gchar *director;
- gchar *cast;
- gfloat ranking;
- gchar *release_date;
- gchar *overview;
+ gchar *score;
+ gchar *popularity;
+ gchar *translated;
+ gchar *language;
+ gchar *name;
+ gchar *alt_name;
+ gchar *type;
+ gchar *id;
+ gchar *imdb_id;
gchar *url;
- gchar *schedule;
+ gchar *rating;
+ gchar *certification;
+ gchar *overview;
+ gchar *released;
+ gchar *images;
+ gchar *last_modified;
};
static void
MvsTmdbMovie *self = MVS_TMDB_MOVIE (object);
switch (property_id) {
- case PROP_HAS_STINGERS:
- g_value_set_boolean (value, self->priv->has_stingers);
+ case PROP_ALT_NAME:
+ g_value_set_string (value, self->priv->alt_name);
break;
- case PROP_TITLE:
- g_value_set_string (value, self->priv->title);
+ case PROP_CERTIFICATION:
+ g_value_set_string (value, self->priv->certification);
break;
- case PROP_DIRECTOR:
- g_value_set_string (value, self->priv->director);
+ case PROP_ID:
+ g_value_set_string (value, self->priv->id);
break;
- case PROP_CAST:
- g_value_set_string (value, self->priv->cast);
+ case PROP_IMAGES:
+ g_value_set_string (value, self->priv->images);
break;
- case PROP_RANKING:
- g_value_set_float (value, self->priv->ranking);
+ case PROP_IMDB_ID:
+ g_value_set_string (value, self->priv->imdb_id);
break;
- case PROP_RELEASE_DATE:
- g_value_set_string (value, self->priv->release_date);
+ case PROP_LANGUAGE:
+ g_value_set_string (value, self->priv->language);
+ break;
+ case PROP_LAST_MODIFIED:
+ g_value_set_string (value, self->priv->last_modified);
+ break;
+ case PROP_NAME:
+ g_value_set_string (value, self->priv->name);
break;
case PROP_OVERVIEW:
g_value_set_string (value, self->priv->overview);
break;
+ case PROP_POPULARITY:
+ g_value_set_string (value, self->priv->popularity);
+ break;
+ case PROP_RATING:
+ g_value_set_string (value, self->priv->rating);
+ break;
+ case PROP_RELEASED:
+ g_value_set_string (value, self->priv->released);
+ break;
+ case PROP_SCORE:
+ g_value_set_string (value, self->priv->score);
+ break;
+ case PROP_TRANSLATED:
+ g_value_set_string (value, self->priv->id);
+ break;
+ case PROP_TYPE:
+ g_value_set_string (value, self->priv->id);
+ break;
case PROP_URL:
g_value_set_string (value, self->priv->url);
break;
- case PROP_SCHEDULE:
- g_value_set_string (value, self->priv->schedule);
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
const GValue *value, GParamSpec *pspec)
{
MvsTmdbMovie *self = MVS_TMDB_MOVIE (object);
- GDate *date = NULL;
switch (property_id) {
- case PROP_HAS_STINGERS:
- mvs_tmdb_movie_set_stingers (self, g_value_get_boolean (value));
+ case PROP_ALT_NAME:
+ mvs_tmdb_movie_set_alt_name (self, g_value_get_string (value));
+ break;
+ case PROP_CERTIFICATION:
+ mvs_tmdb_movie_set_certification (self,
+ g_value_get_string (value));
+ break;
+ case PROP_ID:
+ mvs_tmdb_movie_set_id (self,
+ g_value_get_string (value));
break;
- case PROP_TITLE:
- mvs_tmdb_movie_set_title (self, g_value_get_string (value));
+ case PROP_IMAGES:
+ mvs_tmdb_movie_set_images (self,
+ g_value_get_string (value));
break;
- case PROP_DIRECTOR:
- mvs_tmdb_movie_set_director (self, g_value_get_string (value));
+ case PROP_IMDB_ID:
+ mvs_tmdb_movie_set_imdb_id (self,
+ g_value_get_string (value));
break;
- case PROP_CAST:
- mvs_tmdb_movie_set_cast (self, g_value_get_string (value));
+ case PROP_LANGUAGE:
+ mvs_tmdb_movie_set_language (self,
+ g_value_get_string (value));
break;
- case PROP_RANKING:
- mvs_tmdb_movie_set_ranking (self, g_value_get_float (value));
+ case PROP_LAST_MODIFIED:
+ mvs_tmdb_movie_set_last_modified (self,
+ g_value_get_string (value));
break;
- case PROP_RELEASE_DATE:
- mvs_tmdb_movie_set_release_date (self, g_value_get_string (value));
+ case PROP_NAME:
+ mvs_tmdb_movie_set_name (self,
+ g_value_get_string (value));
break;
case PROP_OVERVIEW:
- mvs_tmdb_movie_set_overview (self, g_value_get_string (value));
+ mvs_tmdb_movie_set_overview (self,
+ g_value_get_string (value));
break;
- case PROP_URL:
- mvs_tmdb_movie_set_url (self, g_value_get_string (value));
+ case PROP_POPULARITY:
+ mvs_tmdb_movie_set_popularity (self,
+ g_value_get_string (value));
+ break;
+ case PROP_RATING:
+ mvs_tmdb_movie_set_rating (self,
+ g_value_get_string (value));
+ break;
+ case PROP_RELEASED:
+ mvs_tmdb_movie_set_released (self,
+ g_value_get_string (value));
+ break;
+ case PROP_SCORE:
+ mvs_tmdb_movie_set_score (self,
+ g_value_get_string (value));
break;
- case PROP_SCHEDULE:
- mvs_tmdb_movie_set_schedule (self, g_value_get_string (value));
+ case PROP_TRANSLATED:
+ mvs_tmdb_movie_set_translated (self,
+ g_value_get_string (value));
+ break;
+ case PROP_TYPE:
+ mvs_tmdb_movie_set_type (self,
+ g_value_get_string (value));
+ break;
+ case PROP_URL:
+ mvs_tmdb_movie_set_url (self,
+ g_value_get_string (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
{
MvsTmdbMovie *self = MVS_TMDB_MOVIE (object);
- g_free (self->priv->cast);
- g_free (self->priv->director);
+ 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);
+ g_free (self->priv->name);
g_free (self->priv->overview);
- g_free (self->priv->release_date);
- g_free (self->priv->schedule);
- g_free (self->priv->title);
+ g_free (self->priv->popularity);
+ g_free (self->priv->rating);
+ g_free (self->priv->released);
+ g_free (self->priv->score);
+ g_free (self->priv->translated);
+ g_free (self->priv->type);
g_free (self->priv->url);
G_OBJECT_CLASS (mvs_tmdb_movie_parent_class)->finalize (object);
object_class->set_property = mvs_tmdb_movie_set_property;
object_class->finalize = mvs_tmdb_movie_finalize;
+ g_object_class_install_property
+ (object_class, PROP_ALT_NAME,
+ g_param_spec_string ("alternative_name", "Alternative name",
+ "The movie alternative name",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_CAST,
- g_param_spec_string ("cast", "Movie cast", "The movie cast",
+ (object_class, PROP_CERTIFICATION,
+ g_param_spec_string ("certification", "Movie certification",
+ "The movie certification",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_DIRECTOR,
- g_param_spec_string ("director", "Movie director", "The movie director",
+ (object_class, PROP_ID,
+ g_param_spec_string ("id", "Movie ID", "The movie ID",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_HAS_STINGERS,
- g_param_spec_boolean ("stingers", "Has stingers", "The movie has stingers",
- FALSE,
+ (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",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property
+ (object_class, PROP_LANGUAGE,
+ g_param_spec_string ("language", "Movie language",
+ "The movie language",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property
+ (object_class, PROP_LAST_MODIFIED,
+ g_param_spec_string ("last_modified_at",
+ "Movie last modified date",
+ "The movie last modification date",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property
+ (object_class, PROP_NAME,
+ g_param_spec_string ("name", "Movie name", "The movie name",
+ NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_RANKING,
- g_param_spec_float ("ranking", "Movie ranking", "The movie ranking",
- 0.0,
- 10.0,
- 5.0,
+ (object_class, PROP_POPULARITY,
+ g_param_spec_string ("popularity", "Movie popularity", "The movie popularity",
+ NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_RELEASE_DATE,
- g_param_spec_string ("release", "Movie release date", "The movie release date",
+ (object_class, PROP_RATING,
+ g_param_spec_string ("rating", "Movie rating", "The movie rating",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_SCHEDULE,
- g_param_spec_string ("schedule", "Movie schedule", "The movie schedule",
+ (object_class, PROP_RELEASED,
+ g_param_spec_string ("released", "Movie released date", "The movie released date",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_TITLE,
- g_param_spec_string ("title", "Movie title", "The movie title",
+ (object_class, PROP_SCORE,
+ g_param_spec_string ("score", "Movie score", "The movie score",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property
- (object_class, PROP_URL,
- g_param_spec_string ("url", "Movie URL", "The movie url",
+ (object_class, PROP_TRANSLATED,
+ g_param_spec_string ("translated", "Movie translated status", "Tells if the movie is translated",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property
+ (object_class, PROP_TYPE,
+ g_param_spec_string ("type", "Movie type", "The movie type",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property
+ (object_class, PROP_URL,
+ g_param_spec_string ("url", "Movie url", "The movie url",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
}
mvs_tmdb_movie_init (MvsTmdbMovie *self)
{
self->priv = GET_PRIVATE (self);
- self->priv->cast = NULL;
- self->priv->director = NULL;
- self->priv->has_stingers = FALSE;
+
+ self->priv->alt_name = NULL;
+ self->priv->certification = NULL;
+ self->priv->id = NULL;
+ self->priv->images = NULL;
+ self->priv->imdb_id = NULL;
+ self->priv->language = NULL;
+ self->priv->last_modified = NULL;
+ self->priv->name = NULL;
self->priv->overview = NULL;
- self->priv->ranking = 5;
- self->priv->release_date = NULL;
- self->priv->schedule = NULL;
- self->priv->title = NULL;
+ self->priv->popularity = NULL;
+ self->priv->rating = NULL;
+ self->priv->released = NULL;
+ self->priv->score = NULL;
+ self->priv->translated = NULL;
+ self->priv->type = NULL;
self->priv->url = NULL;
}
}
gboolean
-mvs_tmdb_movie_set_stingers (MvsTmdbMovie *self, gboolean has_stingers)
+set_property (gchar **property, const gchar *value)
{
- g_return_val_if_fail (self, FALSE);
+ g_free (*property);
+ *property = g_strdup (value);
- self->priv->has_stingers = has_stingers;
-
- return TRUE;
+ return *property != NULL;
}
gboolean
-mvs_tmdb_movie_set_title (MvsTmdbMovie *self, const gchar *title)
+mvs_tmdb_movie_set_alt_name (MvsTmdbMovie *self, const gchar *alt_name)
{
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->alt_name, alt_name);
+}
- g_free (self->priv->title);
+const gchar*
+mvs_tmdb_movie_get_alt_name (MvsTmdbMovie *self)
+{
+ return self->priv->alt_name;
+}
- self->priv->title = g_strdup (title);
+gboolean
+mvs_tmdb_movie_set_certification (MvsTmdbMovie *self,
+ const gchar *certification)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->certification, certification);
+}
- return TRUE;
+const gchar*
+mvs_tmdb_movie_get_certification (MvsTmdbMovie *self)
+{
+ return self->priv->certification;
}
gboolean
-mvs_tmdb_movie_set_director (MvsTmdbMovie *self, const gchar *director)
+mvs_tmdb_movie_set_id (MvsTmdbMovie *self, const gchar *id)
{
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->id, id);
+}
- g_free (self->priv->director);
+const gchar*
+mvs_tmdb_movie_get_id (MvsTmdbMovie *self)
+{
+ return self->priv->id;
+}
- self->priv->director = g_strdup (director);
+gboolean
+mvs_tmdb_movie_set_images (MvsTmdbMovie *self, const gchar *images)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->images, images);
+}
- return TRUE;
+const gchar*
+mvs_tmdb_movie_get_images (MvsTmdbMovie *self)
+{
+ return self->priv->images;
}
gboolean
-mvs_tmdb_movie_set_cast (MvsTmdbMovie *self, const gchar *cast)
+mvs_tmdb_movie_set_imdb_id (MvsTmdbMovie *self, const gchar *imdb_id)
{
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->imdb_id, imdb_id);
+}
- g_free (self->priv->cast);
+const gchar*
+mvs_tmdb_movie_get_imdb_id (MvsTmdbMovie *self)
+{
+ return self->priv->imdb_id;
+}
- self->priv->cast = g_strdup (cast);
+gboolean
+mvs_tmdb_movie_set_language (MvsTmdbMovie *self, const gchar *language)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->language, language);
+}
- return TRUE;
+const gchar*
+mvs_tmdb_movie_get_language (MvsTmdbMovie *self)
+{
+ return self->priv->language;
}
gboolean
-mvs_tmdb_movie_set_ranking (MvsTmdbMovie *self, gfloat ranking)
+mvs_tmdb_movie_set_last_modified (MvsTmdbMovie *self,
+ const gchar *last_modified)
{
- g_return_val_if_fail (self, FALSE);
- g_return_val_if_fail (ranking < 10 && ranking > 0, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->last_modified, last_modified);
+}
+
+const gchar*
+mvs_tmdb_movie_get_last_movified (MvsTmdbMovie *self)
+{
+ return self->priv->last_modified;
+}
- self->priv->ranking = ranking;
+gboolean
+mvs_tmdb_movie_set_name (MvsTmdbMovie *self, const gchar *name)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->name, name);
+}
- return FALSE;
+const gchar*
+mvs_tmdb_movie_get_name (MvsTmdbMovie *self)
+{
+ return self->priv->name;
}
gboolean
-mvs_tmdb_movie_set_release_date (MvsTmdbMovie *self,
- const gchar *released)
+mvs_tmdb_movie_set_overview (MvsTmdbMovie *self, const gchar *overview)
{
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->overview, overview);
+}
- g_free (self->priv->release_date);
+const gchar*
+mvs_tmdb_movie_get_overview (MvsTmdbMovie *self)
+{
+ return self->priv->overview;
+}
- self->priv->release_date = g_strdup (released);
+gboolean
+mvs_tmdb_movie_set_popularity (MvsTmdbMovie *self, const gchar *popularity)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->popularity, popularity);
+}
- return TRUE;
+const gchar*
+mvs_tmdb_movie_get_popularity (MvsTmdbMovie *self)
+{
+ return self->priv->popularity;
}
+
gboolean
-mvs_tmdb_movie_set_overview (MvsTmdbMovie *self,
- const gchar *overview)
+mvs_tmdb_movie_set_rating (MvsTmdbMovie *self, const gchar *rating)
{
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->rating, rating);
+}
- g_free (self->priv->overview);
+const gchar*
+mvs_tmdb_movie_get_rating (MvsTmdbMovie *self)
+{
+ return self->priv->rating;
+}
- self->priv->overview = g_strdup (overview);
+gboolean
+mvs_tmdb_movie_set_released (MvsTmdbMovie *self, const gchar *released)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->released, released);
+}
- return TRUE;
+const gchar*
+mvs_tmdb_movie_get_released (MvsTmdbMovie *self)
+{
+ return self->priv->released;
}
gboolean
-mvs_tmdb_movie_set_url (MvsTmdbMovie *self, const gchar *url)
+mvs_tmdb_movie_set_score (MvsTmdbMovie *self, const gchar *score)
{
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->score, score);
+}
- g_free (self->priv->url);
+const gchar*
+mvs_tmdb_movie_get_score (MvsTmdbMovie *self)
+{
+ return self->priv->score;
+}
- self->priv->url = g_strdup (url);
+gboolean
+mvs_tmdb_movie_set_translated (MvsTmdbMovie *self, const gchar *translated)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->translated, translated);
+}
- return TRUE;
+const gchar*
+mvs_tmdb_movie_get_translated (MvsTmdbMovie *self)
+{
+ return self->priv->translated;
}
gboolean
-mvs_tmdb_movie_set_schedule (MvsTmdbMovie *self,
- const gchar *schedule)
+mvs_tmdb_movie_set_type (MvsTmdbMovie *self, const gchar *type)
{
- g_return_val_if_fail (self, FALSE);
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->type, type);
+}
+
+const gchar*
+mvs_tmdb_movie_get_source_type (MvsTmdbMovie *self)
+{
+ return self->priv->type;
+}
- g_free (self->priv->schedule);
+gboolean
+mvs_tmdb_movie_set_url (MvsTmdbMovie *self, const gchar *url)
+{
+ g_return_val_if_fail (MVS_TMDB_MOVIE (self), FALSE);
+ return set_property (&self->priv->url, url);
+}
- self->priv->schedule = g_strdup (schedule);
+const gchar*
+mvs_tmdb_movie_get_url (MvsTmdbMovie *self)
+{
+ return self->priv->url;
+}
- return TRUE;
+void
+mvs_tmdb_movie_print (MvsTmdbMovie *self)
+{
+ g_return_if_fail (MVS_IS_TMDB_MOVIE (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 ("[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);
+ g_print ("[Name]: %s\n", self->priv->name);
+ g_print ("[Overview]: %s\n", self->priv->overview);
+ g_print ("[Popularity]: %s\n", self->priv->popularity);
+ g_print ("[Rating]: %s\n", self->priv->rating);
+ g_print ("[Released]: %s\n", self->priv->released);
+ g_print ("[Score]: %s\n", self->priv->score);
+ g_print ("[Translated]: %s\n", self->priv->translated);
+ g_print ("[Type]: %s\n", self->priv->type);
+ g_print ("[URL]: %s\n", self->priv->url);
}