diff options
Diffstat (limited to 'gdata/services/youtube/gdata-youtube-query.c')
-rw-r--r-- | gdata/services/youtube/gdata-youtube-query.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/gdata/services/youtube/gdata-youtube-query.c b/gdata/services/youtube/gdata-youtube-query.c index 99ae9961..bb5cff15 100644 --- a/gdata/services/youtube/gdata-youtube-query.c +++ b/gdata/services/youtube/gdata-youtube-query.c @@ -87,7 +87,7 @@ enum { PROP_LICENSE, }; -G_DEFINE_TYPE (GDataYouTubeQuery, gdata_youtube_query, GDATA_TYPE_QUERY) +G_DEFINE_TYPE_WITH_PRIVATE (GDataYouTubeQuery, gdata_youtube_query, GDATA_TYPE_QUERY) static void gdata_youtube_query_class_init (GDataYouTubeQueryClass *klass) @@ -95,8 +95,6 @@ gdata_youtube_query_class_init (GDataYouTubeQueryClass *klass) GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GDataQueryClass *query_class = GDATA_QUERY_CLASS (klass); - g_type_class_add_private (klass, sizeof (GDataYouTubeQueryPrivate)); - gobject_class->set_property = gdata_youtube_query_set_property; gobject_class->get_property = gdata_youtube_query_get_property; gobject_class->finalize = gdata_youtube_query_finalize; @@ -351,7 +349,7 @@ gdata_youtube_query_class_init (GDataYouTubeQueryClass *klass) static void gdata_youtube_query_init (GDataYouTubeQuery *self) { - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GDATA_TYPE_YOUTUBE_QUERY, GDataYouTubeQueryPrivate); + self->priv = gdata_youtube_query_get_instance_private (self); self->priv->latitude = G_MAXDOUBLE; self->priv->longitude = G_MAXDOUBLE; @@ -574,22 +572,20 @@ get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboo if (priv->age != GDATA_YOUTUBE_AGE_ALL_TIME) { gchar *after; - GTimeVal tv = { 0, }; - - g_get_current_time (&tv); + GDateTime *tv, *tv2; - /* Squash the microseconds; they’re not useful. */ - tv.tv_usec = 0; + /* don't use g_date_time_new_now_utc (squash microseconds) */ + tv2 = g_date_time_new_from_unix_utc (g_get_real_time () / G_USEC_PER_SEC); switch (priv->age) { case GDATA_YOUTUBE_AGE_TODAY: - tv.tv_sec -= 24 * 60 * 60; + tv = g_date_time_add_days (tv2, -1); break; case GDATA_YOUTUBE_AGE_THIS_WEEK: - tv.tv_sec -= 7 * 24 * 60 * 60; + tv = g_date_time_add_weeks (tv2, -1); break; case GDATA_YOUTUBE_AGE_THIS_MONTH: - tv.tv_sec -= 31 * 24 * 60 * 60; + tv = g_date_time_add_months (tv2, -1); break; case GDATA_YOUTUBE_AGE_ALL_TIME: default: @@ -598,9 +594,11 @@ get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboo APPEND_SEP - after = g_time_val_to_iso8601 (&tv); + after = g_date_time_format_iso8601 (tv); g_string_append_printf (query_uri, "publishedAfter=%s", after); g_free (after); + g_date_time_unref (tv); + g_date_time_unref (tv2); } /* We don’t need to use APPEND_SEP below here, as this parameter is |